diff options
Diffstat (limited to 'apps/files_trashbin')
247 files changed, 3230 insertions, 3452 deletions
diff --git a/apps/files_trashbin/appinfo/info.xml b/apps/files_trashbin/appinfo/info.xml index 01b87efc914..751390239ae 100644 --- a/apps/files_trashbin/appinfo/info.xml +++ b/apps/files_trashbin/appinfo/info.xml @@ -14,7 +14,7 @@ This application enables people to restore files that were deleted from the syst To prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation. </description> - <version>1.20.1</version> + <version>1.22.0</version> <licence>agpl</licence> <author>Bjoern Schiessle</author> <namespace>Files_Trashbin</namespace> @@ -28,7 +28,7 @@ To prevent an account from running out of disk space, the Deleted files app will <category>files</category> <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_trashbin/composer/composer/autoload_classmap.php b/apps/files_trashbin/composer/composer/autoload_classmap.php index 052063d3550..23e2e7baff6 100644 --- a/apps/files_trashbin/composer/composer/autoload_classmap.php +++ b/apps/files_trashbin/composer/composer/autoload_classmap.php @@ -22,7 +22,8 @@ return array( 'OCA\\Files_Trashbin\\Exceptions\\CopyRecursiveException' => $baseDir . '/../lib/Exceptions/CopyRecursiveException.php', 'OCA\\Files_Trashbin\\Expiration' => $baseDir . '/../lib/Expiration.php', 'OCA\\Files_Trashbin\\Helper' => $baseDir . '/../lib/Helper.php', - 'OCA\\Files_Trashbin\\Hooks' => $baseDir . '/../lib/Hooks.php', + 'OCA\\Files_Trashbin\\Listener\\EventListener' => $baseDir . '/../lib/Listener/EventListener.php', + 'OCA\\Files_Trashbin\\Listeners\\BeforeTemplateRendered' => $baseDir . '/../lib/Listeners/BeforeTemplateRendered.php', 'OCA\\Files_Trashbin\\Listeners\\LoadAdditionalScripts' => $baseDir . '/../lib/Listeners/LoadAdditionalScripts.php', 'OCA\\Files_Trashbin\\Listeners\\SyncLivePhotosListener' => $baseDir . '/../lib/Listeners/SyncLivePhotosListener.php', 'OCA\\Files_Trashbin\\Migration\\Version1010Date20200630192639' => $baseDir . '/../lib/Migration/Version1010Date20200630192639.php', @@ -40,6 +41,7 @@ return array( 'OCA\\Files_Trashbin\\Sabre\\TrashHome' => $baseDir . '/../lib/Sabre/TrashHome.php', 'OCA\\Files_Trashbin\\Sabre\\TrashRoot' => $baseDir . '/../lib/Sabre/TrashRoot.php', 'OCA\\Files_Trashbin\\Sabre\\TrashbinPlugin' => $baseDir . '/../lib/Sabre/TrashbinPlugin.php', + 'OCA\\Files_Trashbin\\Service\\ConfigService' => $baseDir . '/../lib/Service/ConfigService.php', 'OCA\\Files_Trashbin\\Storage' => $baseDir . '/../lib/Storage.php', 'OCA\\Files_Trashbin\\Trash\\BackendNotFoundException' => $baseDir . '/../lib/Trash/BackendNotFoundException.php', 'OCA\\Files_Trashbin\\Trash\\ITrashBackend' => $baseDir . '/../lib/Trash/ITrashBackend.php', diff --git a/apps/files_trashbin/composer/composer/autoload_static.php b/apps/files_trashbin/composer/composer/autoload_static.php index 4f5227b8889..fc604299261 100644 --- a/apps/files_trashbin/composer/composer/autoload_static.php +++ b/apps/files_trashbin/composer/composer/autoload_static.php @@ -37,7 +37,8 @@ class ComposerStaticInitFiles_Trashbin 'OCA\\Files_Trashbin\\Exceptions\\CopyRecursiveException' => __DIR__ . '/..' . '/../lib/Exceptions/CopyRecursiveException.php', 'OCA\\Files_Trashbin\\Expiration' => __DIR__ . '/..' . '/../lib/Expiration.php', 'OCA\\Files_Trashbin\\Helper' => __DIR__ . '/..' . '/../lib/Helper.php', - 'OCA\\Files_Trashbin\\Hooks' => __DIR__ . '/..' . '/../lib/Hooks.php', + 'OCA\\Files_Trashbin\\Listener\\EventListener' => __DIR__ . '/..' . '/../lib/Listener/EventListener.php', + 'OCA\\Files_Trashbin\\Listeners\\BeforeTemplateRendered' => __DIR__ . '/..' . '/../lib/Listeners/BeforeTemplateRendered.php', 'OCA\\Files_Trashbin\\Listeners\\LoadAdditionalScripts' => __DIR__ . '/..' . '/../lib/Listeners/LoadAdditionalScripts.php', 'OCA\\Files_Trashbin\\Listeners\\SyncLivePhotosListener' => __DIR__ . '/..' . '/../lib/Listeners/SyncLivePhotosListener.php', 'OCA\\Files_Trashbin\\Migration\\Version1010Date20200630192639' => __DIR__ . '/..' . '/../lib/Migration/Version1010Date20200630192639.php', @@ -55,6 +56,7 @@ class ComposerStaticInitFiles_Trashbin 'OCA\\Files_Trashbin\\Sabre\\TrashHome' => __DIR__ . '/..' . '/../lib/Sabre/TrashHome.php', 'OCA\\Files_Trashbin\\Sabre\\TrashRoot' => __DIR__ . '/..' . '/../lib/Sabre/TrashRoot.php', 'OCA\\Files_Trashbin\\Sabre\\TrashbinPlugin' => __DIR__ . '/..' . '/../lib/Sabre/TrashbinPlugin.php', + 'OCA\\Files_Trashbin\\Service\\ConfigService' => __DIR__ . '/..' . '/../lib/Service/ConfigService.php', 'OCA\\Files_Trashbin\\Storage' => __DIR__ . '/..' . '/../lib/Storage.php', 'OCA\\Files_Trashbin\\Trash\\BackendNotFoundException' => __DIR__ . '/..' . '/../lib/Trash/BackendNotFoundException.php', 'OCA\\Files_Trashbin\\Trash\\ITrashBackend' => __DIR__ . '/..' . '/../lib/Trash/ITrashBackend.php', diff --git a/apps/files_trashbin/img/app-dark.svg b/apps/files_trashbin/img/app-dark.svg index c9c1902835e..c55a297872f 100644 --- a/apps/files_trashbin/img/app-dark.svg +++ b/apps/files_trashbin/img/app-dark.svg @@ -1 +1 @@ -<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M7 21c-.55 0-1.021-.196-1.412-.587A1.927 1.927 0 0 1 5 19V6H4V4h5V3h6v1h5v2h-1v13a1.93 1.93 0 0 1-.587 1.413A1.93 1.93 0 0 1 17 21H7Zm2-4h2V8H9v9Zm4 0h2V8h-2v9Z" style="fill-rule:nonzero" transform="matrix(.77778 0 0 .77778 -1.311 -1.333)"/></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px"><path d="M312-144q-29.7 0-50.85-21.15Q240-186.3 240-216v-480h-48v-72h192v-48h192v48h192v72h-48v479.57Q720-186 698.85-165T648-144H312Zm72-144h72v-336h-72v336Zm120 0h72v-336h-72v336Z"/></svg>
\ No newline at end of file diff --git a/apps/files_trashbin/img/app.svg b/apps/files_trashbin/img/app.svg index 7c56b234cb6..806234373c7 100644 --- a/apps/files_trashbin/img/app.svg +++ b/apps/files_trashbin/img/app.svg @@ -1 +1 @@ -<svg viewBox="0 0 16 16" width="16" height="16" xmlns="http://www.w3.org/2000/svg" xml:space="preserve" style="fill-rule:evenodd;clip-rule:evenodd;stroke-linejoin:round;stroke-miterlimit:2"><path d="M7 21c-.55 0-1.021-.196-1.412-.587A1.927 1.927 0 0 1 5 19V6H4V4h5V3h6v1h5v2h-1v13a1.93 1.93 0 0 1-.587 1.413A1.93 1.93 0 0 1 17 21H7Zm2-4h2V8H9v9Zm4 0h2V8h-2v9Z" style="fill:#fff;fill-rule:nonzero" transform="matrix(.77778 0 0 .77778 -1.311 -1.333)"/></svg>
\ No newline at end of file +<svg xmlns="http://www.w3.org/2000/svg" height="20px" viewBox="0 -960 960 960" width="20px" fill="#fff"><path d="M312-144q-29.7 0-50.85-21.15Q240-186.3 240-216v-480h-48v-72h192v-48h192v48h192v72h-48v479.57Q720-186 698.85-165T648-144H312Zm72-144h72v-336h-72v336Zm120 0h72v-336h-72v336Z"/></svg>
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/af.js b/apps/files_trashbin/l10n/af.js deleted file mode 100644 index dbc81dd6dcf..00000000000 --- a/apps/files_trashbin/l10n/af.js +++ /dev/null @@ -1,15 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "herstel", - "Deleted files" : "Geskrapte lêers", - "Restore" : "Herstel", - "No deleted files" : "Geen geskrapte lêers", - "Deleted" : "Geskrap", - "You will be able to recover deleted files from here" : "U sal geskrapte lêers van hier kan herstel", - "No entries found in this folder" : "Geen inskrwyings in hierdie vouer gevind", - "Select all" : "Kies alle", - "Name" : "Naam", - "Actions" : "Aksies" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/af.json b/apps/files_trashbin/l10n/af.json deleted file mode 100644 index 04a7f433920..00000000000 --- a/apps/files_trashbin/l10n/af.json +++ /dev/null @@ -1,13 +0,0 @@ -{ "translations": { - "restored" : "herstel", - "Deleted files" : "Geskrapte lêers", - "Restore" : "Herstel", - "No deleted files" : "Geen geskrapte lêers", - "Deleted" : "Geskrap", - "You will be able to recover deleted files from here" : "U sal geskrapte lêers van hier kan herstel", - "No entries found in this folder" : "Geen inskrwyings in hierdie vouer gevind", - "Select all" : "Kies alle", - "Name" : "Naam", - "Actions" : "Aksies" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ar.js b/apps/files_trashbin/l10n/ar.js index 3943cf954fc..fd66b006974 100644 --- a/apps/files_trashbin/l10n/ar.js +++ b/apps/files_trashbin/l10n/ar.js @@ -7,22 +7,20 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "يُمكِّن هذا التطبيق المستخدِم من استعادة الملفات التي سبق حذفها من النظام.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "يُمكِّن هذا التطبيق المستخدمين من استعادة الملفات التي سبق حذفها من النظام. يعرض التطبيق قائمة بالملفات المحذوفة في واجهة الويب؛ كما يعرض خيارات لاستعادة تلك الملفات المحذوفة مرة أخرى إلى أدلة ملفات الأشخاص أو إزالتها نهائياً من النظام. إذا كان تطبيق إدارة نُسخ الملفات مُمكّناً، ستؤدي استعادة الملف إلى استعادة نُسَخ الملفات ذات الصلة به كذلك. عند حذف ملف من مشاركة، يمكن استعادته بنفس الطريقة على الرغم من أنه لم يعد مشتركًا. افتراضياً، تظل هذه الملفات في سلة المهملات لمدة 30 يومًا. لمنع نفاد مساحة القرص على الحساب، لن يستخدم تطبيق الملفات المحذوفة أكثر من 50% من الحصة المجانية المتوفرة حاليًا للملفات المحذوفة. إذا تجاوزت الملفات المحذوفة هذا الحد، يقوم التطبيق بحذف الملفات الأقدم فالأقدم حتى تصل إلى ما دون هذا الحد. للمزيد من المعلومات، أنظُر تويثق تطبيق الملفات المحذوفة.", "Restore" : "إستعادة", - "Unknown" : "غير معروف", - "All files" : "كل الملفات", - "You" : "أنتَ", + "Empty deleted files" : "تفريغ الملفات المحذوفة", + "Confirm permanent deletion" : "تأكيد الحذف النهائي", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "هل أنت متأكد من أنك تريد حذف جميع الملفات و المجلدات من سلة المهملات؟ هذا الإجراء نهائي و لايمكن التراجع عنه فيما بعد.", + "Cancel" : "إلغاء", "Original location" : "الموقع الأصلي", "Deleted by" : "محذوف من قِبَل", "Deleted" : "محذوفة", "A long time ago" : "منذ وقت طويل", + "Unknown" : "غير معروف", + "All files" : "كل الملفات", + "You" : "أنت", "List of files that have been deleted." : "قائمة بجميع الملفات المحذوفة", "No deleted files" : "لا توجد ملفات محذوفة", - "Files and folders you have deleted will show up here" : "الملفات و المجلدات التي قُمتَ أنت بحذفها ستظهر هنا", - "This application enables users to restore files that were deleted from the system." : "هذا التطبيق يُمكّن المستخدمين من استعادة الملفات التي قاموا بحذفها من النظام.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "هذا التطبيق يُمكّن المستخدمين من استعادة الملفات التي قاموا بحذفها من النظام. يقوم التطبيق بعرض الملفات و المجلدات المحذوفة على المستخدم و يسمح له باختيار إمّا استعادتها إلى موقعها الأصلي أو حذفها من النظام نهائيّاً. إستعادة الملف تعني استعادة جميع نسخه. عند حذف ملف من مشاركة فإنه يمكن استعادته بنفس الكيفية بالرغم من انتهاء المشاركة. مع العلم أن هذه الملفات تبقى في سلة المحذوفات لمدة 30 يوماً ما لم يُعيّن غير ذلك.\nلتجنب نفاذ الحصة التخزينية للمستخدم، لا يسمح النظام بإشغال أكثر من 50% من حصته.. بمحتويات سلة محذوفاته. إذا وصل حجم السلة إلى هذا الحد، يقوم النظام بحذف الملفات الأقدم فالأقدم حتى يصل الحجم المتاح من الحصة إلى 50% على الأقل. للمزيد، أنظر: توثيق المفات المحذوفة Deleted Files.\n ", - "You will be able to recover deleted files from here" : "يُمكنك استعادة الملفات المحذوفة من هنا", - "No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ", - "Select all" : "تحديد الكل ", - "Name" : "اسم", - "Actions" : "الإجراءات" + "Files and folders you have deleted will show up here" : "الملفات و المجلدات التي قمت بحذفها ستظهر هنا", + "Deletion cancelled" : "تمّ إلغاء الحذف" }, "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_trashbin/l10n/ar.json b/apps/files_trashbin/l10n/ar.json index c5d2a6d86f2..eaa35ea7251 100644 --- a/apps/files_trashbin/l10n/ar.json +++ b/apps/files_trashbin/l10n/ar.json @@ -5,22 +5,20 @@ "This application enables people to restore files that were deleted from the system." : "يُمكِّن هذا التطبيق المستخدِم من استعادة الملفات التي سبق حذفها من النظام.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "يُمكِّن هذا التطبيق المستخدمين من استعادة الملفات التي سبق حذفها من النظام. يعرض التطبيق قائمة بالملفات المحذوفة في واجهة الويب؛ كما يعرض خيارات لاستعادة تلك الملفات المحذوفة مرة أخرى إلى أدلة ملفات الأشخاص أو إزالتها نهائياً من النظام. إذا كان تطبيق إدارة نُسخ الملفات مُمكّناً، ستؤدي استعادة الملف إلى استعادة نُسَخ الملفات ذات الصلة به كذلك. عند حذف ملف من مشاركة، يمكن استعادته بنفس الطريقة على الرغم من أنه لم يعد مشتركًا. افتراضياً، تظل هذه الملفات في سلة المهملات لمدة 30 يومًا. لمنع نفاد مساحة القرص على الحساب، لن يستخدم تطبيق الملفات المحذوفة أكثر من 50% من الحصة المجانية المتوفرة حاليًا للملفات المحذوفة. إذا تجاوزت الملفات المحذوفة هذا الحد، يقوم التطبيق بحذف الملفات الأقدم فالأقدم حتى تصل إلى ما دون هذا الحد. للمزيد من المعلومات، أنظُر تويثق تطبيق الملفات المحذوفة.", "Restore" : "إستعادة", - "Unknown" : "غير معروف", - "All files" : "كل الملفات", - "You" : "أنتَ", + "Empty deleted files" : "تفريغ الملفات المحذوفة", + "Confirm permanent deletion" : "تأكيد الحذف النهائي", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "هل أنت متأكد من أنك تريد حذف جميع الملفات و المجلدات من سلة المهملات؟ هذا الإجراء نهائي و لايمكن التراجع عنه فيما بعد.", + "Cancel" : "إلغاء", "Original location" : "الموقع الأصلي", "Deleted by" : "محذوف من قِبَل", "Deleted" : "محذوفة", "A long time ago" : "منذ وقت طويل", + "Unknown" : "غير معروف", + "All files" : "كل الملفات", + "You" : "أنت", "List of files that have been deleted." : "قائمة بجميع الملفات المحذوفة", "No deleted files" : "لا توجد ملفات محذوفة", - "Files and folders you have deleted will show up here" : "الملفات و المجلدات التي قُمتَ أنت بحذفها ستظهر هنا", - "This application enables users to restore files that were deleted from the system." : "هذا التطبيق يُمكّن المستخدمين من استعادة الملفات التي قاموا بحذفها من النظام.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "هذا التطبيق يُمكّن المستخدمين من استعادة الملفات التي قاموا بحذفها من النظام. يقوم التطبيق بعرض الملفات و المجلدات المحذوفة على المستخدم و يسمح له باختيار إمّا استعادتها إلى موقعها الأصلي أو حذفها من النظام نهائيّاً. إستعادة الملف تعني استعادة جميع نسخه. عند حذف ملف من مشاركة فإنه يمكن استعادته بنفس الكيفية بالرغم من انتهاء المشاركة. مع العلم أن هذه الملفات تبقى في سلة المحذوفات لمدة 30 يوماً ما لم يُعيّن غير ذلك.\nلتجنب نفاذ الحصة التخزينية للمستخدم، لا يسمح النظام بإشغال أكثر من 50% من حصته.. بمحتويات سلة محذوفاته. إذا وصل حجم السلة إلى هذا الحد، يقوم النظام بحذف الملفات الأقدم فالأقدم حتى يصل الحجم المتاح من الحصة إلى 50% على الأقل. للمزيد، أنظر: توثيق المفات المحذوفة Deleted Files.\n ", - "You will be able to recover deleted files from here" : "يُمكنك استعادة الملفات المحذوفة من هنا", - "No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ", - "Select all" : "تحديد الكل ", - "Name" : "اسم", - "Actions" : "الإجراءات" + "Files and folders you have deleted will show up here" : "الملفات و المجلدات التي قمت بحذفها ستظهر هنا", + "Deletion cancelled" : "تمّ إلغاء الحذف" },"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_trashbin/l10n/ast.js b/apps/files_trashbin/l10n/ast.js index dff278918e2..47fd1eb4fcc 100644 --- a/apps/files_trashbin/l10n/ast.js +++ b/apps/files_trashbin/l10n/ast.js @@ -7,21 +7,16 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar los ficheros que se desaniciaren nel sistema.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar los ficheros que se desaniciaren nel sistema. Amuesa una llista de ficheros desaniciaos na interfaz web y tien opciones pa restaurar esos ficheros a los direutorios de los usuarios o desanicialos permanentemente. Restaurar un ficheru tamién restaura les versiones de los ficheros rellacionaos si s'activó l'aplicación de versiones. Cuando se desanicia'l ficheru d'una compartición, pue restaurase del mesmu mou, magar que yá nun se comparta. Por defeutu, esto ficheros queden na papelera demientres 30 díes.\nPa evitar pa que les cuentes escosen l'espaciu, l'aplicación de ficheros desaniciaos nun va usar más del 50% espaciu llibre disponible pa los ficheros desaniciaos. Si los ficheros desaniciaos superen esta llende, l'aplicación desanicia los ficheros más antiguos hasta que se dexe de superar. Hai más información disponible na documentación de Ficheros Desaniciaos.", "Restore" : "Restaurar", - "Unknown" : "Desconocíu", - "All files" : "Tolos ficheros", - "You" : "Tu", + "Cancel" : "Encaboxar", "Original location" : "Llocalización orixinal", "Deleted" : "Desanicióse", "A long time ago" : "Hai cuantayá", + "Unknown" : "Desconocíu", + "All files" : "Tolos ficheros", + "You" : "Tu", "List of files that have been deleted." : "Una llista de ficheros que se desaniciaron.", "No deleted files" : "Nun hai nengún ficheros desnaiciáu", "Files and folders you have deleted will show up here" : "Equí apaecen los ficheros y les carpetes que desaniciares", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar ficheros que se desaniciaren del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar los ficheros que se desaniciaren nel sistema. Amuesa una llista de ficheros desaniciaos na interfaz web y tien opciones pa restaurar esos ficheros a los direutorios de los usuarios o desanicialos permanentemente. Restaurar un ficheru tamién restaura les versiones de los ficheros rellacionaos si s'activó l'aplicación de versiones. Cuando se desanicia'l ficheru d'una compartición, pue restaurase del mesmu mou, magar que yá nun se comparta. Por defeutu, esto ficheros queden na papelera demientres 30 díes.\nPa evitar pa que les cuentes escosen l'espaciu, l'aplicación de ficheros desaniciaos nun va usar más del 50% espaciu llibre disponible pa los ficheros desaniciaos. Si los ficheros desaniciaos superen esta llende, l'aplicación desanicia los ficheros más antiguos hasta que se dexe de superar. Hai más información disponible na documentación de Ficheros Desaniciaos.", - "You will be able to recover deleted files from here" : "Dende equí vas ser a recuperar los ficheros desaniciaos", - "No entries found in this folder" : "Nun s'atopó nenguna entrada nesta carpeta", - "Select all" : "Seleicionar too", - "Name" : "Nome", - "Actions" : "Aiciones" + "Deletion cancelled" : "Anulóse'l desaniciu" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/ast.json b/apps/files_trashbin/l10n/ast.json index fcad77e5003..a8d631daff2 100644 --- a/apps/files_trashbin/l10n/ast.json +++ b/apps/files_trashbin/l10n/ast.json @@ -5,21 +5,16 @@ "This application enables people to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar los ficheros que se desaniciaren nel sistema.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar los ficheros que se desaniciaren nel sistema. Amuesa una llista de ficheros desaniciaos na interfaz web y tien opciones pa restaurar esos ficheros a los direutorios de los usuarios o desanicialos permanentemente. Restaurar un ficheru tamién restaura les versiones de los ficheros rellacionaos si s'activó l'aplicación de versiones. Cuando se desanicia'l ficheru d'una compartición, pue restaurase del mesmu mou, magar que yá nun se comparta. Por defeutu, esto ficheros queden na papelera demientres 30 díes.\nPa evitar pa que les cuentes escosen l'espaciu, l'aplicación de ficheros desaniciaos nun va usar más del 50% espaciu llibre disponible pa los ficheros desaniciaos. Si los ficheros desaniciaos superen esta llende, l'aplicación desanicia los ficheros más antiguos hasta que se dexe de superar. Hai más información disponible na documentación de Ficheros Desaniciaos.", "Restore" : "Restaurar", - "Unknown" : "Desconocíu", - "All files" : "Tolos ficheros", - "You" : "Tu", + "Cancel" : "Encaboxar", "Original location" : "Llocalización orixinal", "Deleted" : "Desanicióse", "A long time ago" : "Hai cuantayá", + "Unknown" : "Desconocíu", + "All files" : "Tolos ficheros", + "You" : "Tu", "List of files that have been deleted." : "Una llista de ficheros que se desaniciaron.", "No deleted files" : "Nun hai nengún ficheros desnaiciáu", "Files and folders you have deleted will show up here" : "Equí apaecen los ficheros y les carpetes que desaniciares", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar ficheros que se desaniciaren del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar los ficheros que se desaniciaren nel sistema. Amuesa una llista de ficheros desaniciaos na interfaz web y tien opciones pa restaurar esos ficheros a los direutorios de los usuarios o desanicialos permanentemente. Restaurar un ficheru tamién restaura les versiones de los ficheros rellacionaos si s'activó l'aplicación de versiones. Cuando se desanicia'l ficheru d'una compartición, pue restaurase del mesmu mou, magar que yá nun se comparta. Por defeutu, esto ficheros queden na papelera demientres 30 díes.\nPa evitar pa que les cuentes escosen l'espaciu, l'aplicación de ficheros desaniciaos nun va usar más del 50% espaciu llibre disponible pa los ficheros desaniciaos. Si los ficheros desaniciaos superen esta llende, l'aplicación desanicia los ficheros más antiguos hasta que se dexe de superar. Hai más información disponible na documentación de Ficheros Desaniciaos.", - "You will be able to recover deleted files from here" : "Dende equí vas ser a recuperar los ficheros desaniciaos", - "No entries found in this folder" : "Nun s'atopó nenguna entrada nesta carpeta", - "Select all" : "Seleicionar too", - "Name" : "Nome", - "Actions" : "Aiciones" + "Deletion cancelled" : "Anulóse'l desaniciu" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/az.js b/apps/files_trashbin/l10n/az.js deleted file mode 100644 index c1ef01c8d15..00000000000 --- a/apps/files_trashbin/l10n/az.js +++ /dev/null @@ -1,16 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "geriqaytarılıb", - "Deleted files" : "Silinmiş fayllar", - "Restore" : "Geri qaytar", - "All files" : "Bütün fayllar", - "No deleted files" : "Silinmiş fayllar mövcud deyil", - "Deleted" : "Silinib", - "You will be able to recover deleted files from here" : "Siz silinmiş faylları burdan bərpa edə bilərsiniz", - "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı", - "Select all" : "Hamısıı seç", - "Name" : "Ad", - "Actions" : "İşlər" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/az.json b/apps/files_trashbin/l10n/az.json deleted file mode 100644 index f0bbd3e8fe8..00000000000 --- a/apps/files_trashbin/l10n/az.json +++ /dev/null @@ -1,14 +0,0 @@ -{ "translations": { - "restored" : "geriqaytarılıb", - "Deleted files" : "Silinmiş fayllar", - "Restore" : "Geri qaytar", - "All files" : "Bütün fayllar", - "No deleted files" : "Silinmiş fayllar mövcud deyil", - "Deleted" : "Silinib", - "You will be able to recover deleted files from here" : "Siz silinmiş faylları burdan bərpa edə bilərsiniz", - "No entries found in this folder" : "Bu qovluqda heç bir verilən tapılmadı", - "Select all" : "Hamısıı seç", - "Name" : "Ad", - "Actions" : "İşlər" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/be.js b/apps/files_trashbin/l10n/be.js index c72c72bbe91..c3fbbcb2a8b 100644 --- a/apps/files_trashbin/l10n/be.js +++ b/apps/files_trashbin/l10n/be.js @@ -1,6 +1,28 @@ OC.L10N.register( "files_trashbin", { - "Error" : "Памылка" + "restored" : "адноўлены", + "Deleted files" : "Выдаленыя файлы", + "This application enables people to restore files that were deleted from the system." : "Гэта праграма дазваляе карыстальнікам аднавіць файлы, якія былі выдалены з сістэмы.", + "Restore" : "Аднавіць", + "Not enough free space to restore the file/folder" : "Недастаткова вольнай прасторы, каб аднавіць файл/папку", + "Empty deleted files" : "Ачысціць выдаленыя файлы", + "Confirm permanent deletion" : "Пацвердзіце выдаленне назаўжды", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Вы ўпэўнены, што хочаце назаўжды выдаліць усе файлы і папкі ў сметніцы? Гэта дзеянне нельга адрабіць.", + "Cancel" : "Скасаваць", + "Original location" : "Зыходнае размяшчэнне", + "Deleted by" : "Выдалены карыстальнікам ", + "Deleted" : "Выдалены", + "few seconds ago" : "некалькі секунд таму", + "A long time ago" : "Вельмі даўно", + "Unknown" : "Невядомы", + "All files" : "Усе файлы", + "You" : "Вы", + "List of files that have been deleted." : "Спіс выдаленых файлаў.", + "No deleted files" : "Няма выдаленых файлаў", + "Files and folders you have deleted will show up here" : "Тут будуць адлюстроўвацца выдаленыя вамі файлы і папкі", + "All files have been permanently deleted" : "Усе файлы былі выдалены назаўжды", + "Failed to empty deleted files" : "Не атрымалася ачысціць выдаленыя файлы", + "Deletion cancelled" : "Выдаленне скасавана" }, "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_trashbin/l10n/be.json b/apps/files_trashbin/l10n/be.json index a2514254e13..538b0a1eb26 100644 --- a/apps/files_trashbin/l10n/be.json +++ b/apps/files_trashbin/l10n/be.json @@ -1,4 +1,26 @@ { "translations": { - "Error" : "Памылка" + "restored" : "адноўлены", + "Deleted files" : "Выдаленыя файлы", + "This application enables people to restore files that were deleted from the system." : "Гэта праграма дазваляе карыстальнікам аднавіць файлы, якія былі выдалены з сістэмы.", + "Restore" : "Аднавіць", + "Not enough free space to restore the file/folder" : "Недастаткова вольнай прасторы, каб аднавіць файл/папку", + "Empty deleted files" : "Ачысціць выдаленыя файлы", + "Confirm permanent deletion" : "Пацвердзіце выдаленне назаўжды", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Вы ўпэўнены, што хочаце назаўжды выдаліць усе файлы і папкі ў сметніцы? Гэта дзеянне нельга адрабіць.", + "Cancel" : "Скасаваць", + "Original location" : "Зыходнае размяшчэнне", + "Deleted by" : "Выдалены карыстальнікам ", + "Deleted" : "Выдалены", + "few seconds ago" : "некалькі секунд таму", + "A long time ago" : "Вельмі даўно", + "Unknown" : "Невядомы", + "All files" : "Усе файлы", + "You" : "Вы", + "List of files that have been deleted." : "Спіс выдаленых файлаў.", + "No deleted files" : "Няма выдаленых файлаў", + "Files and folders you have deleted will show up here" : "Тут будуць адлюстроўвацца выдаленыя вамі файлы і папкі", + "All files have been permanently deleted" : "Усе файлы былі выдалены назаўжды", + "Failed to empty deleted files" : "Не атрымалася ачысціць выдаленыя файлы", + "Deletion cancelled" : "Выдаленне скасавана" },"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_trashbin/l10n/bg.js b/apps/files_trashbin/l10n/bg.js deleted file mode 100644 index 2b97a67adbe..00000000000 --- a/apps/files_trashbin/l10n/bg.js +++ /dev/null @@ -1,21 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "възстановено", - "Deleted files" : "Изтрити файлове", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Изтрити файлове и папки в кошчето (може да изтекът по време на експортиране, ако нямате място във вашето хранилище)", - "Restore" : "Възстановяне", - "Unknown" : "Неизвестен", - "All files" : "Всички файлове", - "Deleted" : "Изтрито", - "List of files that have been deleted." : "Списък на файловете, които са били изтрити.", - "No deleted files" : "Няма изтрити файлове", - "This application enables users to restore files that were deleted from the system." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата. Той показва списък с изтрити файлове в уеб интерфейса и има опции за възстановяване на тези изтрити файлове обратно в потребителските файлови директории или за постоянно премахване от системата. Възстановяването на файл също възстановява свързаните версии на файла, ако приложението за версии е активирано. Когато даден файл бъде изтрит от споделяне, той може да бъде възстановен по същия начин, макар че вече не е споделен. По подразбиране тези файлове остават в кошчето за 30 дни.\nЗа да предотврати изчерпването на дисково пространство на потребителя, приложението „Изтрити файлове“ няма да използва повече от 50% от наличната в момента безплатна квота за изтрити файлове. Ако изтритите файлове надхвърлят това ограничение, приложението изтрива най-старите файлове, докато стигне под това ограничение. Повече информация можете да намерите в документацията за изтритите файлове.", - "You will be able to recover deleted files from here" : "От тук можете да възстановите изтрити файлове", - "No entries found in this folder" : "Няма намерени записи в тази папка", - "Select all" : "Избери всички", - "Name" : "Име", - "Actions" : "Действия" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/bg.json b/apps/files_trashbin/l10n/bg.json deleted file mode 100644 index d351cf43e8d..00000000000 --- a/apps/files_trashbin/l10n/bg.json +++ /dev/null @@ -1,19 +0,0 @@ -{ "translations": { - "restored" : "възстановено", - "Deleted files" : "Изтрити файлове", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Изтрити файлове и папки в кошчето (може да изтекът по време на експортиране, ако нямате място във вашето хранилище)", - "Restore" : "Възстановяне", - "Unknown" : "Неизвестен", - "All files" : "Всички файлове", - "Deleted" : "Изтрито", - "List of files that have been deleted." : "Списък на файловете, които са били изтрити.", - "No deleted files" : "Няма изтрити файлове", - "This application enables users to restore files that were deleted from the system." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Това приложение позволява на потребителите да възстановяват файлове, които са изтрити от системата. Той показва списък с изтрити файлове в уеб интерфейса и има опции за възстановяване на тези изтрити файлове обратно в потребителските файлови директории или за постоянно премахване от системата. Възстановяването на файл също възстановява свързаните версии на файла, ако приложението за версии е активирано. Когато даден файл бъде изтрит от споделяне, той може да бъде възстановен по същия начин, макар че вече не е споделен. По подразбиране тези файлове остават в кошчето за 30 дни.\nЗа да предотврати изчерпването на дисково пространство на потребителя, приложението „Изтрити файлове“ няма да използва повече от 50% от наличната в момента безплатна квота за изтрити файлове. Ако изтритите файлове надхвърлят това ограничение, приложението изтрива най-старите файлове, докато стигне под това ограничение. Повече информация можете да намерите в документацията за изтритите файлове.", - "You will be able to recover deleted files from here" : "От тук можете да възстановите изтрити файлове", - "No entries found in this folder" : "Няма намерени записи в тази папка", - "Select all" : "Избери всички", - "Name" : "Име", - "Actions" : "Действия" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/bn_BD.js b/apps/files_trashbin/l10n/bn_BD.js deleted file mode 100644 index 12537a14afb..00000000000 --- a/apps/files_trashbin/l10n/bn_BD.js +++ /dev/null @@ -1,14 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't delete %s permanently" : "%s স্থায়ীভাবে মুছে ফেলা গেলনা", - "Couldn't restore %s" : "%s ফেরত আনা গেলনা", - "Deleted files" : "মুছে ফেলা ফাইলসমূহ", - "Restore" : "ফিরিয়ে দাও", - "Delete" : "মুছে", - "Error" : "সমস্যা", - "restored" : "পূণঃসংরক্ষিত", - "Name" : "নাম", - "Deleted" : "মুছে ফেলা" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/bn_BD.json b/apps/files_trashbin/l10n/bn_BD.json deleted file mode 100644 index 3630d490455..00000000000 --- a/apps/files_trashbin/l10n/bn_BD.json +++ /dev/null @@ -1,12 +0,0 @@ -{ "translations": { - "Couldn't delete %s permanently" : "%s স্থায়ীভাবে মুছে ফেলা গেলনা", - "Couldn't restore %s" : "%s ফেরত আনা গেলনা", - "Deleted files" : "মুছে ফেলা ফাইলসমূহ", - "Restore" : "ফিরিয়ে দাও", - "Delete" : "মুছে", - "Error" : "সমস্যা", - "restored" : "পূণঃসংরক্ষিত", - "Name" : "নাম", - "Deleted" : "মুছে ফেলা" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/br.js b/apps/files_trashbin/l10n/br.js deleted file mode 100644 index 9225f2a8fcd..00000000000 --- a/apps/files_trashbin/l10n/br.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "adkrouet", - "Deleted files" : "Restroù diverket", - "Restore" : "Adkrouiñ", - "Unknown" : "Dianv", - "All files" : "An holl restroù", - "Deleted" : "Lamet", - "No deleted files" : "Restr lemet ebet", - "This application enables users to restore files that were deleted from the system." : "Ar meziant-mañ a aotre an implijourienn da adtapout ho restroù a oa bet lamet eus ar sistem.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ar meziant-mañ a aotre an implijourienn da adkroui ar restroù a zo bet lamet eus ar sistem. Lak a ra da gwelet ur roll restroù lamet en etrefas web, ha dibaboù adkrouiñ ar restroù lamet en teuliadoù an implijer pe lemel anezho da viken eus ar sistem. Adkrouiñ ar restr a adkrou ivez pep stumm restr liammet, ma ez eus eus ar stumm meziant. Pa e vez lamet ur restr eus ur rannadenn, posupl eo adkrouién anezhañ gant memes doare, mes n'eo ket rannet kenn. dre ziouer, chom a ra ar restroù e pad 30 deiz.\nEvit ampechiñ un implijer da gol plas, ar meziant restroù Lamet n'a implijo nemet 50% eus ar lec'h dieub evit ar restrom lamet. Ma vez tremenet ar vevenn gant ar restroù lamet, lamet e vo ar restroù kozhañ betek ma vint en dro dindan ar vevenn. Muioc'h a ditouroù en dielvadur Restroù Lamet.", - "You will be able to recover deleted files from here" : "Posupl a vo deoc'h adtapout restroù lamet diouzh al lec'h mañ", - "No entries found in this folder" : "Disoc'h ebet en teuliad-mañ", - "Select all" : "Dibab pep tra", - "Name" : "Anv", - "Actions" : "Oberoù" -}, -"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"); diff --git a/apps/files_trashbin/l10n/br.json b/apps/files_trashbin/l10n/br.json deleted file mode 100644 index 9e5231f1792..00000000000 --- a/apps/files_trashbin/l10n/br.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "restored" : "adkrouet", - "Deleted files" : "Restroù diverket", - "Restore" : "Adkrouiñ", - "Unknown" : "Dianv", - "All files" : "An holl restroù", - "Deleted" : "Lamet", - "No deleted files" : "Restr lemet ebet", - "This application enables users to restore files that were deleted from the system." : "Ar meziant-mañ a aotre an implijourienn da adtapout ho restroù a oa bet lamet eus ar sistem.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ar meziant-mañ a aotre an implijourienn da adkroui ar restroù a zo bet lamet eus ar sistem. Lak a ra da gwelet ur roll restroù lamet en etrefas web, ha dibaboù adkrouiñ ar restroù lamet en teuliadoù an implijer pe lemel anezho da viken eus ar sistem. Adkrouiñ ar restr a adkrou ivez pep stumm restr liammet, ma ez eus eus ar stumm meziant. Pa e vez lamet ur restr eus ur rannadenn, posupl eo adkrouién anezhañ gant memes doare, mes n'eo ket rannet kenn. dre ziouer, chom a ra ar restroù e pad 30 deiz.\nEvit ampechiñ un implijer da gol plas, ar meziant restroù Lamet n'a implijo nemet 50% eus ar lec'h dieub evit ar restrom lamet. Ma vez tremenet ar vevenn gant ar restroù lamet, lamet e vo ar restroù kozhañ betek ma vint en dro dindan ar vevenn. Muioc'h a ditouroù en dielvadur Restroù Lamet.", - "You will be able to recover deleted files from here" : "Posupl a vo deoc'h adtapout restroù lamet diouzh al lec'h mañ", - "No entries found in this folder" : "Disoc'h ebet en teuliad-mañ", - "Select all" : "Dibab pep tra", - "Name" : "Anv", - "Actions" : "Oberoù" -},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/bs.js b/apps/files_trashbin/l10n/bs.js deleted file mode 100644 index c02d88b07e4..00000000000 --- a/apps/files_trashbin/l10n/bs.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Restore" : "Obnovi", - "Delete" : "Izbriši", - "Error" : "Greška", - "Select all" : "Označi sve", - "Name" : "Ime" -}, -"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_trashbin/l10n/bs.json b/apps/files_trashbin/l10n/bs.json deleted file mode 100644 index 00f1105abc6..00000000000 --- a/apps/files_trashbin/l10n/bs.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "Restore" : "Obnovi", - "Delete" : "Izbriši", - "Error" : "Greška", - "Select all" : "Označi sve", - "Name" : "Ime" -},"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_trashbin/l10n/ca.js b/apps/files_trashbin/l10n/ca.js index bced1d5c2de..d23edb1e212 100644 --- a/apps/files_trashbin/l10n/ca.js +++ b/apps/files_trashbin/l10n/ca.js @@ -7,22 +7,20 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Aquesta aplicació permet a les persones restaurar fitxers que s'hagin suprimit del sistema.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aquesta aplicació permet a les persones restaurar fitxers que s'hagin suprimit del sistema. Mostra una llista de fitxers suprimits en la interfície web i té opcions per a restaurar els fitxers suprimits a les carpetes de les persones o eliminar-los de manera permanent del sistema. La restauració d'un fitxer també restaura les versions del fitxer relacionades si l'aplicació Versions està habilitada. Quan se suprimeix un fitxer d'un element compartir, es pot restaurar de la mateixa manera, però deixa d'estar compartit. Per defecte, aquests fitxers romanen a la paperera durant 30 dies.\nPer a evitar que un compte es quedi sense espai en el disc, l'aplicació Fitxers suprimits no utilitzarà més del 50% de l'emmagatzematge lliure disponible per als fitxers suprimits. Si els fitxers suprimits superen aquest límit, l'aplicació suprimirà els fitxers més antics fins que deixi de superar-se el límit. Podeu trobar més informació en la documentació de l'aplicació Fitxers suprimits.", "Restore" : "Restaura", - "Unknown" : "Desconegut", - "All files" : "Tots els fitxers", - "You" : "Vós", + "Empty deleted files" : "Buida els fitxers suprimits", + "Confirm permanent deletion" : "Confirmeu l'eliminació permanent", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Esteu segur que voleu suprimir permanentment tots els fitxers i carpetes de la paperera? Això no es pot desfer.", + "Cancel" : "Cancel·la", "Original location" : "Ubicació original", "Deleted by" : "Suprimit per", "Deleted" : "S'ha suprimit", "A long time ago" : "Fa molt de temps", + "Unknown" : "Desconegut", + "All files" : "Tots els fitxers", + "You" : "Vós", "List of files that have been deleted." : "Llista de fitxers que s'han suprimit.", "No deleted files" : "No hi ha cap fitxer suprimit", "Files and folders you have deleted will show up here" : "Els fitxers i les carpetes que suprimiu es mostraran aquí", - "This application enables users to restore files that were deleted from the system." : "Aquesta aplicació permet als usuaris restaurar fitxers que s'hagin suprimit del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aquesta aplicació permet als usuaris restaurar fitxers que s'hagin suprimit del sistema. Mostra una llista de fitxers suprimits en la interfície web i té opcions per a restaurar els fitxers suprimits a les carpetes dels usuaris o eliminar-los de manera permanent del sistema. La restauració d'un fitxer també restaura les versions del fitxer relacionades si l'aplicació Versions està habilitada. Quan se suprimeix un fitxer d'un element compartir, es pot restaurar de la mateixa manera, però deixa d'estar compartit. Per defecte, aquests fitxers romanen a la paperera durant 30 dies.\nPer a evitar que un usuari es quedi sense espai en el disc, l'aplicació Fitxers suprimits no utilitzarà més del 50% de l'emmagatzematge lliure disponible per als fitxers suprimits. Si els fitxers suprimits superen aquest límit, l'aplicació suprimirà els fitxers més antics fins que deixi de superar-se el límit. Podeu trobar més informació en la documentació de l'aplicació Fitxers suprimits.", - "You will be able to recover deleted files from here" : "Des d'aquí podreu recuperar els fitxers suprimits", - "No entries found in this folder" : "No s'ha trobat cap entrada en aquesta carpeta", - "Select all" : "Selecciona-ho tot", - "Name" : "Nom", - "Actions" : "Accions" + "Deletion cancelled" : "S'ha cancel·lat la supressió" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/ca.json b/apps/files_trashbin/l10n/ca.json index 3abeef95d28..e8cf1f81467 100644 --- a/apps/files_trashbin/l10n/ca.json +++ b/apps/files_trashbin/l10n/ca.json @@ -5,22 +5,20 @@ "This application enables people to restore files that were deleted from the system." : "Aquesta aplicació permet a les persones restaurar fitxers que s'hagin suprimit del sistema.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aquesta aplicació permet a les persones restaurar fitxers que s'hagin suprimit del sistema. Mostra una llista de fitxers suprimits en la interfície web i té opcions per a restaurar els fitxers suprimits a les carpetes de les persones o eliminar-los de manera permanent del sistema. La restauració d'un fitxer també restaura les versions del fitxer relacionades si l'aplicació Versions està habilitada. Quan se suprimeix un fitxer d'un element compartir, es pot restaurar de la mateixa manera, però deixa d'estar compartit. Per defecte, aquests fitxers romanen a la paperera durant 30 dies.\nPer a evitar que un compte es quedi sense espai en el disc, l'aplicació Fitxers suprimits no utilitzarà més del 50% de l'emmagatzematge lliure disponible per als fitxers suprimits. Si els fitxers suprimits superen aquest límit, l'aplicació suprimirà els fitxers més antics fins que deixi de superar-se el límit. Podeu trobar més informació en la documentació de l'aplicació Fitxers suprimits.", "Restore" : "Restaura", - "Unknown" : "Desconegut", - "All files" : "Tots els fitxers", - "You" : "Vós", + "Empty deleted files" : "Buida els fitxers suprimits", + "Confirm permanent deletion" : "Confirmeu l'eliminació permanent", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Esteu segur que voleu suprimir permanentment tots els fitxers i carpetes de la paperera? Això no es pot desfer.", + "Cancel" : "Cancel·la", "Original location" : "Ubicació original", "Deleted by" : "Suprimit per", "Deleted" : "S'ha suprimit", "A long time ago" : "Fa molt de temps", + "Unknown" : "Desconegut", + "All files" : "Tots els fitxers", + "You" : "Vós", "List of files that have been deleted." : "Llista de fitxers que s'han suprimit.", "No deleted files" : "No hi ha cap fitxer suprimit", "Files and folders you have deleted will show up here" : "Els fitxers i les carpetes que suprimiu es mostraran aquí", - "This application enables users to restore files that were deleted from the system." : "Aquesta aplicació permet als usuaris restaurar fitxers que s'hagin suprimit del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aquesta aplicació permet als usuaris restaurar fitxers que s'hagin suprimit del sistema. Mostra una llista de fitxers suprimits en la interfície web i té opcions per a restaurar els fitxers suprimits a les carpetes dels usuaris o eliminar-los de manera permanent del sistema. La restauració d'un fitxer també restaura les versions del fitxer relacionades si l'aplicació Versions està habilitada. Quan se suprimeix un fitxer d'un element compartir, es pot restaurar de la mateixa manera, però deixa d'estar compartit. Per defecte, aquests fitxers romanen a la paperera durant 30 dies.\nPer a evitar que un usuari es quedi sense espai en el disc, l'aplicació Fitxers suprimits no utilitzarà més del 50% de l'emmagatzematge lliure disponible per als fitxers suprimits. Si els fitxers suprimits superen aquest límit, l'aplicació suprimirà els fitxers més antics fins que deixi de superar-se el límit. Podeu trobar més informació en la documentació de l'aplicació Fitxers suprimits.", - "You will be able to recover deleted files from here" : "Des d'aquí podreu recuperar els fitxers suprimits", - "No entries found in this folder" : "No s'ha trobat cap entrada en aquesta carpeta", - "Select all" : "Selecciona-ho tot", - "Name" : "Nom", - "Actions" : "Accions" + "Deletion cancelled" : "S'ha cancel·lat la supressió" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/cs.js b/apps/files_trashbin/l10n/cs.js index 9c367c3c8b8..8be9e762355 100644 --- a/apps/files_trashbin/l10n/cs.js +++ b/apps/files_trashbin/l10n/cs.js @@ -4,20 +4,27 @@ OC.L10N.register( "restored" : "obnoveno", "Deleted files" : "Smazané soubory", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Smazané soubory a složky v Koši (v průběhu exportu může jejich platnost skončit, pokud začne docházet místo na úložišti)", + "This application enables people to restore files that were deleted from the system." : "Tato aplikace umožňuje lidem obnovovat soubory, které byly ze systému vymazány.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Tato aplikace lidem umožňuje obnovovat soubory, které byly ze systému vymazány. Ve webovém rozhraní zobrazuje seznam smazaných souborů a má volby pro obnovení těchto souborů zpět do složek se soubory lidí nebo jejich trvalé odebrání. Obnovení souboru také obnoví jeho související verze (pokud je zapnutá aplikace pro správu verzí). Když je soubor smazán ze sdílení, je možné ho obnovit stejným způsobem, ačkoli už nebude sdílený. Ve výchozím stavu, tyto soubory jsou ponechávány v koši po dobu 30 dnů.\nAby lidé nezaplnili celý disk, aplikace Smazané soubory pro ně nevyužije více než 50% kvóty. Pokud smazané soubory přesahují tento limit, aplikace maže nejstarší soubory, dokud se nedostane pod limit. Další informace jsou k dispozici v dokumentaci ke Smazané soubory.", "Restore" : "Obnovit", - "Unknown" : "Neznámé", - "All files" : "Všechny soubory", + "Not enough free space to restore the file/folder" : "Nedostatek volného místa pro obnovení souboru/složky", + "Empty deleted files" : "Vyprázdnit smazané soubory", + "Confirm permanent deletion" : "Potvrdit nevratné smazání", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Opravdu chcete nevratně smazat veškeré soubory a složky v koši? Toto nelze vzít zpět!", + "Cancel" : "Storno", + "Original location" : "Původní umístění", + "Deleted by" : "Smazal(a)", "Deleted" : "Smazáno", + "few seconds ago" : "před několika sekundami", "A long time ago" : "Před dlouhou dobou", + "Unknown" : "Neznámé", + "All files" : "Všechny soubory", + "You" : "Vy", "List of files that have been deleted." : "Seznam souborů, které byly smazány", "No deleted files" : "Žádné smazané soubory", "Files and folders you have deleted will show up here" : "Zde budou zobrazeny soubory a složky, které jste smazali", - "This application enables users to restore files that were deleted from the system." : "Tato aplikace umožňuje uživatelům obnovovat soubory, které byly ze systému vymazány.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Tato aplikace umožňuje uživatelům obnovovat soubory, které byly ze systému vymazány. Ve webovém rozhraní zobrazuje seznam smazaných souborů a má volby pro obnovení těchto souborů zpět do složek se soubory uživatelů nebo jejich trvalé odebrání. Obnovení souboru také obnoví jeho související verze (pokud je zapnutá aplikace pro správu verzí). Když je soubor smazán ze sdílení, je možné ho obnovit stejným způsobem, ačkoli už nebude sdílený. Ve výchozím stavu, tyto soubory jsou ponechávány v koši po dobu 30 dnů.\nAby uživatelé nezaplnili celý disk, aplikace Smazané soubory pro ně nevyužije více než 50% kvóty. Pokud smazané soubory přesahují tento limit, aplikace maže nejstarší soubory, dokud se nedostane pod limit. Další informace jsou k dispozici v dokumentaci ke Smazané soubory.", - "You will be able to recover deleted files from here" : "Odtud budete moci obnovovat smazané soubory", - "No entries found in this folder" : "V této složce nebylo nic nalezeno", - "Select all" : "Vybrat vše", - "Name" : "Název", - "Actions" : "Akce" + "All files have been permanently deleted" : "Veškeré soubory byly nevratně smazány", + "Failed to empty deleted files" : "Nepodařilo se vyprázdnit smazané soubory", + "Deletion cancelled" : "Mazání zrušeno" }, "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_trashbin/l10n/cs.json b/apps/files_trashbin/l10n/cs.json index 4dd1a9c7706..36ab71ace47 100644 --- a/apps/files_trashbin/l10n/cs.json +++ b/apps/files_trashbin/l10n/cs.json @@ -2,20 +2,27 @@ "restored" : "obnoveno", "Deleted files" : "Smazané soubory", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Smazané soubory a složky v Koši (v průběhu exportu může jejich platnost skončit, pokud začne docházet místo na úložišti)", + "This application enables people to restore files that were deleted from the system." : "Tato aplikace umožňuje lidem obnovovat soubory, které byly ze systému vymazány.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Tato aplikace lidem umožňuje obnovovat soubory, které byly ze systému vymazány. Ve webovém rozhraní zobrazuje seznam smazaných souborů a má volby pro obnovení těchto souborů zpět do složek se soubory lidí nebo jejich trvalé odebrání. Obnovení souboru také obnoví jeho související verze (pokud je zapnutá aplikace pro správu verzí). Když je soubor smazán ze sdílení, je možné ho obnovit stejným způsobem, ačkoli už nebude sdílený. Ve výchozím stavu, tyto soubory jsou ponechávány v koši po dobu 30 dnů.\nAby lidé nezaplnili celý disk, aplikace Smazané soubory pro ně nevyužije více než 50% kvóty. Pokud smazané soubory přesahují tento limit, aplikace maže nejstarší soubory, dokud se nedostane pod limit. Další informace jsou k dispozici v dokumentaci ke Smazané soubory.", "Restore" : "Obnovit", - "Unknown" : "Neznámé", - "All files" : "Všechny soubory", + "Not enough free space to restore the file/folder" : "Nedostatek volného místa pro obnovení souboru/složky", + "Empty deleted files" : "Vyprázdnit smazané soubory", + "Confirm permanent deletion" : "Potvrdit nevratné smazání", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Opravdu chcete nevratně smazat veškeré soubory a složky v koši? Toto nelze vzít zpět!", + "Cancel" : "Storno", + "Original location" : "Původní umístění", + "Deleted by" : "Smazal(a)", "Deleted" : "Smazáno", + "few seconds ago" : "před několika sekundami", "A long time ago" : "Před dlouhou dobou", + "Unknown" : "Neznámé", + "All files" : "Všechny soubory", + "You" : "Vy", "List of files that have been deleted." : "Seznam souborů, které byly smazány", "No deleted files" : "Žádné smazané soubory", "Files and folders you have deleted will show up here" : "Zde budou zobrazeny soubory a složky, které jste smazali", - "This application enables users to restore files that were deleted from the system." : "Tato aplikace umožňuje uživatelům obnovovat soubory, které byly ze systému vymazány.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Tato aplikace umožňuje uživatelům obnovovat soubory, které byly ze systému vymazány. Ve webovém rozhraní zobrazuje seznam smazaných souborů a má volby pro obnovení těchto souborů zpět do složek se soubory uživatelů nebo jejich trvalé odebrání. Obnovení souboru také obnoví jeho související verze (pokud je zapnutá aplikace pro správu verzí). Když je soubor smazán ze sdílení, je možné ho obnovit stejným způsobem, ačkoli už nebude sdílený. Ve výchozím stavu, tyto soubory jsou ponechávány v koši po dobu 30 dnů.\nAby uživatelé nezaplnili celý disk, aplikace Smazané soubory pro ně nevyužije více než 50% kvóty. Pokud smazané soubory přesahují tento limit, aplikace maže nejstarší soubory, dokud se nedostane pod limit. Další informace jsou k dispozici v dokumentaci ke Smazané soubory.", - "You will be able to recover deleted files from here" : "Odtud budete moci obnovovat smazané soubory", - "No entries found in this folder" : "V této složce nebylo nic nalezeno", - "Select all" : "Vybrat vše", - "Name" : "Název", - "Actions" : "Akce" + "All files have been permanently deleted" : "Veškeré soubory byly nevratně smazány", + "Failed to empty deleted files" : "Nepodařilo se vyprázdnit smazané soubory", + "Deletion cancelled" : "Mazání zrušeno" },"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_trashbin/l10n/cy_GB.js b/apps/files_trashbin/l10n/cy_GB.js deleted file mode 100644 index e689aa9b52c..00000000000 --- a/apps/files_trashbin/l10n/cy_GB.js +++ /dev/null @@ -1,14 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't delete %s permanently" : "Methwyd dileu %s yn barhaol", - "Couldn't restore %s" : "Methwyd adfer %s", - "Deleted files" : "Ffeiliau ddilewyd", - "Restore" : "Adfer", - "Delete" : "Dileu", - "Delete permanently" : "Dileu'n barhaol", - "Error" : "Gwall", - "Name" : "Enw", - "Deleted" : "Wedi dileu" -}, -"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;"); diff --git a/apps/files_trashbin/l10n/cy_GB.json b/apps/files_trashbin/l10n/cy_GB.json deleted file mode 100644 index c42ce3d10ea..00000000000 --- a/apps/files_trashbin/l10n/cy_GB.json +++ /dev/null @@ -1,12 +0,0 @@ -{ "translations": { - "Couldn't delete %s permanently" : "Methwyd dileu %s yn barhaol", - "Couldn't restore %s" : "Methwyd adfer %s", - "Deleted files" : "Ffeiliau ddilewyd", - "Restore" : "Adfer", - "Delete" : "Dileu", - "Delete permanently" : "Dileu'n barhaol", - "Error" : "Gwall", - "Name" : "Enw", - "Deleted" : "Wedi dileu" -},"pluralForm" :"nplurals=4; plural=(n==1) ? 0 : (n==2) ? 1 : (n != 8 && n != 11) ? 2 : 3;" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/da.js b/apps/files_trashbin/l10n/da.js index 9889526d8d6..97dcd55b1ad 100644 --- a/apps/files_trashbin/l10n/da.js +++ b/apps/files_trashbin/l10n/da.js @@ -7,20 +7,20 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Denne applikation gør det muligt for folk at gendanne filer, der blev slettet fra systemet.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denne applikation gør det muligt for folk at gendanne filer, der blev slettet fra systemet. Den viser en liste over slettede filer i webgrænsefladen og har muligheder for at gendanne de slettede filer tilbage til personarkiverne eller fjerne dem permanent fra systemet. Gendannelse af en fil gendanner også relaterede filversioner, hvis versionsapplikationen er aktiveret. Når en fil slettes fra en share, kan den gendannes på samme måde, selvom den ikke længere deles. Som standard forbliver disse filer i papirkurven i 30 dage.\nFor at forhindre en konto i at løbe tør for diskplads, vil appen Slettede filer ikke bruge mere end 50 % af den aktuelt tilgængelige gratis kvote for slettede filer. Hvis de slettede filer overskrider denne grænse, sletter appen de ældste filer, indtil den kommer under denne grænse. Flere oplysninger findes i dokumentationen til slettede filer.", "Restore" : "Gendan", - "Unknown" : "Ukendt", - "All files" : "Alle filer", + "Empty deleted files" : "Tøm slettede filer", + "Confirm permanent deletion" : "Bekræft permanent sletning", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Er du sikker på, at du vil slette alle filer og mapper i papirkurven permanent? Dette kan ikke fortrydes.", + "Cancel" : "Annuller", "Original location" : "Oprindelig filplacering", + "Deleted by" : "Slettet af ", "Deleted" : "Slettet", "A long time ago" : "For lang tid siden", + "Unknown" : "Ukendt", + "All files" : "Alle filer", + "You" : "Dig", "List of files that have been deleted." : "Liste med filer der er blevet slettet.", "No deleted files" : "Ingen slettede filer", "Files and folders you have deleted will show up here" : "Filer og mapper du har slettet, vil blive listet her", - "This application enables users to restore files that were deleted from the system." : "Denne app giver brugere mulighed for at gendanne filer som var slettet fra systemet.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denne applikation giver brugerne mulighed for at gendanne filer, der blev slettet fra systemet. Det viser en liste over slettede filer i webgrænsefladen og har muligheder for at gendanne de slettede filer tilbage til brugerens filmapper eller fjerne dem permanent fra systemet. Gendannelse af en fil gendanner også relaterede filversioner, hvis versionsprogrammet er aktiveret. Når en fil slettes fra en deling, kan den gendannes på samme måde, selvom den ikke længere deles. Som standard forbliver disse filer i papirkurven i 30 dage. \nFor at forhindre en bruger i at løbe tør for diskplads, bruger appen Slettede filer ikke mere end 50% af den aktuelt tilgængelige gratis kvote for slettede filer. Hvis de slettede filer overskrider denne grænse, sletter appen de ældste filer, indtil den kommer under denne grænse. Flere oplysninger findes i dokumentationen til slettede filer.", - "You will be able to recover deleted files from here" : "Du vil kunne gendanne slettede filer herfra", - "No entries found in this folder" : "Der blev ikke fundet poster i denne mappe", - "Select all" : "Vælg alle", - "Name" : "Navn", - "Actions" : "Handlinger" + "Deletion cancelled" : "Sletning annulleret" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/da.json b/apps/files_trashbin/l10n/da.json index 8ace1d99a75..21a5bed73a6 100644 --- a/apps/files_trashbin/l10n/da.json +++ b/apps/files_trashbin/l10n/da.json @@ -5,20 +5,20 @@ "This application enables people to restore files that were deleted from the system." : "Denne applikation gør det muligt for folk at gendanne filer, der blev slettet fra systemet.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denne applikation gør det muligt for folk at gendanne filer, der blev slettet fra systemet. Den viser en liste over slettede filer i webgrænsefladen og har muligheder for at gendanne de slettede filer tilbage til personarkiverne eller fjerne dem permanent fra systemet. Gendannelse af en fil gendanner også relaterede filversioner, hvis versionsapplikationen er aktiveret. Når en fil slettes fra en share, kan den gendannes på samme måde, selvom den ikke længere deles. Som standard forbliver disse filer i papirkurven i 30 dage.\nFor at forhindre en konto i at løbe tør for diskplads, vil appen Slettede filer ikke bruge mere end 50 % af den aktuelt tilgængelige gratis kvote for slettede filer. Hvis de slettede filer overskrider denne grænse, sletter appen de ældste filer, indtil den kommer under denne grænse. Flere oplysninger findes i dokumentationen til slettede filer.", "Restore" : "Gendan", - "Unknown" : "Ukendt", - "All files" : "Alle filer", + "Empty deleted files" : "Tøm slettede filer", + "Confirm permanent deletion" : "Bekræft permanent sletning", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Er du sikker på, at du vil slette alle filer og mapper i papirkurven permanent? Dette kan ikke fortrydes.", + "Cancel" : "Annuller", "Original location" : "Oprindelig filplacering", + "Deleted by" : "Slettet af ", "Deleted" : "Slettet", "A long time ago" : "For lang tid siden", + "Unknown" : "Ukendt", + "All files" : "Alle filer", + "You" : "Dig", "List of files that have been deleted." : "Liste med filer der er blevet slettet.", "No deleted files" : "Ingen slettede filer", "Files and folders you have deleted will show up here" : "Filer og mapper du har slettet, vil blive listet her", - "This application enables users to restore files that were deleted from the system." : "Denne app giver brugere mulighed for at gendanne filer som var slettet fra systemet.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denne applikation giver brugerne mulighed for at gendanne filer, der blev slettet fra systemet. Det viser en liste over slettede filer i webgrænsefladen og har muligheder for at gendanne de slettede filer tilbage til brugerens filmapper eller fjerne dem permanent fra systemet. Gendannelse af en fil gendanner også relaterede filversioner, hvis versionsprogrammet er aktiveret. Når en fil slettes fra en deling, kan den gendannes på samme måde, selvom den ikke længere deles. Som standard forbliver disse filer i papirkurven i 30 dage. \nFor at forhindre en bruger i at løbe tør for diskplads, bruger appen Slettede filer ikke mere end 50% af den aktuelt tilgængelige gratis kvote for slettede filer. Hvis de slettede filer overskrider denne grænse, sletter appen de ældste filer, indtil den kommer under denne grænse. Flere oplysninger findes i dokumentationen til slettede filer.", - "You will be able to recover deleted files from here" : "Du vil kunne gendanne slettede filer herfra", - "No entries found in this folder" : "Der blev ikke fundet poster i denne mappe", - "Select all" : "Vælg alle", - "Name" : "Navn", - "Actions" : "Handlinger" + "Deletion cancelled" : "Sletning annulleret" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/de.js b/apps/files_trashbin/l10n/de.js index a418664f775..e9691358434 100644 --- a/apps/files_trashbin/l10n/de.js +++ b/apps/files_trashbin/l10n/de.js @@ -3,25 +3,28 @@ OC.L10N.register( { "restored" : "Wiederhergestellt", "Deleted files" : "Gelöschte Dateien", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports gelöscht werden, wenn der Speicherplatz knapp wird)", - "This application enables people to restore files that were deleted from the system." : "Diese Anwendung ermöglicht es Benutzern, Dateien die vom System gelöscht wurden wieder herzustellen.", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports ablaufen, wenn der Speicherplatz knapp wird)", + "This application enables people to restore files that were deleted from the system." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die vom System gelöscht wurden.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die aus dem System gelöscht wurden. Es zeigt eine Liste der gelöschten Dateien in der Web-Oberfläche an und bietet die Möglichkeit, diese gelöschten Dateien in die Verzeichnisse der Personen wiederherzustellen oder sie dauerhaft aus dem System zu entfernen. Beim Wiederherstellen einer Datei werden auch die zugehörigen Dateiversionen wiederhergestellt, sofern die Versionsanwendung aktiviert ist. Wenn eine Datei aus einer Freigabe gelöscht wird, kann sie auf dem gleichen Weg wiederhergestellt werden, ist jedoch nicht mehr geteilt. Standardmäßig verbleiben gelöschte Dateien 30 Tage lang im Papierkorb.\nUm zu verhindern, dass einem Konto der Speicherplatz ausgeht, nutzt die Anwendung für gelöschte Dateien maximal 50 % des aktuell verfügbaren freien Kontingents. Wenn die gelöschten Dateien dieses Limit überschreiten, löscht die Anwendung die ältesten Dateien, bis sie unter dieses Limit fällt. Weitere Informationen findest du in der Dokumentation zu gelöschten Dateien.", "Restore" : "Wiederherstellen", - "Unknown" : "Unbekannt", - "All files" : "Alle Dateien", - "You" : "Du", + "Not enough free space to restore the file/folder" : "Nicht genügend freier Speicherplatz zum Wiederherstellen der Datei/des Ordners", + "Empty deleted files" : "Gelöschte Dateien leeren", + "Confirm permanent deletion" : "Endgültiges Löschen bestätigen", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Möchtest du wirklich alle Dateien und Ordner im Papierkorb endgültig löschen? Dies kann nicht rückgängig gemacht werden.", + "Cancel" : "Abbrechen", "Original location" : "Ursprünglicher Ort", "Deleted by" : "Gelöscht von", - "Deleted" : "gelöscht", + "Deleted" : "Gelöscht", + "few seconds ago" : "Gerade eben", "A long time ago" : "Vor langer Zeit", + "Unknown" : "Unbekannt", + "All files" : "Alle Dateien", + "You" : "Dir", "List of files that have been deleted." : "Liste der gelöschten Dateien.", "No deleted files" : "Keine gelöschten Dateien", - "Files and folders you have deleted will show up here" : "Die von Ihnen gelöschten Dateien und Ordner werden hier angezeigt", - "This application enables users to restore files that were deleted from the system." : "Diese App ermöglicht es Benutzern Dateien die vom System gelöscht wurden wiederherzustellen.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Benutzern, gelöschte Dateien wieder herzustellen. In der Web-Oberfläche wird eine Liste mit allen gelöschten Dateien angezeigt. Es besteht die Möglichkeit die Datein im Dateiverzeichnisse des Benutzers wieder herzustelle, oder diese endgültig zu löschen. Bei der Wiederherstellung einer Datei werden, sofern die Versions Anwendung aktiviert ist, die dazugehörigen Dateiversionen ebenfalls wieder hergestellt. Falls eine geteilte Datei gelöscht wurde, kann diese ebenfals wieder hergestellt werden, jedoch ist diese danach nicht mehr geteilt. Normalerweise verbleiben gelöschte Dateien für 30 Tage im Papierkorb .\nUm zu verhindern, dass einem Benutzer der Speicherplatz ausgeht, nutzt die Anwendung maximal 50% des verfügbaren freien Kontingents für gelöschte Dateien. Sofern die gelöschten Dateien dieses Limit überschreiten, werden zunächst die ältesten Dateien gelöscht, bis das Limit unterschritten wird. Mehr Informationen sind in der Dokumentation verfügbar.", - "You will be able to recover deleted files from here" : "Hier können gelöschte Dateien wiederhergestellt werden", - "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden", - "Select all" : "Alle auswählen", - "Name" : "Name", - "Actions" : "Aktionen" + "Files and folders you have deleted will show up here" : "Die von dir gelöschten Dateien und Ordner werden hier angezeigt", + "All files have been permanently deleted" : "Alle Dateien wurden dauerhaft gelöscht", + "Failed to empty deleted files" : "Gelöschte Dateien konnten nicht geleert werden", + "Deletion cancelled" : "Löschen abgebrochen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/de.json b/apps/files_trashbin/l10n/de.json index a95e1295c8c..c5818d11a66 100644 --- a/apps/files_trashbin/l10n/de.json +++ b/apps/files_trashbin/l10n/de.json @@ -1,25 +1,28 @@ { "translations": { "restored" : "Wiederhergestellt", "Deleted files" : "Gelöschte Dateien", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports gelöscht werden, wenn der Speicherplatz knapp wird)", - "This application enables people to restore files that were deleted from the system." : "Diese Anwendung ermöglicht es Benutzern, Dateien die vom System gelöscht wurden wieder herzustellen.", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports ablaufen, wenn der Speicherplatz knapp wird)", + "This application enables people to restore files that were deleted from the system." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die vom System gelöscht wurden.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die aus dem System gelöscht wurden. Es zeigt eine Liste der gelöschten Dateien in der Web-Oberfläche an und bietet die Möglichkeit, diese gelöschten Dateien in die Verzeichnisse der Personen wiederherzustellen oder sie dauerhaft aus dem System zu entfernen. Beim Wiederherstellen einer Datei werden auch die zugehörigen Dateiversionen wiederhergestellt, sofern die Versionsanwendung aktiviert ist. Wenn eine Datei aus einer Freigabe gelöscht wird, kann sie auf dem gleichen Weg wiederhergestellt werden, ist jedoch nicht mehr geteilt. Standardmäßig verbleiben gelöschte Dateien 30 Tage lang im Papierkorb.\nUm zu verhindern, dass einem Konto der Speicherplatz ausgeht, nutzt die Anwendung für gelöschte Dateien maximal 50 % des aktuell verfügbaren freien Kontingents. Wenn die gelöschten Dateien dieses Limit überschreiten, löscht die Anwendung die ältesten Dateien, bis sie unter dieses Limit fällt. Weitere Informationen findest du in der Dokumentation zu gelöschten Dateien.", "Restore" : "Wiederherstellen", - "Unknown" : "Unbekannt", - "All files" : "Alle Dateien", - "You" : "Du", + "Not enough free space to restore the file/folder" : "Nicht genügend freier Speicherplatz zum Wiederherstellen der Datei/des Ordners", + "Empty deleted files" : "Gelöschte Dateien leeren", + "Confirm permanent deletion" : "Endgültiges Löschen bestätigen", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Möchtest du wirklich alle Dateien und Ordner im Papierkorb endgültig löschen? Dies kann nicht rückgängig gemacht werden.", + "Cancel" : "Abbrechen", "Original location" : "Ursprünglicher Ort", "Deleted by" : "Gelöscht von", - "Deleted" : "gelöscht", + "Deleted" : "Gelöscht", + "few seconds ago" : "Gerade eben", "A long time ago" : "Vor langer Zeit", + "Unknown" : "Unbekannt", + "All files" : "Alle Dateien", + "You" : "Dir", "List of files that have been deleted." : "Liste der gelöschten Dateien.", "No deleted files" : "Keine gelöschten Dateien", - "Files and folders you have deleted will show up here" : "Die von Ihnen gelöschten Dateien und Ordner werden hier angezeigt", - "This application enables users to restore files that were deleted from the system." : "Diese App ermöglicht es Benutzern Dateien die vom System gelöscht wurden wiederherzustellen.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Benutzern, gelöschte Dateien wieder herzustellen. In der Web-Oberfläche wird eine Liste mit allen gelöschten Dateien angezeigt. Es besteht die Möglichkeit die Datein im Dateiverzeichnisse des Benutzers wieder herzustelle, oder diese endgültig zu löschen. Bei der Wiederherstellung einer Datei werden, sofern die Versions Anwendung aktiviert ist, die dazugehörigen Dateiversionen ebenfalls wieder hergestellt. Falls eine geteilte Datei gelöscht wurde, kann diese ebenfals wieder hergestellt werden, jedoch ist diese danach nicht mehr geteilt. Normalerweise verbleiben gelöschte Dateien für 30 Tage im Papierkorb .\nUm zu verhindern, dass einem Benutzer der Speicherplatz ausgeht, nutzt die Anwendung maximal 50% des verfügbaren freien Kontingents für gelöschte Dateien. Sofern die gelöschten Dateien dieses Limit überschreiten, werden zunächst die ältesten Dateien gelöscht, bis das Limit unterschritten wird. Mehr Informationen sind in der Dokumentation verfügbar.", - "You will be able to recover deleted files from here" : "Hier können gelöschte Dateien wiederhergestellt werden", - "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden", - "Select all" : "Alle auswählen", - "Name" : "Name", - "Actions" : "Aktionen" + "Files and folders you have deleted will show up here" : "Die von dir gelöschten Dateien und Ordner werden hier angezeigt", + "All files have been permanently deleted" : "Alle Dateien wurden dauerhaft gelöscht", + "Failed to empty deleted files" : "Gelöschte Dateien konnten nicht geleert werden", + "Deletion cancelled" : "Löschen abgebrochen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/de_DE.js b/apps/files_trashbin/l10n/de_DE.js index 82406474498..d0e9f83f535 100644 --- a/apps/files_trashbin/l10n/de_DE.js +++ b/apps/files_trashbin/l10n/de_DE.js @@ -4,25 +4,27 @@ OC.L10N.register( "restored" : "Wiederhergestellt", "Deleted files" : "Gelöschte Dateien", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports ablaufen, wenn der Speicherplatz knapp wird)", - "This application enables people to restore files that were deleted from the system." : "Diese Anwendung ermöglicht Personen, Dateien wiederherzustellen, die vom System gelöscht wurden.", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die aus dem System gelöscht wurden. Es zeigt eine Liste der gelöschten Dateien in der Web-Oberfläche an und bietet die Möglichkeit, diese gelöschten Dateien in die Verzeichnisse der Personen wiederherzustellen oder sie dauerhaft aus dem System zu entfernen. Beim Wiederherstellen einer Datei werden auch die zugehörigen Dateiversionen wiederhergestellt, sofern die Versionsanwendung aktiviert ist. Wenn eine Datei aus einer Freigabe gelöscht wird, kann sie auf dem gleichen Weg wiederhergestellt werden, ist jedoch nicht mehr geteilt. Standardmäßig verbleiben gelöschte Dateien 30 Tage lang im Papierkorb.\nUm zu verhindern, dass einem Konto der Speicherplatz ausgeht, nutzt die Anwendung für gelöschte Dateien maximal 50% des aktuell verfügbaren freien Kontingents. Wenn die gelöschten Dateien dieses Limit überschreiten, löscht die Anwendung die ältesten Dateien, bis sie unter dieses Limit fällt. Weitere Informationen finden Sie in der Dokumentation zu gelöschten Dateien.", + "This application enables people to restore files that were deleted from the system." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die vom System gelöscht wurden.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die aus dem System gelöscht wurden. Es zeigt eine Liste der gelöschten Dateien in der Web-Oberfläche an und bietet die Möglichkeit, diese gelöschten Dateien in die Verzeichnisse der Personen wiederherzustellen oder sie dauerhaft aus dem System zu entfernen. Beim Wiederherstellen einer Datei werden auch die zugehörigen Dateiversionen wiederhergestellt, sofern die Versionsanwendung aktiviert ist. Wenn eine Datei aus einer Freigabe gelöscht wird, kann sie auf dem gleichen Weg wiederhergestellt werden, ist jedoch nicht mehr geteilt. Standardmäßig verbleiben gelöschte Dateien 30 Tage lang im Papierkorb.\nUm zu verhindern, dass einem Konto der Speicherplatz ausgeht, nutzt die Anwendung für gelöschte Dateien maximal 50 % des aktuell verfügbaren freien Kontingents. Wenn die gelöschten Dateien dieses Limit überschreiten, löscht die Anwendung die ältesten Dateien, bis sie unter dieses Limit fällt. Weitere Informationen finden Sie in der Dokumentation zu gelöschten Dateien.", "Restore" : "Wiederherstellen", - "Unknown" : "Unbekannt", - "All files" : "Alle Dateien", - "You" : "Sie", + "Not enough free space to restore the file/folder" : "Nicht genügend freier Speicherplatz zum Wiederherstellen der Datei/des Ordners", + "Empty deleted files" : "Gelöschte Dateien leeren", + "Confirm permanent deletion" : "Endgültiges Löschen bestätigen", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Möchten Sie wirklich alle Dateien und Ordner im Papierkorb endgültig löschen? Dies kann nicht rückgängig gemacht werden.", + "Cancel" : "Abbrechen", "Original location" : "Ursprünglicher Ort", "Deleted by" : "Gelöscht von", "Deleted" : "Gelöscht", + "few seconds ago" : "Gerade eben", "A long time ago" : "Vor langer Zeit", + "Unknown" : "Unbekannt", + "All files" : "Alle Dateien", + "You" : "Ihnen", "List of files that have been deleted." : "Liste der gelöschten Dateien.", "No deleted files" : "Keine gelöschten Dateien", "Files and folders you have deleted will show up here" : "Die von Ihnen gelöschten Dateien und Ordner werden hier angezeigt", - "This application enables users to restore files that were deleted from the system." : "Diese App ermöglicht es Benutzern Dateien die vom System gelöscht wurden wiederherzustellen.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Benutzern, gelöschte Dateien wieder herzustellen. In der Web-Oberfläche wird eine Liste mit allen gelöschten Dateien angezeigt. Es besteht die Möglichkeit die Datein im Dateiverzeichnisse des Benutzers wieder herzustelle, oder diese endgültig zu löschen. Bei der Wiederherstellung einer Datei werden, sofern die Versions Anwendung aktiviert ist, die dazugehörigen Dateiversionen ebenfalls wieder hergestellt. Falls eine geteilte Datei gelöscht wurde, kann diese ebenfals wieder hergestellt werden, jedoch ist diese danach nicht mehr geteilt. Normalerweise verbleiben gelöschte Dateien für 30 Tage im Papierkorb .\nUm zu verhindern, dass einem Benutzer der Speicherplatz ausgeht, nutzt die Anwendung maximal 50% des verfügbaren freien Kontingents für gelöschte Dateien. Sofern die gelöschten Dateien dieses Limit überschreiten, werden zunächst die ältesten Dateien gelöscht, bis das Limit unterschritten wird. Mehr Informationen sind in der Dokumentation verfügbar.", - "You will be able to recover deleted files from here" : "Hier können gelöschte Dateien wiederhergestellt werden", - "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden", - "Select all" : "Alle auswählen", - "Name" : "Name", - "Actions" : "Aktionen" + "All files have been permanently deleted" : "Alle Dateien wurden dauerhaft gelöscht", + "Failed to empty deleted files" : "Gelöschte Dateien konnten nicht geleert werden", + "Deletion cancelled" : "Löschen abgebrochen" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/de_DE.json b/apps/files_trashbin/l10n/de_DE.json index 778bd1c338a..c6acf5f7048 100644 --- a/apps/files_trashbin/l10n/de_DE.json +++ b/apps/files_trashbin/l10n/de_DE.json @@ -2,25 +2,27 @@ "restored" : "Wiederhergestellt", "Deleted files" : "Gelöschte Dateien", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Gelöschte Dateien und Ordner im Papierkorb (können während des Exports ablaufen, wenn der Speicherplatz knapp wird)", - "This application enables people to restore files that were deleted from the system." : "Diese Anwendung ermöglicht Personen, Dateien wiederherzustellen, die vom System gelöscht wurden.", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die aus dem System gelöscht wurden. Es zeigt eine Liste der gelöschten Dateien in der Web-Oberfläche an und bietet die Möglichkeit, diese gelöschten Dateien in die Verzeichnisse der Personen wiederherzustellen oder sie dauerhaft aus dem System zu entfernen. Beim Wiederherstellen einer Datei werden auch die zugehörigen Dateiversionen wiederhergestellt, sofern die Versionsanwendung aktiviert ist. Wenn eine Datei aus einer Freigabe gelöscht wird, kann sie auf dem gleichen Weg wiederhergestellt werden, ist jedoch nicht mehr geteilt. Standardmäßig verbleiben gelöschte Dateien 30 Tage lang im Papierkorb.\nUm zu verhindern, dass einem Konto der Speicherplatz ausgeht, nutzt die Anwendung für gelöschte Dateien maximal 50% des aktuell verfügbaren freien Kontingents. Wenn die gelöschten Dateien dieses Limit überschreiten, löscht die Anwendung die ältesten Dateien, bis sie unter dieses Limit fällt. Weitere Informationen finden Sie in der Dokumentation zu gelöschten Dateien.", + "This application enables people to restore files that were deleted from the system." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die vom System gelöscht wurden.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Personen, Dateien wiederherzustellen, die aus dem System gelöscht wurden. Es zeigt eine Liste der gelöschten Dateien in der Web-Oberfläche an und bietet die Möglichkeit, diese gelöschten Dateien in die Verzeichnisse der Personen wiederherzustellen oder sie dauerhaft aus dem System zu entfernen. Beim Wiederherstellen einer Datei werden auch die zugehörigen Dateiversionen wiederhergestellt, sofern die Versionsanwendung aktiviert ist. Wenn eine Datei aus einer Freigabe gelöscht wird, kann sie auf dem gleichen Weg wiederhergestellt werden, ist jedoch nicht mehr geteilt. Standardmäßig verbleiben gelöschte Dateien 30 Tage lang im Papierkorb.\nUm zu verhindern, dass einem Konto der Speicherplatz ausgeht, nutzt die Anwendung für gelöschte Dateien maximal 50 % des aktuell verfügbaren freien Kontingents. Wenn die gelöschten Dateien dieses Limit überschreiten, löscht die Anwendung die ältesten Dateien, bis sie unter dieses Limit fällt. Weitere Informationen finden Sie in der Dokumentation zu gelöschten Dateien.", "Restore" : "Wiederherstellen", - "Unknown" : "Unbekannt", - "All files" : "Alle Dateien", - "You" : "Sie", + "Not enough free space to restore the file/folder" : "Nicht genügend freier Speicherplatz zum Wiederherstellen der Datei/des Ordners", + "Empty deleted files" : "Gelöschte Dateien leeren", + "Confirm permanent deletion" : "Endgültiges Löschen bestätigen", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Möchten Sie wirklich alle Dateien und Ordner im Papierkorb endgültig löschen? Dies kann nicht rückgängig gemacht werden.", + "Cancel" : "Abbrechen", "Original location" : "Ursprünglicher Ort", "Deleted by" : "Gelöscht von", "Deleted" : "Gelöscht", + "few seconds ago" : "Gerade eben", "A long time ago" : "Vor langer Zeit", + "Unknown" : "Unbekannt", + "All files" : "Alle Dateien", + "You" : "Ihnen", "List of files that have been deleted." : "Liste der gelöschten Dateien.", "No deleted files" : "Keine gelöschten Dateien", "Files and folders you have deleted will show up here" : "Die von Ihnen gelöschten Dateien und Ordner werden hier angezeigt", - "This application enables users to restore files that were deleted from the system." : "Diese App ermöglicht es Benutzern Dateien die vom System gelöscht wurden wiederherzustellen.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Diese Anwendung ermöglicht es Benutzern, gelöschte Dateien wieder herzustellen. In der Web-Oberfläche wird eine Liste mit allen gelöschten Dateien angezeigt. Es besteht die Möglichkeit die Datein im Dateiverzeichnisse des Benutzers wieder herzustelle, oder diese endgültig zu löschen. Bei der Wiederherstellung einer Datei werden, sofern die Versions Anwendung aktiviert ist, die dazugehörigen Dateiversionen ebenfalls wieder hergestellt. Falls eine geteilte Datei gelöscht wurde, kann diese ebenfals wieder hergestellt werden, jedoch ist diese danach nicht mehr geteilt. Normalerweise verbleiben gelöschte Dateien für 30 Tage im Papierkorb .\nUm zu verhindern, dass einem Benutzer der Speicherplatz ausgeht, nutzt die Anwendung maximal 50% des verfügbaren freien Kontingents für gelöschte Dateien. Sofern die gelöschten Dateien dieses Limit überschreiten, werden zunächst die ältesten Dateien gelöscht, bis das Limit unterschritten wird. Mehr Informationen sind in der Dokumentation verfügbar.", - "You will be able to recover deleted files from here" : "Hier können gelöschte Dateien wiederhergestellt werden", - "No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden", - "Select all" : "Alle auswählen", - "Name" : "Name", - "Actions" : "Aktionen" + "All files have been permanently deleted" : "Alle Dateien wurden dauerhaft gelöscht", + "Failed to empty deleted files" : "Gelöschte Dateien konnten nicht geleert werden", + "Deletion cancelled" : "Löschen abgebrochen" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/el.js b/apps/files_trashbin/l10n/el.js deleted file mode 100644 index 3e7946342f8..00000000000 --- a/apps/files_trashbin/l10n/el.js +++ /dev/null @@ -1,22 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "επαναφέρθηκαν", - "Deleted files" : "Διεγραμμένα αρχεία", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Διαγραμμένα αρχεία και φάκελοι στον κάδο απορριμμάτων (μπορεί να λήξουν κατά την εξαγωγή, αν δεν έχετε αρκετό αποθηκευτικό χώρο)", - "Restore" : "Επαναφορά", - "Unknown" : "Άγνωστο", - "All files" : "Όλα τα αρχεία", - "You" : "Εσύ", - "Deleted" : "Διαγραμμένα", - "A long time ago" : "Πριν αρκετό καιρό", - "No deleted files" : "Κανένα διαγεγραμμένο αρχείο", - "This application enables users to restore files that were deleted from the system." : "Η εφαρμογή επιτρέπει στους χρήστες να επαναφέρουν αρχεία που διαγράφηκαν από το σύστημα.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Η εφαρμογή επιτρέπει στους χρήστες να επαναφέρουν τα αρχεία που διαγράφηκαν από το σύστημα. Εμφανίζει μια λίστα με τα διαγραμμένα αρχεία στη διεπαφή ιστού και έχει επιλογές για επαναφορά των διαγραμμένων αρχείων στους καταλόγους αρχείων χρηστών ή για την οριστική κατάργησή τους από το σύστημα. Η επαναφορά ενός αρχείου επαναφέρει επίσης τις σχετικές εκδόσεις αρχείων, εάν είναι ενεργοποιημένη η εφαρμογή εκδόσεων. Όταν ένα αρχείο διαγράφεται από ένα κοινόχρηστο στοιχείο, μπορεί να αποκατασταθεί με τον ίδιο τρόπο, αν και δεν είναι πλέον κοινόχρηστος. Από προεπιλογή, αυτά τα αρχεία παραμένουν στον κάδο απορριμάτων για 30 ημέρες.\nΓια να αποφευχθεί η εξάντληση του χώρου στο δίσκο, η εφαρμογή \"Διαγραμμένα αρχεία\" δεν θα χρησιμοποιήσει περισσότερο από το 50% του τρέχων διαθέσιμου ορίου για τα διαγραμμένα αρχεία. Εάν τα διαγραμμένα αρχεία υπερβαίνουν αυτό το όριο, η εφαρμογή διαγράφει τα παλαιότερα αρχεία μέχρι να πέσει κάτω από αυτό το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση \"Διαγραμμένα αρχεία\".", - "You will be able to recover deleted files from here" : "Θα έχετε την δυνατότητα επαναφοράς διαγεγραμμένων αρχείων από εδώ", - "No entries found in this folder" : "Δεν βρέθηκαν καταχωρήσεις σε αυτόν το φάκελο", - "Select all" : "Επιλογή όλων", - "Name" : "Όνομα", - "Actions" : "Ενέργειες" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/el.json b/apps/files_trashbin/l10n/el.json deleted file mode 100644 index 6440b92f7c6..00000000000 --- a/apps/files_trashbin/l10n/el.json +++ /dev/null @@ -1,20 +0,0 @@ -{ "translations": { - "restored" : "επαναφέρθηκαν", - "Deleted files" : "Διεγραμμένα αρχεία", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Διαγραμμένα αρχεία και φάκελοι στον κάδο απορριμμάτων (μπορεί να λήξουν κατά την εξαγωγή, αν δεν έχετε αρκετό αποθηκευτικό χώρο)", - "Restore" : "Επαναφορά", - "Unknown" : "Άγνωστο", - "All files" : "Όλα τα αρχεία", - "You" : "Εσύ", - "Deleted" : "Διαγραμμένα", - "A long time ago" : "Πριν αρκετό καιρό", - "No deleted files" : "Κανένα διαγεγραμμένο αρχείο", - "This application enables users to restore files that were deleted from the system." : "Η εφαρμογή επιτρέπει στους χρήστες να επαναφέρουν αρχεία που διαγράφηκαν από το σύστημα.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Η εφαρμογή επιτρέπει στους χρήστες να επαναφέρουν τα αρχεία που διαγράφηκαν από το σύστημα. Εμφανίζει μια λίστα με τα διαγραμμένα αρχεία στη διεπαφή ιστού και έχει επιλογές για επαναφορά των διαγραμμένων αρχείων στους καταλόγους αρχείων χρηστών ή για την οριστική κατάργησή τους από το σύστημα. Η επαναφορά ενός αρχείου επαναφέρει επίσης τις σχετικές εκδόσεις αρχείων, εάν είναι ενεργοποιημένη η εφαρμογή εκδόσεων. Όταν ένα αρχείο διαγράφεται από ένα κοινόχρηστο στοιχείο, μπορεί να αποκατασταθεί με τον ίδιο τρόπο, αν και δεν είναι πλέον κοινόχρηστος. Από προεπιλογή, αυτά τα αρχεία παραμένουν στον κάδο απορριμάτων για 30 ημέρες.\nΓια να αποφευχθεί η εξάντληση του χώρου στο δίσκο, η εφαρμογή \"Διαγραμμένα αρχεία\" δεν θα χρησιμοποιήσει περισσότερο από το 50% του τρέχων διαθέσιμου ορίου για τα διαγραμμένα αρχεία. Εάν τα διαγραμμένα αρχεία υπερβαίνουν αυτό το όριο, η εφαρμογή διαγράφει τα παλαιότερα αρχεία μέχρι να πέσει κάτω από αυτό το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση \"Διαγραμμένα αρχεία\".", - "You will be able to recover deleted files from here" : "Θα έχετε την δυνατότητα επαναφοράς διαγεγραμμένων αρχείων από εδώ", - "No entries found in this folder" : "Δεν βρέθηκαν καταχωρήσεις σε αυτόν το φάκελο", - "Select all" : "Επιλογή όλων", - "Name" : "Όνομα", - "Actions" : "Ενέργειες" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/en_GB.js b/apps/files_trashbin/l10n/en_GB.js index 815030b5fd4..b45cfea4f5d 100644 --- a/apps/files_trashbin/l10n/en_GB.js +++ b/apps/files_trashbin/l10n/en_GB.js @@ -7,22 +7,24 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "This application enables people to restore files that were deleted from the system.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.", "Restore" : "Restore", - "Unknown" : "Unknown", - "All files" : "All files", - "You" : "You", + "Not enough free space to restore the file/folder" : "Not enough free space to restore the file/folder", + "Empty deleted files" : "Empty deleted files", + "Confirm permanent deletion" : "Confirm permanent deletion", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone.", + "Cancel" : "Cancel", "Original location" : "Original location", "Deleted by" : "Deleted by", "Deleted" : "Deleted", + "few seconds ago" : "few seconds ago", "A long time ago" : "A long time ago", + "Unknown" : "Unknown", + "All files" : "All files", + "You" : "You", "List of files that have been deleted." : "List of files that have been deleted.", "No deleted files" : "No deleted files", "Files and folders you have deleted will show up here" : "Files and folders you have deleted will show up here", - "This application enables users to restore files that were deleted from the system." : "This application enables users to restore files that were deleted from the system.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the rubbish bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilise more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.", - "You will be able to recover deleted files from here" : "You will be able to recover deleted files from here", - "No entries found in this folder" : "No entries found in this folder", - "Select all" : "Select all", - "Name" : "Name", - "Actions" : "Actions" + "All files have been permanently deleted" : "All files have been permanently deleted", + "Failed to empty deleted files" : "Failed to empty deleted files", + "Deletion cancelled" : "Deletion cancelled" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/en_GB.json b/apps/files_trashbin/l10n/en_GB.json index 69689bcbf7d..81ce0b39602 100644 --- a/apps/files_trashbin/l10n/en_GB.json +++ b/apps/files_trashbin/l10n/en_GB.json @@ -5,22 +5,24 @@ "This application enables people to restore files that were deleted from the system." : "This application enables people to restore files that were deleted from the system.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.", "Restore" : "Restore", - "Unknown" : "Unknown", - "All files" : "All files", - "You" : "You", + "Not enough free space to restore the file/folder" : "Not enough free space to restore the file/folder", + "Empty deleted files" : "Empty deleted files", + "Confirm permanent deletion" : "Confirm permanent deletion", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone.", + "Cancel" : "Cancel", "Original location" : "Original location", "Deleted by" : "Deleted by", "Deleted" : "Deleted", + "few seconds ago" : "few seconds ago", "A long time ago" : "A long time ago", + "Unknown" : "Unknown", + "All files" : "All files", + "You" : "You", "List of files that have been deleted." : "List of files that have been deleted.", "No deleted files" : "No deleted files", "Files and folders you have deleted will show up here" : "Files and folders you have deleted will show up here", - "This application enables users to restore files that were deleted from the system." : "This application enables users to restore files that were deleted from the system.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the rubbish bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilise more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.", - "You will be able to recover deleted files from here" : "You will be able to recover deleted files from here", - "No entries found in this folder" : "No entries found in this folder", - "Select all" : "Select all", - "Name" : "Name", - "Actions" : "Actions" + "All files have been permanently deleted" : "All files have been permanently deleted", + "Failed to empty deleted files" : "Failed to empty deleted files", + "Deletion cancelled" : "Deletion cancelled" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/eo.js b/apps/files_trashbin/l10n/eo.js deleted file mode 100644 index d55b2138349..00000000000 --- a/apps/files_trashbin/l10n/eo.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaŭrita", - "Deleted files" : "Forigitaj dosieroj", - "Restore" : "Restaŭri", - "Unknown" : "Nekonata", - "All files" : "Ĉiuj dosieroj", - "Deleted" : "Forigita", - "No deleted files" : "Neniu dosiero foriĝis", - "This application enables users to restore files that were deleted from the system." : "Per tiu aplikaĵo, uzanto povas restaŭri dosierojn, kiuj estis forigitaj el la sistemo.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Per tiu aplikaĵo, uzanto povas restaŭri dosierojn, kiuj estis forigitaj el la sistemo. Listo de forigitaj dosieroj montriĝas en la retumila fasado, kun opcio por restaŭri ilin aŭ definitive forigi ilin. Restaŭro de dosiero ankaŭ restaŭras ĉiujn versiojn de tiu dosiero, se la aplikaĵo „Versioj“ estas ŝaltita. Kiam dosiero estas forigita el kunhavo, ĝi restaŭreblas sammaniere, kvankam ĝi ne plu estas kunhavigita. Defaŭlte, la dosieroj restas en la rubujo 30 tagojn.\nPor antaŭmalhelpi al uzanto ne plu havi liberan spacon, tiu ĉi aplikaĵo ne uzos pli ol 50% el la aktuale disponebla libera kvoto por forigitaj dosieroj. Se la forigitaj dosieroj transpasas tiun limon, la aplikaĵo forigas la plej malnovajn dosierojn ĝis irado sub la limo. Pliajn informoj en la dokumentaro.", - "You will be able to recover deleted files from here" : "Vi eblos restaŭrigi forigitaj dosieroj el tie", - "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo", - "Select all" : "Elekti ĉion", - "Name" : "Nomo", - "Actions" : "Agoj" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/eo.json b/apps/files_trashbin/l10n/eo.json deleted file mode 100644 index cfddef34d75..00000000000 --- a/apps/files_trashbin/l10n/eo.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "restored" : "restaŭrita", - "Deleted files" : "Forigitaj dosieroj", - "Restore" : "Restaŭri", - "Unknown" : "Nekonata", - "All files" : "Ĉiuj dosieroj", - "Deleted" : "Forigita", - "No deleted files" : "Neniu dosiero foriĝis", - "This application enables users to restore files that were deleted from the system." : "Per tiu aplikaĵo, uzanto povas restaŭri dosierojn, kiuj estis forigitaj el la sistemo.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Per tiu aplikaĵo, uzanto povas restaŭri dosierojn, kiuj estis forigitaj el la sistemo. Listo de forigitaj dosieroj montriĝas en la retumila fasado, kun opcio por restaŭri ilin aŭ definitive forigi ilin. Restaŭro de dosiero ankaŭ restaŭras ĉiujn versiojn de tiu dosiero, se la aplikaĵo „Versioj“ estas ŝaltita. Kiam dosiero estas forigita el kunhavo, ĝi restaŭreblas sammaniere, kvankam ĝi ne plu estas kunhavigita. Defaŭlte, la dosieroj restas en la rubujo 30 tagojn.\nPor antaŭmalhelpi al uzanto ne plu havi liberan spacon, tiu ĉi aplikaĵo ne uzos pli ol 50% el la aktuale disponebla libera kvoto por forigitaj dosieroj. Se la forigitaj dosieroj transpasas tiun limon, la aplikaĵo forigas la plej malnovajn dosierojn ĝis irado sub la limo. Pliajn informoj en la dokumentaro.", - "You will be able to recover deleted files from here" : "Vi eblos restaŭrigi forigitaj dosieroj el tie", - "No entries found in this folder" : "Neniu enigo troviĝis en ĉi tiu dosierujo", - "Select all" : "Elekti ĉion", - "Name" : "Nomo", - "Actions" : "Agoj" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/es.js b/apps/files_trashbin/l10n/es.js index c93b5c7a024..7a539db183c 100644 --- a/apps/files_trashbin/l10n/es.js +++ b/apps/files_trashbin/l10n/es.js @@ -7,22 +7,24 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que hayan sido eliminados del sistema. Muestra una lista de archivos eliminados en la interfaz web y ofrece opciones para restaurar esos archivos eliminados a los directorios de los usuarios o eliminarlos permanentemente del sistema. Al restaurar un archivo, también se restauran las versiones relacionadas del archivo, si la aplicación de versiones está habilitada. Cuando se elimina un archivo de un recurso compartido, también se puede restaurar de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera de reciclaje durante 30 días.\nPara evitar que una cuenta se quede sin espacio en el disco, la aplicación de archivos eliminados no utilizará más del 50% de la cuota disponible actualmente para los archivos eliminados. Si los archivos eliminados superan este límite, la aplicación eliminará los archivos más antiguos hasta que esté por debajo de este límite. Más información está disponible en la documentación de Archivos Eliminados.", "Restore" : "Recuperar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "You" : "Usted", + "Not enough free space to restore the file/folder" : "No hay espacio libre suficiente para restaurar el archivo/carpeta", + "Empty deleted files" : "Archivos eliminados vacío", + "Confirm permanent deletion" : "Confimar borrado permanente", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "¿Estás seguro de que quieres eliminar permanentemente todos los archivos y carpetas de la papelera? Esta acción no se puede deshacer.", + "Cancel" : "Cancelar", "Original location" : "Ubicación original", "Deleted by" : "Borrado por", "Deleted" : "Eliminado", + "few seconds ago" : "hace unos pocos segundos", "A long time ago" : "Hace mucho tiempo", + "Unknown" : "Desconocido", + "All files" : "Todos los archivos", + "You" : "Usted", "List of files that have been deleted." : "Lista de archivos que han sido eliminados.", "No deleted files" : "No hay archivos eliminados", "Files and folders you have deleted will show up here" : "Los archivos y carpetas que ha eliminado aparecerán aquí", - "This application enables users to restore files that were deleted from the system." : "Esta app permite a los usuarios recuperar archivos borrados del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios recuperar archivos borrados del sistema. Muestra una lista de los archivos borrados en la interfaz web y tiene opciones para restaurar esos archivos borrados a los directorios del usuario o eliminarlos permanentemente del sistema. Restaurar un archivo también restaura las versiones del archivo relacionadas. Cuando un archivo se borra de una compartición, no se puede restaurar de la misma forma, pues ya no será compartido. Por defecto, estos archivos permanecen en la papelera de reciclaje durante 30 días.\nPara evitar que un usuario se quede sin espacio de disco, la app no utilizará más del 50% del espacio disponible a cada momento. Si los archivos borrados exceden este límite, la app borra los archivos más antiguos hasta volver a estar por debajo del límite. Más información disponible en la documentación de Archivos Eliminados.", - "You will be able to recover deleted files from here" : "Desde aquí se podrán recuperar archivos eliminados", - "No entries found in this folder" : "No hay nada en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" + "All files have been permanently deleted" : "Todos los archivos han sido eliminados de forma permanente", + "Failed to empty deleted files" : "Fallo al vaciar los archivos eliminados", + "Deletion cancelled" : "Eliminación cancelada" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es.json b/apps/files_trashbin/l10n/es.json index a1e8767c321..98e08e54e8a 100644 --- a/apps/files_trashbin/l10n/es.json +++ b/apps/files_trashbin/l10n/es.json @@ -5,22 +5,24 @@ "This application enables people to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que hayan sido eliminados del sistema. Muestra una lista de archivos eliminados en la interfaz web y ofrece opciones para restaurar esos archivos eliminados a los directorios de los usuarios o eliminarlos permanentemente del sistema. Al restaurar un archivo, también se restauran las versiones relacionadas del archivo, si la aplicación de versiones está habilitada. Cuando se elimina un archivo de un recurso compartido, también se puede restaurar de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera de reciclaje durante 30 días.\nPara evitar que una cuenta se quede sin espacio en el disco, la aplicación de archivos eliminados no utilizará más del 50% de la cuota disponible actualmente para los archivos eliminados. Si los archivos eliminados superan este límite, la aplicación eliminará los archivos más antiguos hasta que esté por debajo de este límite. Más información está disponible en la documentación de Archivos Eliminados.", "Restore" : "Recuperar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "You" : "Usted", + "Not enough free space to restore the file/folder" : "No hay espacio libre suficiente para restaurar el archivo/carpeta", + "Empty deleted files" : "Archivos eliminados vacío", + "Confirm permanent deletion" : "Confimar borrado permanente", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "¿Estás seguro de que quieres eliminar permanentemente todos los archivos y carpetas de la papelera? Esta acción no se puede deshacer.", + "Cancel" : "Cancelar", "Original location" : "Ubicación original", "Deleted by" : "Borrado por", "Deleted" : "Eliminado", + "few seconds ago" : "hace unos pocos segundos", "A long time ago" : "Hace mucho tiempo", + "Unknown" : "Desconocido", + "All files" : "Todos los archivos", + "You" : "Usted", "List of files that have been deleted." : "Lista de archivos que han sido eliminados.", "No deleted files" : "No hay archivos eliminados", "Files and folders you have deleted will show up here" : "Los archivos y carpetas que ha eliminado aparecerán aquí", - "This application enables users to restore files that were deleted from the system." : "Esta app permite a los usuarios recuperar archivos borrados del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios recuperar archivos borrados del sistema. Muestra una lista de los archivos borrados en la interfaz web y tiene opciones para restaurar esos archivos borrados a los directorios del usuario o eliminarlos permanentemente del sistema. Restaurar un archivo también restaura las versiones del archivo relacionadas. Cuando un archivo se borra de una compartición, no se puede restaurar de la misma forma, pues ya no será compartido. Por defecto, estos archivos permanecen en la papelera de reciclaje durante 30 días.\nPara evitar que un usuario se quede sin espacio de disco, la app no utilizará más del 50% del espacio disponible a cada momento. Si los archivos borrados exceden este límite, la app borra los archivos más antiguos hasta volver a estar por debajo del límite. Más información disponible en la documentación de Archivos Eliminados.", - "You will be able to recover deleted files from here" : "Desde aquí se podrán recuperar archivos eliminados", - "No entries found in this folder" : "No hay nada en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" + "All files have been permanently deleted" : "Todos los archivos han sido eliminados de forma permanente", + "Failed to empty deleted files" : "Fallo al vaciar los archivos eliminados", + "Deletion cancelled" : "Eliminación cancelada" },"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_trashbin/l10n/es_419.js b/apps/files_trashbin/l10n/es_419.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_419.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_419.json b/apps/files_trashbin/l10n/es_419.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_419.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_AR.js b/apps/files_trashbin/l10n/es_AR.js deleted file mode 100644 index dbf5f78acc2..00000000000 --- a/apps/files_trashbin/l10n/es_AR.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "recuperado", - "Deleted files" : "Archivos eliminados", - "Restore" : "Recuperar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Eliminado", - "No deleted files" : "No hay archivos eliminados", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema. Muestra una lista de los archivos eliminados en la interfaz web y tiene opciones para restaurar esos archivos eliminados a las carpetas del usuario o eliminarlos permanentemente del sistema. Restaurando un archivo también se restauran las versiones del archivo relacionadas, si la aplicación de versiones está habilitada. Cuando un archivo compartido es eliminado, éste puede ser restaurado de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera por 30 días.\nPara prevenir que un usuario se quede sin espacio en el disco, la aplicación de Archivos eliminados no utilizará mas del 50% de la cuota de espacio libre para archivos eliminados. Si los archivos eliminados exceden este límite, la aplicación elimina los archivos mas antiguos hasta permanecer debajo de ese límite. Más información está disponible en la documentación de Archivos Eliminados.", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos eliminados desde aquí", - "No entries found in this folder" : "No se encontraron entradas en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_AR.json b/apps/files_trashbin/l10n/es_AR.json deleted file mode 100644 index 99d7f0ae8b1..00000000000 --- a/apps/files_trashbin/l10n/es_AR.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "restored" : "recuperado", - "Deleted files" : "Archivos eliminados", - "Restore" : "Recuperar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Eliminado", - "No deleted files" : "No hay archivos eliminados", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema. Muestra una lista de los archivos eliminados en la interfaz web y tiene opciones para restaurar esos archivos eliminados a las carpetas del usuario o eliminarlos permanentemente del sistema. Restaurando un archivo también se restauran las versiones del archivo relacionadas, si la aplicación de versiones está habilitada. Cuando un archivo compartido es eliminado, éste puede ser restaurado de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera por 30 días.\nPara prevenir que un usuario se quede sin espacio en el disco, la aplicación de Archivos eliminados no utilizará mas del 50% de la cuota de espacio libre para archivos eliminados. Si los archivos eliminados exceden este límite, la aplicación elimina los archivos mas antiguos hasta permanecer debajo de ese límite. Más información está disponible en la documentación de Archivos Eliminados.", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos eliminados desde aquí", - "No entries found in this folder" : "No se encontraron entradas en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_CL.js b/apps/files_trashbin/l10n/es_CL.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_CL.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_CL.json b/apps/files_trashbin/l10n/es_CL.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_CL.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_CO.js b/apps/files_trashbin/l10n/es_CO.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_CO.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_CO.json b/apps/files_trashbin/l10n/es_CO.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_CO.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_CR.js b/apps/files_trashbin/l10n/es_CR.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_CR.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_CR.json b/apps/files_trashbin/l10n/es_CR.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_CR.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_DO.js b/apps/files_trashbin/l10n/es_DO.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_DO.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_DO.json b/apps/files_trashbin/l10n/es_DO.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_DO.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_EC.js b/apps/files_trashbin/l10n/es_EC.js deleted file mode 100644 index 064045a04a3..00000000000 --- a/apps/files_trashbin/l10n/es_EC.js +++ /dev/null @@ -1,23 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Archivos y carpetas eliminados en la papelera de reciclaje (pueden expirar durante la exportación si tienes poco espacio de almacenamiento)", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "A long time ago" : "Hace mucho tiempo.", - "List of files that have been deleted." : "Lista de archivos que han sido eliminados.", - "No deleted files" : "No hay archivos borrados", - "Files and folders you have deleted will show up here" : "Los archivos y carpetas que has eliminado aparecerán aquí. ", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que hayan sido eliminados del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que hayan sido eliminados del sistema. Muestra una lista de archivos eliminados en la interfaz web y ofrece opciones para restaurar esos archivos eliminados a los directorios de los usuarios o eliminarlos permanentemente del sistema. Al restaurar un archivo, también se restauran las versiones relacionadas del archivo, si la aplicación de versiones está habilitada. Cuando se elimina un archivo de un recurso compartido, también se puede restaurar de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera de reciclaje durante 30 días.Para evitar que un usuario se quede sin espacio en el disco, la aplicación de archivos eliminados no utilizará más del 50% de la cuota gratuita disponible actualmente para los archivos eliminados. Si los archivos eliminados superan este límite, la aplicación eliminará los archivos más antiguos hasta que esté por debajo de este límite. Más información está disponible en la documentación de Archivos Eliminados.", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_EC.json b/apps/files_trashbin/l10n/es_EC.json deleted file mode 100644 index 40314cdc480..00000000000 --- a/apps/files_trashbin/l10n/es_EC.json +++ /dev/null @@ -1,21 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Archivos y carpetas eliminados en la papelera de reciclaje (pueden expirar durante la exportación si tienes poco espacio de almacenamiento)", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "A long time ago" : "Hace mucho tiempo.", - "List of files that have been deleted." : "Lista de archivos que han sido eliminados.", - "No deleted files" : "No hay archivos borrados", - "Files and folders you have deleted will show up here" : "Los archivos y carpetas que has eliminado aparecerán aquí. ", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que hayan sido eliminados del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que hayan sido eliminados del sistema. Muestra una lista de archivos eliminados en la interfaz web y ofrece opciones para restaurar esos archivos eliminados a los directorios de los usuarios o eliminarlos permanentemente del sistema. Al restaurar un archivo, también se restauran las versiones relacionadas del archivo, si la aplicación de versiones está habilitada. Cuando se elimina un archivo de un recurso compartido, también se puede restaurar de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera de reciclaje durante 30 días.Para evitar que un usuario se quede sin espacio en el disco, la aplicación de archivos eliminados no utilizará más del 50% de la cuota gratuita disponible actualmente para los archivos eliminados. Si los archivos eliminados superan este límite, la aplicación eliminará los archivos más antiguos hasta que esté por debajo de este límite. Más información está disponible en la documentación de Archivos Eliminados.", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_GT.js b/apps/files_trashbin/l10n/es_GT.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_GT.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_GT.json b/apps/files_trashbin/l10n/es_GT.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_GT.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_HN.js b/apps/files_trashbin/l10n/es_HN.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_HN.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_HN.json b/apps/files_trashbin/l10n/es_HN.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_HN.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_MX.js b/apps/files_trashbin/l10n/es_MX.js index 9739abd2a80..60559480147 100644 --- a/apps/files_trashbin/l10n/es_MX.js +++ b/apps/files_trashbin/l10n/es_MX.js @@ -5,23 +5,19 @@ OC.L10N.register( "Deleted files" : "Papelera", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Archivos y carpetas eliminados en la papelera de reciclaje (pueden expirar durante la exportación si tiene poco espacio de almacenamiento)", "This application enables people to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que fueron borrados del sistema. Despliega una lista de los archivos borrados en la interface web, y tiene la opción de restaurarlos a los directorios de usuario o eliminarlos permanentemente del sistema. Restaurar un archivo también restaura las versiones relacionadas, si la aplicación de versiones está habilitada. Cuando se borra un archivo de un elemento compartido, puede ser restaurado de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera por 30 días.\nPara prevenir que un usuario se quede sin espacio, la aplicación de Archivos borrados no usará más del 50% del espacio disponible en ese momento para los archivos eliminados. Si los archivos eliminados exceden este límite, la aplicación elimina los archivos más antiguos hasta que queda dentro de este límite. Más información disponible en la documentación de Archivos borrados. ", "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "You" : "Usted", + "Cancel" : "Cancelar", "Original location" : "Ubicación original", "Deleted by" : "Eliminado por", "Deleted" : "Borrado", "A long time ago" : "Hace mucho tiempo", + "Unknown" : "Desconocido", + "All files" : "Todos los archivos", + "You" : "Usted", "List of files that have been deleted." : "Lista de archivos que han sido eliminados.", "No deleted files" : "No hay archivos borrados", "Files and folders you have deleted will show up here" : "Los archivos y carpetas que ha eliminado aparecerán aquí", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación le permite a los usuarios restaurar archivos que fueron borrados del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación le permite a los usuarios restaurar archivos que fueron borrados del sistema. Despliega una lista de los archivos borrados en la interface web, y tiene la opción de restaurarlos a los directorios del usuario o removerlos permanentemente del sistema. Restaurar un archivo tambien restaura las versiones relacionadas, si es que la aplicación de versiones está habilitada. Cuando se borra un archivo de un elemento compartido, puede ser restaurado de la misma forma, aunque ya no estará siendo compartido. Por omisión, estos archivos permanecen en la papelera por 30 días.\n\nPara prevenir que un usuario se quede sin espacio, la aplicación de Archivos borrados, no usará más del 50% del espacio disponible en ese momento para los archivos borrados. Si los archivos borrados exceden este límite, la aplicación borra los archivos más antiguos hasta que queda dentro de este límite. Hay más información disponbible en la documentación de Archivos Borrados. ", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" + "Deletion cancelled" : "Eliminación cancelada" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_MX.json b/apps/files_trashbin/l10n/es_MX.json index dc388e1ef79..49b3231b10b 100644 --- a/apps/files_trashbin/l10n/es_MX.json +++ b/apps/files_trashbin/l10n/es_MX.json @@ -3,23 +3,19 @@ "Deleted files" : "Papelera", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Archivos y carpetas eliminados en la papelera de reciclaje (pueden expirar durante la exportación si tiene poco espacio de almacenamiento)", "This application enables people to restore files that were deleted from the system." : "Esta aplicación permite a los usuarios restaurar archivos que fueron eliminados del sistema.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permite a los usuarios restaurar archivos que fueron borrados del sistema. Despliega una lista de los archivos borrados en la interface web, y tiene la opción de restaurarlos a los directorios de usuario o eliminarlos permanentemente del sistema. Restaurar un archivo también restaura las versiones relacionadas, si la aplicación de versiones está habilitada. Cuando se borra un archivo de un elemento compartido, puede ser restaurado de la misma manera, aunque ya no estará compartido. Por defecto, estos archivos permanecen en la papelera por 30 días.\nPara prevenir que un usuario se quede sin espacio, la aplicación de Archivos borrados no usará más del 50% del espacio disponible en ese momento para los archivos eliminados. Si los archivos eliminados exceden este límite, la aplicación elimina los archivos más antiguos hasta que queda dentro de este límite. Más información disponible en la documentación de Archivos borrados. ", "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "You" : "Usted", + "Cancel" : "Cancelar", "Original location" : "Ubicación original", "Deleted by" : "Eliminado por", "Deleted" : "Borrado", "A long time ago" : "Hace mucho tiempo", + "Unknown" : "Desconocido", + "All files" : "Todos los archivos", + "You" : "Usted", "List of files that have been deleted." : "Lista de archivos que han sido eliminados.", "No deleted files" : "No hay archivos borrados", "Files and folders you have deleted will show up here" : "Los archivos y carpetas que ha eliminado aparecerán aquí", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación le permite a los usuarios restaurar archivos que fueron borrados del sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación le permite a los usuarios restaurar archivos que fueron borrados del sistema. Despliega una lista de los archivos borrados en la interface web, y tiene la opción de restaurarlos a los directorios del usuario o removerlos permanentemente del sistema. Restaurar un archivo tambien restaura las versiones relacionadas, si es que la aplicación de versiones está habilitada. Cuando se borra un archivo de un elemento compartido, puede ser restaurado de la misma forma, aunque ya no estará siendo compartido. Por omisión, estos archivos permanecen en la papelera por 30 días.\n\nPara prevenir que un usuario se quede sin espacio, la aplicación de Archivos borrados, no usará más del 50% del espacio disponible en ese momento para los archivos borrados. Si los archivos borrados exceden este límite, la aplicación borra los archivos más antiguos hasta que queda dentro de este límite. Hay más información disponbible en la documentación de Archivos Borrados. ", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" + "Deletion cancelled" : "Eliminación cancelada" },"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_trashbin/l10n/es_NI.js b/apps/files_trashbin/l10n/es_NI.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_NI.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_NI.json b/apps/files_trashbin/l10n/es_NI.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_NI.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_PA.js b/apps/files_trashbin/l10n/es_PA.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_PA.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_PA.json b/apps/files_trashbin/l10n/es_PA.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_PA.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_PE.js b/apps/files_trashbin/l10n/es_PE.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_PE.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_PE.json b/apps/files_trashbin/l10n/es_PE.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_PE.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_PR.js b/apps/files_trashbin/l10n/es_PR.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_PR.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_PR.json b/apps/files_trashbin/l10n/es_PR.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_PR.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_PY.js b/apps/files_trashbin/l10n/es_PY.js deleted file mode 100644 index a7fd87452f7..00000000000 --- a/apps/files_trashbin/l10n/es_PY.js +++ /dev/null @@ -1,16 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "All files" : "Todos los archivos", - "No deleted files" : "No hay archivos borrados", - "Deleted" : "Borrado", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_PY.json b/apps/files_trashbin/l10n/es_PY.json deleted file mode 100644 index c5119b42fd5..00000000000 --- a/apps/files_trashbin/l10n/es_PY.json +++ /dev/null @@ -1,14 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "All files" : "Todos los archivos", - "No deleted files" : "No hay archivos borrados", - "Deleted" : "Borrado", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_SV.js b/apps/files_trashbin/l10n/es_SV.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_SV.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_SV.json b/apps/files_trashbin/l10n/es_SV.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_SV.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/es_UY.js b/apps/files_trashbin/l10n/es_UY.js deleted file mode 100644 index 10fabba195b..00000000000 --- a/apps/files_trashbin/l10n/es_UY.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -}, -"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/es_UY.json b/apps/files_trashbin/l10n/es_UY.json deleted file mode 100644 index fd3c7cd2a7e..00000000000 --- a/apps/files_trashbin/l10n/es_UY.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurado", - "Deleted files" : "Archivos borrados", - "Restore" : "Restaurar", - "Unknown" : "Desconocido", - "All files" : "Todos los archivos", - "Deleted" : "Borrado", - "No deleted files" : "No hay archivos borrados", - "You will be able to recover deleted files from here" : "Podrás recuperar archivos borrados desde aquí", - "No entries found in this folder" : "No se encontraron elementos en esta carpeta", - "Select all" : "Seleccionar todo", - "Name" : "Nombre", - "Actions" : "Acciones" -},"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_trashbin/l10n/et_EE.js b/apps/files_trashbin/l10n/et_EE.js index 32e3cb81d5d..b849cda8af6 100644 --- a/apps/files_trashbin/l10n/et_EE.js +++ b/apps/files_trashbin/l10n/et_EE.js @@ -4,18 +4,27 @@ OC.L10N.register( "restored" : "taastatud", "Deleted files" : "Kustutatud failid", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Kustutatud failid ja kaustad prügikastis (võivad ekspordi käigus aeguda, kui salvestusruum on otsakorral)", + "This application enables people to restore files that were deleted from the system." : "See rakendus võimaldab kasutajatel taastada faile, mis nad süsteemist kustutasid.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "See rakendus võimaldab inimestel taastada süsteemist kustutatud faile. See kuvab veebiliideses kustutatud failide loendi ja pakub võimalusi kustutatud failide taastamiseks inimeste failikataloogidesse või süsteemist jäädavalt eemaldamiseks. Faili taastamine taastab ka seotud failiversioonid, kui versioonirakendus on lubatud. Kui fail ühiskasutusest kustutatakse, saab selle taastada samal viisil, kuigi seda enam ei jagata. Vaikimisi jäävad need failid prügikasti 30 päevaks.\nKonto kettaruumi tühjenemise vältimiseks ei kasuta rakendus Kustutatud failid rohkem kui 50% praegu saadaolevast kustutatud failide tasuta kvoodist. Kui kustutatud failid ületavad selle limiidi, kustutab rakendus vanimad failid, kuni need jäävad sellest limiidist allapoole. Lisateavet leiate kustutatud failide dokumentatsioonist.", "Restore" : "Taasta", + "Not enough free space to restore the file/folder" : "Faili või kausta taastamiseks pole piisavalt vaba ruumi", + "Empty deleted files" : "Eemalda kustutatud failid lõplikult", + "Confirm permanent deletion" : "Kinnita lõplik kustutamine", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Kas oled kindel, et tahad lõplikult kustutada kõik prügikastis olevad failid ja kaustad? Seda tegevust ei saa tagasi keerata.", + "Cancel" : "Tühista", + "Original location" : "Algasukoht", + "Deleted by" : "Kustutas", + "Deleted" : "Kustutatud", + "few seconds ago" : "mõne sekundi eest", + "A long time ago" : "Pikka aega tagasi", "Unknown" : "Teadmata", "All files" : "Kõik failid", - "Deleted" : "Kustutatud", + "You" : "Sina", "List of files that have been deleted." : "Kustutatud failide loend.", "No deleted files" : "Kustutatud faile pole", - "This application enables users to restore files that were deleted from the system." : "See rakendus võimaldab kasutajatel kustutatud faile taastada.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "See rakendus võimaldab kasutajatel kustutatud faile taastada. Veebiliideses kuvatakse kustutatud failide loendit koos võimalusega need kas kasutaja failide hulka taastada või jäädavalt kustutada. Faili taastamine taastab ka selle versioonid, kui versioonide rakendus on lubatud. Kui fail kustutatakse jaoskaustast, saab seda samal moel taastada, ehkki see pole siis enam jagatud. Vaikimisi on failid prügikastus kuni 30 päeva.\nEt vältida kasutaja salvestusruumi otsasaamist, ei kasuta rakendus rohkem kui 50% saadaolevast salvestusruumist. Kui kustutatud failide maht ületab seda limiiti, kustutab rakendus järjest vanemaid faile, kuni maht jääb alla limiidi. Rohkem infot rakenduse dokumentatsioonis.", - "You will be able to recover deleted files from here" : "Siit saad kustutatud faile taastada", - "No entries found in this folder" : "Selles kaustas ei leitud kirjeid", - "Select all" : "Vali kõik", - "Name" : "Nimi", - "Actions" : "Tegevused" + "Files and folders you have deleted will show up here" : "Sinu kustutatud failid ja kaustad on nähtavad siin", + "All files have been permanently deleted" : "Kõik failid on kustutatud jäädavalt", + "Failed to empty deleted files" : "Kustutatud failide eemaldamine ei õnnestunud", + "Deletion cancelled" : "Kustutamine on tühistatud" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/et_EE.json b/apps/files_trashbin/l10n/et_EE.json index 4fd684bcdbe..f1112a1bbc2 100644 --- a/apps/files_trashbin/l10n/et_EE.json +++ b/apps/files_trashbin/l10n/et_EE.json @@ -2,18 +2,27 @@ "restored" : "taastatud", "Deleted files" : "Kustutatud failid", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Kustutatud failid ja kaustad prügikastis (võivad ekspordi käigus aeguda, kui salvestusruum on otsakorral)", + "This application enables people to restore files that were deleted from the system." : "See rakendus võimaldab kasutajatel taastada faile, mis nad süsteemist kustutasid.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "See rakendus võimaldab inimestel taastada süsteemist kustutatud faile. See kuvab veebiliideses kustutatud failide loendi ja pakub võimalusi kustutatud failide taastamiseks inimeste failikataloogidesse või süsteemist jäädavalt eemaldamiseks. Faili taastamine taastab ka seotud failiversioonid, kui versioonirakendus on lubatud. Kui fail ühiskasutusest kustutatakse, saab selle taastada samal viisil, kuigi seda enam ei jagata. Vaikimisi jäävad need failid prügikasti 30 päevaks.\nKonto kettaruumi tühjenemise vältimiseks ei kasuta rakendus Kustutatud failid rohkem kui 50% praegu saadaolevast kustutatud failide tasuta kvoodist. Kui kustutatud failid ületavad selle limiidi, kustutab rakendus vanimad failid, kuni need jäävad sellest limiidist allapoole. Lisateavet leiate kustutatud failide dokumentatsioonist.", "Restore" : "Taasta", + "Not enough free space to restore the file/folder" : "Faili või kausta taastamiseks pole piisavalt vaba ruumi", + "Empty deleted files" : "Eemalda kustutatud failid lõplikult", + "Confirm permanent deletion" : "Kinnita lõplik kustutamine", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Kas oled kindel, et tahad lõplikult kustutada kõik prügikastis olevad failid ja kaustad? Seda tegevust ei saa tagasi keerata.", + "Cancel" : "Tühista", + "Original location" : "Algasukoht", + "Deleted by" : "Kustutas", + "Deleted" : "Kustutatud", + "few seconds ago" : "mõne sekundi eest", + "A long time ago" : "Pikka aega tagasi", "Unknown" : "Teadmata", "All files" : "Kõik failid", - "Deleted" : "Kustutatud", + "You" : "Sina", "List of files that have been deleted." : "Kustutatud failide loend.", "No deleted files" : "Kustutatud faile pole", - "This application enables users to restore files that were deleted from the system." : "See rakendus võimaldab kasutajatel kustutatud faile taastada.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "See rakendus võimaldab kasutajatel kustutatud faile taastada. Veebiliideses kuvatakse kustutatud failide loendit koos võimalusega need kas kasutaja failide hulka taastada või jäädavalt kustutada. Faili taastamine taastab ka selle versioonid, kui versioonide rakendus on lubatud. Kui fail kustutatakse jaoskaustast, saab seda samal moel taastada, ehkki see pole siis enam jagatud. Vaikimisi on failid prügikastus kuni 30 päeva.\nEt vältida kasutaja salvestusruumi otsasaamist, ei kasuta rakendus rohkem kui 50% saadaolevast salvestusruumist. Kui kustutatud failide maht ületab seda limiiti, kustutab rakendus järjest vanemaid faile, kuni maht jääb alla limiidi. Rohkem infot rakenduse dokumentatsioonis.", - "You will be able to recover deleted files from here" : "Siit saad kustutatud faile taastada", - "No entries found in this folder" : "Selles kaustas ei leitud kirjeid", - "Select all" : "Vali kõik", - "Name" : "Nimi", - "Actions" : "Tegevused" + "Files and folders you have deleted will show up here" : "Sinu kustutatud failid ja kaustad on nähtavad siin", + "All files have been permanently deleted" : "Kõik failid on kustutatud jäädavalt", + "Failed to empty deleted files" : "Kustutatud failide eemaldamine ei õnnestunud", + "Deletion cancelled" : "Kustutamine on tühistatud" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/eu.js b/apps/files_trashbin/l10n/eu.js index 82c30bfda26..0378af13362 100644 --- a/apps/files_trashbin/l10n/eu.js +++ b/apps/files_trashbin/l10n/eu.js @@ -7,22 +7,20 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Aplikazio honek pertsonei sistematik ezabatutako fitxategiak leheneratzeko aukera ematen die.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aplikazio honek aukera ematen die pertsonei sistematik ezabatutako fitxategiak leheneratzeko. Web interfazean ezabatutako fitxategien zerrenda bistaratzen du, eta ezabatutako fitxategiak erabiltzaileen fitxategi direktorioetara leheneratu edo sistematik betirako kentzeko aukerak ditu. Fitxategia leheneratzeak erlazionatutako fitxategi bertsioak ere leheneratzen ditu, bertsioen aplikazioa gaituta badago. Fitxategia partekatzetik ezabatzen denean, modu berean leheneratu daiteke, jada partekatzen ez bada ere. Modu lehenetsian, fitxategi hauek 30 egunez geratzen dira zakarrontzian.\nKontua diskoan lekurik gabe geratzea saihesteko, Ezabatutako Fitxategiak aplikazioak ez du ezabatutako fitxategietarako uneko kuota librearen % 50 baino gehiago erabiliko. Ezabatutako fitxategiek muga hori gainditzen badute, aplikazioak fitxategi zaharrenak ezabatuko ditu muga horren azpitik egon arte. Informazio gehiago erabilgarri dago Ezabatutako Fitxategiak ataleko dokumentazioan.", "Restore" : "Leheneratu", - "Unknown" : "Ezezaguna", - "All files" : "Fitxategi guztiak", - "You" : "Zu ", + "Empty deleted files" : "Hustu ezabatutako fitxategiak", + "Confirm permanent deletion" : "Berretsi betirako ezabatzea", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Ziur betiko ezabatu nahi dituzula zakarrontziko fitxategi eta karpetak? Hau ezin da desegin.", + "Cancel" : "Utzi", "Original location" : "Jatorrizko kokalekua", "Deleted by" : "Honek ezabatuta", "Deleted" : "Ezabatuta", "A long time ago" : "Orain dela denbora asko", + "Unknown" : "Ezezaguna", + "All files" : "Fitxategi guztiak", + "You" : "Zu ", "List of files that have been deleted." : "Ezabatu diren fitxategien zerrenda.", "No deleted files" : "Ez dago ezabatutako fitxategirik", "Files and folders you have deleted will show up here" : "Ezabatu dituzun fitxategi eta karpetak hemen agertuko dira", - "This application enables users to restore files that were deleted from the system." : "Aplikazio honek erabiltzaileei sistematik ezabatutako fitxategiak leheneratzeko aukera ematen die.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aplikazio honek aukera ematen die erabiltzaileei sistematik ezabatutako fitxategiak leheneratzeko. Web interfazean ezabatutako fitxategien zerrenda bistaratzen du, eta ezabatutako fitxategiak erabiltzaileen fitxategi direktorioetara leheneratu edo sistematik betirako kentzeko aukerak ditu. Fitxategia leheneratzeak erlazionatutako fitxategi bertsioak ere leheneratzen ditu, bertsioen aplikazioa gaituta badago. Fitxategia partekatzetik ezabatzen denean, modu berean leheneratu daiteke, jada partekatzen ez bada ere. Modu lehenetsian, fitxategi hauek 30 egunez geratzen dira zakarrontzian.\nErabiltzailea diskoan lekurik gabe geratzea saihesteko, Ezabatutako Fitxategiak aplikazioak ez du ezabatutako fitxategietarako uneko kuota librearen % 50 baino gehiago erabiliko. Ezabatutako fitxategiek muga hori gainditzen badute, aplikazioak fitxategi zaharrenak ezabatuko ditu muga horren azpitik egon arte. Informazio gehiago erabilgarri dago Ezabatutako Fitxategiak ataleko dokumentazioan.", - "You will be able to recover deleted files from here" : "Hemendik ezabatutako fitxategiak berreskuratu ahalko dituzu", - "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan", - "Select all" : "Hautatu dena", - "Name" : "Izena", - "Actions" : "Ekintzak" + "Deletion cancelled" : "Ezabatzea bertan behera utzi da" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/eu.json b/apps/files_trashbin/l10n/eu.json index dfb54484aa4..98399922256 100644 --- a/apps/files_trashbin/l10n/eu.json +++ b/apps/files_trashbin/l10n/eu.json @@ -5,22 +5,20 @@ "This application enables people to restore files that were deleted from the system." : "Aplikazio honek pertsonei sistematik ezabatutako fitxategiak leheneratzeko aukera ematen die.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aplikazio honek aukera ematen die pertsonei sistematik ezabatutako fitxategiak leheneratzeko. Web interfazean ezabatutako fitxategien zerrenda bistaratzen du, eta ezabatutako fitxategiak erabiltzaileen fitxategi direktorioetara leheneratu edo sistematik betirako kentzeko aukerak ditu. Fitxategia leheneratzeak erlazionatutako fitxategi bertsioak ere leheneratzen ditu, bertsioen aplikazioa gaituta badago. Fitxategia partekatzetik ezabatzen denean, modu berean leheneratu daiteke, jada partekatzen ez bada ere. Modu lehenetsian, fitxategi hauek 30 egunez geratzen dira zakarrontzian.\nKontua diskoan lekurik gabe geratzea saihesteko, Ezabatutako Fitxategiak aplikazioak ez du ezabatutako fitxategietarako uneko kuota librearen % 50 baino gehiago erabiliko. Ezabatutako fitxategiek muga hori gainditzen badute, aplikazioak fitxategi zaharrenak ezabatuko ditu muga horren azpitik egon arte. Informazio gehiago erabilgarri dago Ezabatutako Fitxategiak ataleko dokumentazioan.", "Restore" : "Leheneratu", - "Unknown" : "Ezezaguna", - "All files" : "Fitxategi guztiak", - "You" : "Zu ", + "Empty deleted files" : "Hustu ezabatutako fitxategiak", + "Confirm permanent deletion" : "Berretsi betirako ezabatzea", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Ziur betiko ezabatu nahi dituzula zakarrontziko fitxategi eta karpetak? Hau ezin da desegin.", + "Cancel" : "Utzi", "Original location" : "Jatorrizko kokalekua", "Deleted by" : "Honek ezabatuta", "Deleted" : "Ezabatuta", "A long time ago" : "Orain dela denbora asko", + "Unknown" : "Ezezaguna", + "All files" : "Fitxategi guztiak", + "You" : "Zu ", "List of files that have been deleted." : "Ezabatu diren fitxategien zerrenda.", "No deleted files" : "Ez dago ezabatutako fitxategirik", "Files and folders you have deleted will show up here" : "Ezabatu dituzun fitxategi eta karpetak hemen agertuko dira", - "This application enables users to restore files that were deleted from the system." : "Aplikazio honek erabiltzaileei sistematik ezabatutako fitxategiak leheneratzeko aukera ematen die.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aplikazio honek aukera ematen die erabiltzaileei sistematik ezabatutako fitxategiak leheneratzeko. Web interfazean ezabatutako fitxategien zerrenda bistaratzen du, eta ezabatutako fitxategiak erabiltzaileen fitxategi direktorioetara leheneratu edo sistematik betirako kentzeko aukerak ditu. Fitxategia leheneratzeak erlazionatutako fitxategi bertsioak ere leheneratzen ditu, bertsioen aplikazioa gaituta badago. Fitxategia partekatzetik ezabatzen denean, modu berean leheneratu daiteke, jada partekatzen ez bada ere. Modu lehenetsian, fitxategi hauek 30 egunez geratzen dira zakarrontzian.\nErabiltzailea diskoan lekurik gabe geratzea saihesteko, Ezabatutako Fitxategiak aplikazioak ez du ezabatutako fitxategietarako uneko kuota librearen % 50 baino gehiago erabiliko. Ezabatutako fitxategiek muga hori gainditzen badute, aplikazioak fitxategi zaharrenak ezabatuko ditu muga horren azpitik egon arte. Informazio gehiago erabilgarri dago Ezabatutako Fitxategiak ataleko dokumentazioan.", - "You will be able to recover deleted files from here" : "Hemendik ezabatutako fitxategiak berreskuratu ahalko dituzu", - "No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan", - "Select all" : "Hautatu dena", - "Name" : "Izena", - "Actions" : "Ekintzak" + "Deletion cancelled" : "Ezabatzea bertan behera utzi da" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/fa.js b/apps/files_trashbin/l10n/fa.js index 9aa037a85b9..754f712da4b 100644 --- a/apps/files_trashbin/l10n/fa.js +++ b/apps/files_trashbin/l10n/fa.js @@ -5,19 +5,15 @@ OC.L10N.register( "Deleted files" : "فایل های حذف شده", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)", "Restore" : "بازیابی", - "Unknown" : "ناشناخته", - "All files" : "تمامی فایلها", + "Cancel" : "منصرف شدن", "Deleted" : "حذف شده", "A long time ago" : "مدت ها پیش", + "Unknown" : "ناشناخته", + "All files" : "تمامی فایلها", + "You" : "You", "List of files that have been deleted." : "List of files that have been deleted.", "No deleted files" : "هیچ فایل حذف شده وجود ندارد", "Files and folders you have deleted will show up here" : "Files and folders you have deleted will show up here", - "This application enables users to restore files that were deleted from the system." : "این برنامه کاربران را قادر می سازد تا پرونده هایی را که از سیستم حذف شده اند بازیابی کنند.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "این برنامه کاربران را قادر می سازد تا پرونده هایی را که از سیستم حذف شده اند بازیابی کنند. این لیست لیستی از پرونده های حذف شده در رابط وب را نشان می دهد ، و گزینه هایی برای بازگرداندن آن پرونده های حذف شده به فهرست پرونده های کاربران یا حذف دائمی آنها از سیستم دارد. در صورت فعال بودن برنامه نسخه ، با بازیابی یک پرونده ، نسخه های مربوط به پرونده نیز بازیابی می شود. هنگامی که یک پرونده از یک سهم حذف شد ، می تواند به همان شیوه بازیابی شود ، اگرچه دیگر به اشتراک گذاشته نشده است. به طور پیش فرض ، این پرونده ها به مدت 30 روز در سطل زباله باقی می مانند.\nبرای جلوگیری از خالی شدن فضای کاربر در فضای دیسک ، برنامه حذف پرونده ها بیش از 50٪ از سهمیه رایگان موجود در حال حاضر را برای پرونده های حذف شده استفاده نمی کند. اگر پرونده های حذف شده از این حد فراتر رود ، برنامه قدیمی ترین پرونده ها را حذف می کند تا اینکه به زیر این حد برسد. اطلاعات بیشتر در مستندات حذف پرونده ها موجود است.", - "You will be able to recover deleted files from here" : "شما قادر خواهید بود فایل های حذف شده را از اینجا بازیابی کنید", - "No entries found in this folder" : "هیچ ورودیای در این پوشه وجود ندارد", - "Select all" : "انتخاب همه", - "Name" : "نام", - "Actions" : "فعالیت ها" + "Deletion cancelled" : "Deletion cancelled" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_trashbin/l10n/fa.json b/apps/files_trashbin/l10n/fa.json index 0b6c9f5cd50..127fbaee743 100644 --- a/apps/files_trashbin/l10n/fa.json +++ b/apps/files_trashbin/l10n/fa.json @@ -3,19 +3,15 @@ "Deleted files" : "فایل های حذف شده", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)", "Restore" : "بازیابی", - "Unknown" : "ناشناخته", - "All files" : "تمامی فایلها", + "Cancel" : "منصرف شدن", "Deleted" : "حذف شده", "A long time ago" : "مدت ها پیش", + "Unknown" : "ناشناخته", + "All files" : "تمامی فایلها", + "You" : "You", "List of files that have been deleted." : "List of files that have been deleted.", "No deleted files" : "هیچ فایل حذف شده وجود ندارد", "Files and folders you have deleted will show up here" : "Files and folders you have deleted will show up here", - "This application enables users to restore files that were deleted from the system." : "این برنامه کاربران را قادر می سازد تا پرونده هایی را که از سیستم حذف شده اند بازیابی کنند.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "این برنامه کاربران را قادر می سازد تا پرونده هایی را که از سیستم حذف شده اند بازیابی کنند. این لیست لیستی از پرونده های حذف شده در رابط وب را نشان می دهد ، و گزینه هایی برای بازگرداندن آن پرونده های حذف شده به فهرست پرونده های کاربران یا حذف دائمی آنها از سیستم دارد. در صورت فعال بودن برنامه نسخه ، با بازیابی یک پرونده ، نسخه های مربوط به پرونده نیز بازیابی می شود. هنگامی که یک پرونده از یک سهم حذف شد ، می تواند به همان شیوه بازیابی شود ، اگرچه دیگر به اشتراک گذاشته نشده است. به طور پیش فرض ، این پرونده ها به مدت 30 روز در سطل زباله باقی می مانند.\nبرای جلوگیری از خالی شدن فضای کاربر در فضای دیسک ، برنامه حذف پرونده ها بیش از 50٪ از سهمیه رایگان موجود در حال حاضر را برای پرونده های حذف شده استفاده نمی کند. اگر پرونده های حذف شده از این حد فراتر رود ، برنامه قدیمی ترین پرونده ها را حذف می کند تا اینکه به زیر این حد برسد. اطلاعات بیشتر در مستندات حذف پرونده ها موجود است.", - "You will be able to recover deleted files from here" : "شما قادر خواهید بود فایل های حذف شده را از اینجا بازیابی کنید", - "No entries found in this folder" : "هیچ ورودیای در این پوشه وجود ندارد", - "Select all" : "انتخاب همه", - "Name" : "نام", - "Actions" : "فعالیت ها" + "Deletion cancelled" : "Deletion cancelled" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/fi.js b/apps/files_trashbin/l10n/fi.js index d5202ea3ad9..d60a19c42fc 100644 --- a/apps/files_trashbin/l10n/fi.js +++ b/apps/files_trashbin/l10n/fi.js @@ -4,19 +4,21 @@ OC.L10N.register( "restored" : "palautettu", "Deleted files" : "Poistetut tiedostot", "Restore" : "Palauta", - "Unknown" : "Tuntematon", - "All files" : "Kaikki tiedostot", + "Not enough free space to restore the file/folder" : "Tiedoston/kansion palauttamiseksi ei ole riittävästi vapaata tilaa", + "Empty deleted files" : "Tyhjennä poistetut tiedostot", + "Confirm permanent deletion" : "Vahvista lopullinen poistaminen", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Haluatko varmasti poistaa pysyvästi kaikki roskakorissa olevat tiedostot ja kansiot? Tätä ei voi perua.", + "Cancel" : "Peruuta", + "Original location" : "Alkuperäinen sijainti", + "Deleted by" : "Poistanut", "Deleted" : "Poistettu", "A long time ago" : "Kauan aikaa sitten", + "Unknown" : "Tuntematon", + "All files" : "Kaikki tiedostot", + "You" : "Sinä", "List of files that have been deleted." : "Luettelo poistetuista tiedostoista.", "No deleted files" : "Ei poistettuja tiedostoja", "Files and folders you have deleted will show up here" : "Poistamasi tiedostot ja kansiot näkyvät täällä", - "This application enables users to restore files that were deleted from the system." : "Tämä sovellus mahdollistaa käyttäjien palauttaa järjestelmästä poistamiaan tiedostoja.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Tämä sovellus mahdollistaa käyttäjien palauttaa poistettuja tiedostoja. Se näyttää listan poistetuista tiedostoista nettikäyttöliittymässä ja tarjoaa mahdollisuudet palauttaa niitä takaisin käyttäjän hakemistoihin tai poistaa niitä lopullisesti. Tiedoston palauttaminen palauttaa myös sen versiohistorian, jos Versiot-sovellus on asennettuna. Jaetut tiedostot voidaan palauttaa samalla tavalla, mutta niiden jakamistilaa ei palauteta. Oletusarvoisesti poistetut tiedostot säilyvät roskakorissa 30 päivää.\nJotta käyttäjän tallennustila ei loppuisi, Poistetut tiedostot -sovellus käyttää enintään 50% käyttäjän vapaasta tallennustilasta poistetuille tiedostoille ja poistaa niitä vanhimmasta lähtien, jos raja ylittyy. Lisää tietoa on saatavilla Poistetut tiedostot -sovelluksen dokumentaatiosta.", - "You will be able to recover deleted files from here" : "Voit palauttaa poistettuja tiedostoja tätä kautta", - "No entries found in this folder" : "Ei kohteita tässä kansiossa", - "Select all" : "Valitse kaikki", - "Name" : "Nimi", - "Actions" : "Toiminnot" + "Deletion cancelled" : "Poistaminen peruttu" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/fi.json b/apps/files_trashbin/l10n/fi.json index 623dc400c3a..4e83a88a2b9 100644 --- a/apps/files_trashbin/l10n/fi.json +++ b/apps/files_trashbin/l10n/fi.json @@ -2,19 +2,21 @@ "restored" : "palautettu", "Deleted files" : "Poistetut tiedostot", "Restore" : "Palauta", - "Unknown" : "Tuntematon", - "All files" : "Kaikki tiedostot", + "Not enough free space to restore the file/folder" : "Tiedoston/kansion palauttamiseksi ei ole riittävästi vapaata tilaa", + "Empty deleted files" : "Tyhjennä poistetut tiedostot", + "Confirm permanent deletion" : "Vahvista lopullinen poistaminen", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Haluatko varmasti poistaa pysyvästi kaikki roskakorissa olevat tiedostot ja kansiot? Tätä ei voi perua.", + "Cancel" : "Peruuta", + "Original location" : "Alkuperäinen sijainti", + "Deleted by" : "Poistanut", "Deleted" : "Poistettu", "A long time ago" : "Kauan aikaa sitten", + "Unknown" : "Tuntematon", + "All files" : "Kaikki tiedostot", + "You" : "Sinä", "List of files that have been deleted." : "Luettelo poistetuista tiedostoista.", "No deleted files" : "Ei poistettuja tiedostoja", "Files and folders you have deleted will show up here" : "Poistamasi tiedostot ja kansiot näkyvät täällä", - "This application enables users to restore files that were deleted from the system." : "Tämä sovellus mahdollistaa käyttäjien palauttaa järjestelmästä poistamiaan tiedostoja.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Tämä sovellus mahdollistaa käyttäjien palauttaa poistettuja tiedostoja. Se näyttää listan poistetuista tiedostoista nettikäyttöliittymässä ja tarjoaa mahdollisuudet palauttaa niitä takaisin käyttäjän hakemistoihin tai poistaa niitä lopullisesti. Tiedoston palauttaminen palauttaa myös sen versiohistorian, jos Versiot-sovellus on asennettuna. Jaetut tiedostot voidaan palauttaa samalla tavalla, mutta niiden jakamistilaa ei palauteta. Oletusarvoisesti poistetut tiedostot säilyvät roskakorissa 30 päivää.\nJotta käyttäjän tallennustila ei loppuisi, Poistetut tiedostot -sovellus käyttää enintään 50% käyttäjän vapaasta tallennustilasta poistetuille tiedostoille ja poistaa niitä vanhimmasta lähtien, jos raja ylittyy. Lisää tietoa on saatavilla Poistetut tiedostot -sovelluksen dokumentaatiosta.", - "You will be able to recover deleted files from here" : "Voit palauttaa poistettuja tiedostoja tätä kautta", - "No entries found in this folder" : "Ei kohteita tässä kansiossa", - "Select all" : "Valitse kaikki", - "Name" : "Nimi", - "Actions" : "Toiminnot" + "Deletion cancelled" : "Poistaminen peruttu" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/fr.js b/apps/files_trashbin/l10n/fr.js index dad758973dd..bdc84aa3e7b 100644 --- a/apps/files_trashbin/l10n/fr.js +++ b/apps/files_trashbin/l10n/fr.js @@ -5,23 +5,26 @@ OC.L10N.register( "Deleted files" : "Fichiers supprimés", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Dossiers et fichiers supprimés dans la corbeille (peuvent expirer pendant l'export s'il reste peu d'espace disque)", "This application enables people to restore files that were deleted from the system." : "Cette application permet aux personnes de restaurer des fichiers qui ont été supprimés du système.", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cette application permet aux personnes de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les dossiers de fichiers des personnes ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un compte de manquer d'espace disque, l'application Fichiers supprimés n'utilisera pas plus de 50 % du quota gratuit actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cette application permet aux personnes de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les dossiers de fichiers des personnes ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un compte de manquer d'espace disque, l'application \"Fichiers supprimés\" n'utilisera pas plus de 50 % du quota actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.", "Restore" : "Restaurer", - "Unknown" : "Inconnu", - "All files" : "Tous les fichiers", - "You" : "Vous", + "Not enough free space to restore the file/folder" : "Espace libre insuffisant pour restaurer le fichier/dossier", + "Empty deleted files" : "Vider les fichiers supprimés", + "Confirm permanent deletion" : "Confirmer la suppression définitive", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Êtes-vous sûr de vouloir supprimer définitivement tous les fichiers et dossiers dans la corbeille ? Cette action est irréversible.", + "Cancel" : "Annuler", "Original location" : "Emplacement original", + "Deleted by" : "Supprimé par", "Deleted" : "Supprimé", + "few seconds ago" : "Il y a quelques secondes", "A long time ago" : "Il y a longtemps", + "Unknown" : "Inconnu", + "All files" : "Tous les fichiers", + "You" : "Vous", "List of files that have been deleted." : "Liste des fichiers qui ont été supprimés.", "No deleted files" : "Aucun fichier supprimé", - "Files and folders you have deleted will show up here" : "Les fichiers et dossiers que vous avez supprimés s'afficheront ici", - "This application enables users to restore files that were deleted from the system." : "Cette application permet aux utilisateurs de restaurer des fichiers qui ont été supprimés du système.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cette application permet aux utilisateurs de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les dossiers de fichiers des utilisateurs ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un utilisateur de manquer d'espace disque, l'application Fichiers supprimés n'utilisera pas plus de 50% du quota gratuit actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.", - "You will be able to recover deleted files from here" : "Les fichiers supprimés s'afficheront ici et vous pourrez les restaurer.", - "No entries found in this folder" : "Aucune entrée trouvée dans ce dossier", - "Select all" : "Tout sélectionner", - "Name" : "Nom", - "Actions" : "Actions" + "Files and folders you have deleted will show up here" : "Les fichiers et dossiers que vous avez supprimés apparaîtront ici", + "All files have been permanently deleted" : "Tous les fichiers ont été définitivement supprimés", + "Failed to empty deleted files" : "Échec de la vidange des fichiers supprimés", + "Deletion cancelled" : "Suppression annulée" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/fr.json b/apps/files_trashbin/l10n/fr.json index 08848c13127..855cee45eee 100644 --- a/apps/files_trashbin/l10n/fr.json +++ b/apps/files_trashbin/l10n/fr.json @@ -3,23 +3,26 @@ "Deleted files" : "Fichiers supprimés", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Dossiers et fichiers supprimés dans la corbeille (peuvent expirer pendant l'export s'il reste peu d'espace disque)", "This application enables people to restore files that were deleted from the system." : "Cette application permet aux personnes de restaurer des fichiers qui ont été supprimés du système.", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cette application permet aux personnes de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les dossiers de fichiers des personnes ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un compte de manquer d'espace disque, l'application Fichiers supprimés n'utilisera pas plus de 50 % du quota gratuit actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cette application permet aux personnes de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les dossiers de fichiers des personnes ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un compte de manquer d'espace disque, l'application \"Fichiers supprimés\" n'utilisera pas plus de 50 % du quota actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.", "Restore" : "Restaurer", - "Unknown" : "Inconnu", - "All files" : "Tous les fichiers", - "You" : "Vous", + "Not enough free space to restore the file/folder" : "Espace libre insuffisant pour restaurer le fichier/dossier", + "Empty deleted files" : "Vider les fichiers supprimés", + "Confirm permanent deletion" : "Confirmer la suppression définitive", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Êtes-vous sûr de vouloir supprimer définitivement tous les fichiers et dossiers dans la corbeille ? Cette action est irréversible.", + "Cancel" : "Annuler", "Original location" : "Emplacement original", + "Deleted by" : "Supprimé par", "Deleted" : "Supprimé", + "few seconds ago" : "Il y a quelques secondes", "A long time ago" : "Il y a longtemps", + "Unknown" : "Inconnu", + "All files" : "Tous les fichiers", + "You" : "Vous", "List of files that have been deleted." : "Liste des fichiers qui ont été supprimés.", "No deleted files" : "Aucun fichier supprimé", - "Files and folders you have deleted will show up here" : "Les fichiers et dossiers que vous avez supprimés s'afficheront ici", - "This application enables users to restore files that were deleted from the system." : "Cette application permet aux utilisateurs de restaurer des fichiers qui ont été supprimés du système.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cette application permet aux utilisateurs de restaurer les fichiers qui ont été supprimés du système. Il affiche une liste de fichiers supprimés dans l'interface Web et dispose d'options pour restaurer ces fichiers supprimés dans les dossiers de fichiers des utilisateurs ou les supprimer définitivement du système. La restauration d'un fichier restaure également les versions de fichiers associées, si l'application de versions est activée. Lorsqu'un fichier est supprimé d'un partage, il peut être restauré de la même manière, bien qu'il ne soit plus partagé. Par défaut, ces fichiers restent dans la corbeille pendant 30 jours.\n\nPour empêcher un utilisateur de manquer d'espace disque, l'application Fichiers supprimés n'utilisera pas plus de 50% du quota gratuit actuellement disponible pour les fichiers supprimés. Si les fichiers supprimés dépassent cette limite, l'application supprime les fichiers les plus anciens jusqu'à ce qu'elle soit inférieure à cette limite. Plus d'informations sont disponibles dans la documentation Fichiers supprimés.", - "You will be able to recover deleted files from here" : "Les fichiers supprimés s'afficheront ici et vous pourrez les restaurer.", - "No entries found in this folder" : "Aucune entrée trouvée dans ce dossier", - "Select all" : "Tout sélectionner", - "Name" : "Nom", - "Actions" : "Actions" + "Files and folders you have deleted will show up here" : "Les fichiers et dossiers que vous avez supprimés apparaîtront ici", + "All files have been permanently deleted" : "Tous les fichiers ont été définitivement supprimés", + "Failed to empty deleted files" : "Échec de la vidange des fichiers supprimés", + "Deletion cancelled" : "Suppression annulée" },"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ga.js b/apps/files_trashbin/l10n/ga.js index 2738745749b..bb6fd1b15fc 100644 --- a/apps/files_trashbin/l10n/ga.js +++ b/apps/files_trashbin/l10n/ga.js @@ -7,22 +7,24 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Cuireann an feidhmchlár seo ar chumas daoine comhaid a scriosadh as an gcóras a chur ar ais.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cuireann an feidhmchlár seo ar chumas daoine comhaid a scriosadh as an gcóras a chur ar ais. Taispeánann sé liosta de chomhaid scriosta sa chomhéadan gréasáin, agus tá roghanna ann chun na comhaid sin a scriosadh a chur ar ais go dtí na heolairí comhaid daoine nó iad a bhaint go buan den chóras. Athchóiríonn comhad a athbhunú leaganacha gaolmhara comhaid, má tá feidhmchlár na leaganacha cumasaithe. Nuair a scriostar comhad ó sciar, is féidir é a chur ar ais ar an mbealach céanna, cé nach bhfuil sé roinnte a thuilleadh. De réir réamhshocraithe, fanann na comhaid seo sa bhosca bruscair ar feadh 30 lá.\nChun cosc a chur ar chuntas imeacht as spás diosca, ní úsáidfidh an aip Comhaid Scriosta níos mó ná 50% den chuóta saor in aisce atá ar fáil faoi láthair le haghaidh comhaid scriosta. Má sháraíonn na comhaid scriosta an teorainn seo, scriosann an aip na comhaid is sine go dtí go n-éireoidh sé faoin teorainn seo. Tá tuilleadh faisnéise ar fáil sa doiciméadú Comhaid Scriosta.", "Restore" : "Athchóirigh", - "Unknown" : "Anaithnid", - "All files" : "Gach comhad", - "You" : "tu", + "Not enough free space to restore the file/folder" : "Níl dóthain spáis saor ann chun an comhad/fillteán a athchóiriú", + "Empty deleted files" : "Comhaid scriosta folamh", + "Confirm permanent deletion" : "Deimhnigh scriosadh buan", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "An bhfuil tú cinnte gur mian leat gach comhad agus fillteán sa bhruscar a scriosadh go buan? Ní féidir é seo a chealú.", + "Cancel" : "Cealaigh", "Original location" : "Suíomh bunaidh", "Deleted by" : "Scriosta ag", "Deleted" : "Scriosta", + "few seconds ago" : "cúpla soicind ó shin", "A long time ago" : "Fadó fadó", + "Unknown" : "Anaithnid", + "All files" : "Gach comhad", + "You" : "tu", "List of files that have been deleted." : "Liosta de na comhaid a scriosadh.", "No deleted files" : "Níl aon chomhaid scriosta", "Files and folders you have deleted will show up here" : "Taispeánfar na comhaid agus na fillteáin atá scriosta agat anseo", - "This application enables users to restore files that were deleted from the system." : "Cuireann an feidhmchlár seo ar chumas úsáideoirí comhaid a scriosadh as an gcóras a chur ar ais.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cuireann an feidhmchlár seo ar chumas úsáideoirí comhaid a scriosadh as an gcóras a chur ar ais. Taispeánann sé liosta de chomhaid scriosta sa chomhéadan gréasáin, agus tá roghanna ann chun na comhaid sin a scriosadh a chur ar ais go heolairí comhaid na n-úsáideoirí nó iad a bhaint go buan den chóras. Athchóiríonn comhad a athbhunú leaganacha gaolmhara comhaid, má tá feidhmchlár na leaganacha cumasaithe. Nuair a scriostar comhad ó sciar, is féidir é a chur ar ais ar an mbealach céanna, cé nach bhfuil sé roinnte a thuilleadh. De réir réamhshocraithe, fanann na comhaid seo sa bhosca bruscair ar feadh 30 lá.\nChun cosc a chur ar úsáideoir imeacht as spás diosca, ní úsáidfidh an aip Comhaid Scriosta níos mó ná 50% den chuóta saor in aisce atá ar fáil faoi láthair le haghaidh comhaid scriosta. Má sháraíonn na comhaid scriosta an teorainn seo, scriosann an aip na comhaid is sine go dtí go n-éireoidh sé faoin teorainn seo. Tá tuilleadh faisnéise ar fáil sa doiciméadú Comhaid Scriosta.", - "You will be able to recover deleted files from here" : "Beidh tú in ann comhaid a scriosadh a ghnóthú ó anseo", - "No entries found in this folder" : "Níor aimsíodh aon iontrálacha san fhillteán seo", - "Select all" : "Roghnú go léir", - "Name" : "Ainm", - "Actions" : "Gníomhartha" + "All files have been permanently deleted" : "Scriosadh na comhaid go léir go buan", + "Failed to empty deleted files" : "Theip ar na comhaid scriosta a fholmhú", + "Deletion cancelled" : "Scriosadh cealaithe" }, "nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"); diff --git a/apps/files_trashbin/l10n/ga.json b/apps/files_trashbin/l10n/ga.json index 783ef9b4dd1..25078b953af 100644 --- a/apps/files_trashbin/l10n/ga.json +++ b/apps/files_trashbin/l10n/ga.json @@ -5,22 +5,24 @@ "This application enables people to restore files that were deleted from the system." : "Cuireann an feidhmchlár seo ar chumas daoine comhaid a scriosadh as an gcóras a chur ar ais.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cuireann an feidhmchlár seo ar chumas daoine comhaid a scriosadh as an gcóras a chur ar ais. Taispeánann sé liosta de chomhaid scriosta sa chomhéadan gréasáin, agus tá roghanna ann chun na comhaid sin a scriosadh a chur ar ais go dtí na heolairí comhaid daoine nó iad a bhaint go buan den chóras. Athchóiríonn comhad a athbhunú leaganacha gaolmhara comhaid, má tá feidhmchlár na leaganacha cumasaithe. Nuair a scriostar comhad ó sciar, is féidir é a chur ar ais ar an mbealach céanna, cé nach bhfuil sé roinnte a thuilleadh. De réir réamhshocraithe, fanann na comhaid seo sa bhosca bruscair ar feadh 30 lá.\nChun cosc a chur ar chuntas imeacht as spás diosca, ní úsáidfidh an aip Comhaid Scriosta níos mó ná 50% den chuóta saor in aisce atá ar fáil faoi láthair le haghaidh comhaid scriosta. Má sháraíonn na comhaid scriosta an teorainn seo, scriosann an aip na comhaid is sine go dtí go n-éireoidh sé faoin teorainn seo. Tá tuilleadh faisnéise ar fáil sa doiciméadú Comhaid Scriosta.", "Restore" : "Athchóirigh", - "Unknown" : "Anaithnid", - "All files" : "Gach comhad", - "You" : "tu", + "Not enough free space to restore the file/folder" : "Níl dóthain spáis saor ann chun an comhad/fillteán a athchóiriú", + "Empty deleted files" : "Comhaid scriosta folamh", + "Confirm permanent deletion" : "Deimhnigh scriosadh buan", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "An bhfuil tú cinnte gur mian leat gach comhad agus fillteán sa bhruscar a scriosadh go buan? Ní féidir é seo a chealú.", + "Cancel" : "Cealaigh", "Original location" : "Suíomh bunaidh", "Deleted by" : "Scriosta ag", "Deleted" : "Scriosta", + "few seconds ago" : "cúpla soicind ó shin", "A long time ago" : "Fadó fadó", + "Unknown" : "Anaithnid", + "All files" : "Gach comhad", + "You" : "tu", "List of files that have been deleted." : "Liosta de na comhaid a scriosadh.", "No deleted files" : "Níl aon chomhaid scriosta", "Files and folders you have deleted will show up here" : "Taispeánfar na comhaid agus na fillteáin atá scriosta agat anseo", - "This application enables users to restore files that were deleted from the system." : "Cuireann an feidhmchlár seo ar chumas úsáideoirí comhaid a scriosadh as an gcóras a chur ar ais.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Cuireann an feidhmchlár seo ar chumas úsáideoirí comhaid a scriosadh as an gcóras a chur ar ais. Taispeánann sé liosta de chomhaid scriosta sa chomhéadan gréasáin, agus tá roghanna ann chun na comhaid sin a scriosadh a chur ar ais go heolairí comhaid na n-úsáideoirí nó iad a bhaint go buan den chóras. Athchóiríonn comhad a athbhunú leaganacha gaolmhara comhaid, má tá feidhmchlár na leaganacha cumasaithe. Nuair a scriostar comhad ó sciar, is féidir é a chur ar ais ar an mbealach céanna, cé nach bhfuil sé roinnte a thuilleadh. De réir réamhshocraithe, fanann na comhaid seo sa bhosca bruscair ar feadh 30 lá.\nChun cosc a chur ar úsáideoir imeacht as spás diosca, ní úsáidfidh an aip Comhaid Scriosta níos mó ná 50% den chuóta saor in aisce atá ar fáil faoi láthair le haghaidh comhaid scriosta. Má sháraíonn na comhaid scriosta an teorainn seo, scriosann an aip na comhaid is sine go dtí go n-éireoidh sé faoin teorainn seo. Tá tuilleadh faisnéise ar fáil sa doiciméadú Comhaid Scriosta.", - "You will be able to recover deleted files from here" : "Beidh tú in ann comhaid a scriosadh a ghnóthú ó anseo", - "No entries found in this folder" : "Níor aimsíodh aon iontrálacha san fhillteán seo", - "Select all" : "Roghnú go léir", - "Name" : "Ainm", - "Actions" : "Gníomhartha" + "All files have been permanently deleted" : "Scriosadh na comhaid go léir go buan", + "Failed to empty deleted files" : "Theip ar na comhaid scriosta a fholmhú", + "Deletion cancelled" : "Scriosadh cealaithe" },"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_trashbin/l10n/gl.js b/apps/files_trashbin/l10n/gl.js index d859ca0495f..db2553d93bb 100644 --- a/apps/files_trashbin/l10n/gl.js +++ b/apps/files_trashbin/l10n/gl.js @@ -7,21 +7,20 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Esta aplicación permítelle á xente restaurar ficheiros eliminados do sistema.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permítelle á xente usuarios recuperar ficheiros que foron eliminados do sistema. Amosa unha lista dos ficheiros eliminados na interface web e dispón de opcións para restaurar eses ficheiros eliminados de cara aos directorios de ficheiros da xente ou retiralos definitivamente do sistema. Ao restaurar un ficheiro restauraranse tamén as versións do ficheiro relacionadas. Cando se elimina un ficheiro dunha compartición, non se pode restaurar do mesmo xeito, pois xa non será compartido. Por omisión, estes ficheiros permanecen no lixo durante 30 días.\nPara evitar que unha conta quede sen espazo de disco, a aplicación non empregará máis do 50% do espazo dispoñíbel en cada momento. Se os ficheiros eliminados exceden este límite, a aplicación elimina os ficheiros máis antigos ata volver estar por baixo do límite. Ten máis información dispoñíbel na documentación de Ficheiros eliminados.", "Restore" : "Restaurar", - "Unknown" : "Descoñecido", - "All files" : "Todos os ficheiros", - "You" : "Vde.", + "Empty deleted files" : "Baleirar os ficheiros eliminados", + "Confirm permanent deletion" : "Confirmar a eliminación definitiva", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Confirma que quere eliminar definitivamente todos os ficheiros e cartafoles do cesto do lixo? Non é posíbel desfacer esta operación.", + "Cancel" : "Cancelar", "Original location" : "Localización orixinal", + "Deleted by" : "Eliminado por", "Deleted" : "Eliminado", "A long time ago" : "Hai moito tempo", + "Unknown" : "Descoñecido", + "All files" : "Todos os ficheiros", + "You" : "Vde.", "List of files that have been deleted." : "Lista de ficheiros que foron eliminados.", "No deleted files" : "Non hai ficheiros eliminados", "Files and folders you have deleted will show up here" : "Os ficheiros e cartafoles que eliminou amosaranse aquí", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación permítelle aos usuarios recuperar ficheiros que foron eliminados do sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permítelle aos usuarios recuperar ficheiros que foron eliminados do sistema. Amosa unha lista dos ficheiros eliminados na interface web e dispón de opcións para restaurar eses ficheiros eliminados cara aos os directorios do usuario ou retiralos definitivamente do sistema. Ao restaurar un ficheiro restauraranse tamén as versións do ficheiro relacionadas. Cando se elimina un ficheiro dunha compartición, non se pode restaurar do mesmo xeito, pois xa non será compartido. Por omisión, estes ficheiros permanecen no lixo durante 30 días.\nPara evitar que un usuario quede sen espazo de disco, a aplicación non empregará máis do 50% do espazo dispoñíbel en cada momento. Se os ficheiros eliminados exceden este límite, a aplicación elimina os ficheiros máis antigos ata volver estar por baixo do límite. Ten máis información dispoñíbel na documentación de Ficheiros eliminados.", - "You will be able to recover deleted files from here" : "Poderá recuperar ficheiros eliminados de aquí", - "No entries found in this folder" : "Non se atoparon entradas neste cartafol", - "Select all" : "Seleccionar todo", - "Name" : "Nome", - "Actions" : "Accións" + "Deletion cancelled" : "Foi cancelada a eliminación" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/gl.json b/apps/files_trashbin/l10n/gl.json index 1138ba181b8..baefaa49c00 100644 --- a/apps/files_trashbin/l10n/gl.json +++ b/apps/files_trashbin/l10n/gl.json @@ -5,21 +5,20 @@ "This application enables people to restore files that were deleted from the system." : "Esta aplicación permítelle á xente restaurar ficheiros eliminados do sistema.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permítelle á xente usuarios recuperar ficheiros que foron eliminados do sistema. Amosa unha lista dos ficheiros eliminados na interface web e dispón de opcións para restaurar eses ficheiros eliminados de cara aos directorios de ficheiros da xente ou retiralos definitivamente do sistema. Ao restaurar un ficheiro restauraranse tamén as versións do ficheiro relacionadas. Cando se elimina un ficheiro dunha compartición, non se pode restaurar do mesmo xeito, pois xa non será compartido. Por omisión, estes ficheiros permanecen no lixo durante 30 días.\nPara evitar que unha conta quede sen espazo de disco, a aplicación non empregará máis do 50% do espazo dispoñíbel en cada momento. Se os ficheiros eliminados exceden este límite, a aplicación elimina os ficheiros máis antigos ata volver estar por baixo do límite. Ten máis información dispoñíbel na documentación de Ficheiros eliminados.", "Restore" : "Restaurar", - "Unknown" : "Descoñecido", - "All files" : "Todos os ficheiros", - "You" : "Vde.", + "Empty deleted files" : "Baleirar os ficheiros eliminados", + "Confirm permanent deletion" : "Confirmar a eliminación definitiva", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Confirma que quere eliminar definitivamente todos os ficheiros e cartafoles do cesto do lixo? Non é posíbel desfacer esta operación.", + "Cancel" : "Cancelar", "Original location" : "Localización orixinal", + "Deleted by" : "Eliminado por", "Deleted" : "Eliminado", "A long time ago" : "Hai moito tempo", + "Unknown" : "Descoñecido", + "All files" : "Todos os ficheiros", + "You" : "Vde.", "List of files that have been deleted." : "Lista de ficheiros que foron eliminados.", "No deleted files" : "Non hai ficheiros eliminados", "Files and folders you have deleted will show up here" : "Os ficheiros e cartafoles que eliminou amosaranse aquí", - "This application enables users to restore files that were deleted from the system." : "Esta aplicación permítelle aos usuarios recuperar ficheiros que foron eliminados do sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Esta aplicación permítelle aos usuarios recuperar ficheiros que foron eliminados do sistema. Amosa unha lista dos ficheiros eliminados na interface web e dispón de opcións para restaurar eses ficheiros eliminados cara aos os directorios do usuario ou retiralos definitivamente do sistema. Ao restaurar un ficheiro restauraranse tamén as versións do ficheiro relacionadas. Cando se elimina un ficheiro dunha compartición, non se pode restaurar do mesmo xeito, pois xa non será compartido. Por omisión, estes ficheiros permanecen no lixo durante 30 días.\nPara evitar que un usuario quede sen espazo de disco, a aplicación non empregará máis do 50% do espazo dispoñíbel en cada momento. Se os ficheiros eliminados exceden este límite, a aplicación elimina os ficheiros máis antigos ata volver estar por baixo do límite. Ten máis información dispoñíbel na documentación de Ficheiros eliminados.", - "You will be able to recover deleted files from here" : "Poderá recuperar ficheiros eliminados de aquí", - "No entries found in this folder" : "Non se atoparon entradas neste cartafol", - "Select all" : "Seleccionar todo", - "Name" : "Nome", - "Actions" : "Accións" + "Deletion cancelled" : "Foi cancelada a eliminación" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/he.js b/apps/files_trashbin/l10n/he.js deleted file mode 100644 index d393d3a3826..00000000000 --- a/apps/files_trashbin/l10n/he.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "שוחזר", - "Deleted files" : "קבצים שנמחקו", - "Restore" : "שחזור", - "Unknown" : "לא ידוע", - "All files" : "כל הקבצים", - "Deleted" : "נמחק", - "No deleted files" : "אין קבצים שנמחקו", - "This application enables users to restore files that were deleted from the system." : "יישומון זה מאפשר למשתמשים לשחזר קבצים שנמחקו מהמערכת.", - "You will be able to recover deleted files from here" : "ניתן לבטל מחיקת קבצים מכאן", - "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו", - "Select all" : "לבחור הכול", - "Name" : "שם", - "Actions" : "פעולולת" -}, -"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;"); diff --git a/apps/files_trashbin/l10n/he.json b/apps/files_trashbin/l10n/he.json deleted file mode 100644 index 0b712d8bc64..00000000000 --- a/apps/files_trashbin/l10n/he.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "restored" : "שוחזר", - "Deleted files" : "קבצים שנמחקו", - "Restore" : "שחזור", - "Unknown" : "לא ידוע", - "All files" : "כל הקבצים", - "Deleted" : "נמחק", - "No deleted files" : "אין קבצים שנמחקו", - "This application enables users to restore files that were deleted from the system." : "יישומון זה מאפשר למשתמשים לשחזר קבצים שנמחקו מהמערכת.", - "You will be able to recover deleted files from here" : "ניתן לבטל מחיקת קבצים מכאן", - "No entries found in this folder" : "לא נמצאו כניסות לתיקייה זו", - "Select all" : "לבחור הכול", - "Name" : "שם", - "Actions" : "פעולולת" -},"pluralForm" :"nplurals=3; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: 2;" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/hr.js b/apps/files_trashbin/l10n/hr.js deleted file mode 100644 index 40e8e7980ac..00000000000 --- a/apps/files_trashbin/l10n/hr.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "vraćeno", - "Deleted files" : "Izbrisane datoteke", - "Restore" : "Vrati", - "Unknown" : "Nepoznata pogreška", - "All files" : "Sve datoteke", - "Deleted" : "Izbrisano", - "No deleted files" : "Nema izbrisanih datoteka", - "This application enables users to restore files that were deleted from the system." : "Ova aplikacija omogućuje korisnicima vraćanje datoteka izbrisanih iz sustava.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ova aplikacija omogućuje korisnicima vraćanje datoteka izbrisanih iz sustava. Prikazuje popis izbrisanih datoteka u web sučelju i nudi mogućnosti vraćanja tih izbrisanih datoteka natrag u direktorij s datotekama korisnika ili trajnog uklanjanja iz sustava. Vraćanjem datoteke također se vraćaju povezane inačice datoteke ako je omogućena aplikacija za upravljanje inačicama. Kad se datoteka izbriše iz dijeljenja, ona se može vratiti na isti način ali se više ne dijeli. Te datoteke prema zadanim postavkama ostaju u kanti za smeće 30 dana.\nKako bi se spriječilo da korisnik ostane bez prostora na disku, aplikacija Izbrisane datoteke neće koristiti više od 50 % trenutno dostupne besplatne kvote za izbrisane datoteke. Ako izbrisane datoteke premaše ovo ograničenje, aplikacija briše najstarije datoteke dok se količina iskorištenog prostora ne spusti ispod ove granice. Više informacija dostupno je u dokumentaciji Izbrisane datoteke.", - "You will be able to recover deleted files from here" : "Ovdje ćete moći vratiti izbrisane datoteke", - "No entries found in this folder" : "U ovoj mapi nisu pronađeni nikakvi zapisi", - "Select all" : "Odaberi sve", - "Name" : "Naziv", - "Actions" : "Radnje" -}, -"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_trashbin/l10n/hr.json b/apps/files_trashbin/l10n/hr.json deleted file mode 100644 index b595ca42316..00000000000 --- a/apps/files_trashbin/l10n/hr.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "restored" : "vraćeno", - "Deleted files" : "Izbrisane datoteke", - "Restore" : "Vrati", - "Unknown" : "Nepoznata pogreška", - "All files" : "Sve datoteke", - "Deleted" : "Izbrisano", - "No deleted files" : "Nema izbrisanih datoteka", - "This application enables users to restore files that were deleted from the system." : "Ova aplikacija omogućuje korisnicima vraćanje datoteka izbrisanih iz sustava.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ova aplikacija omogućuje korisnicima vraćanje datoteka izbrisanih iz sustava. Prikazuje popis izbrisanih datoteka u web sučelju i nudi mogućnosti vraćanja tih izbrisanih datoteka natrag u direktorij s datotekama korisnika ili trajnog uklanjanja iz sustava. Vraćanjem datoteke također se vraćaju povezane inačice datoteke ako je omogućena aplikacija za upravljanje inačicama. Kad se datoteka izbriše iz dijeljenja, ona se može vratiti na isti način ali se više ne dijeli. Te datoteke prema zadanim postavkama ostaju u kanti za smeće 30 dana.\nKako bi se spriječilo da korisnik ostane bez prostora na disku, aplikacija Izbrisane datoteke neće koristiti više od 50 % trenutno dostupne besplatne kvote za izbrisane datoteke. Ako izbrisane datoteke premaše ovo ograničenje, aplikacija briše najstarije datoteke dok se količina iskorištenog prostora ne spusti ispod ove granice. Više informacija dostupno je u dokumentaciji Izbrisane datoteke.", - "You will be able to recover deleted files from here" : "Ovdje ćete moći vratiti izbrisane datoteke", - "No entries found in this folder" : "U ovoj mapi nisu pronađeni nikakvi zapisi", - "Select all" : "Odaberi sve", - "Name" : "Naziv", - "Actions" : "Radnje" -},"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_trashbin/l10n/hu.js b/apps/files_trashbin/l10n/hu.js index ea72fd7f606..4083a3ec298 100644 --- a/apps/files_trashbin/l10n/hu.js +++ b/apps/files_trashbin/l10n/hu.js @@ -4,21 +4,20 @@ OC.L10N.register( "restored" : "visszaállítva", "Deleted files" : "Törölt fájlok", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "A kukában lévő törölt fájlok és mappák (exportálás során lejárhatnak, ha nincs elég tárhely)", + "This application enables people to restore files that were deleted from the system." : "Ez az alkalmazás lehetővé teszi a rendszerből már törölt fájlok visszaállítását.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ez az alkalmazás lehetővé teszi a rendszerből már törölt fájlok visszaállítását. Webes felületen sorolja fel a törölt fájlokat, és azok visszahelyezhetők a könyvtárakba, vagy véglegesen törölhetők. Egy fájllal együtt annak korábbi verzióit is visszaállítja, amennyiben ez be van kapcsolva a rendszerben. Ha egy megosztásból lett törölve a fájl, ugyanígy visszaállítható, de már nem lesz megosztva. Ezek a fájlok alapértelmezetten 30 napig maradnak a kukában.\nHogy a fiók ne fusson ki az elérhető tárhelyből, a Törölt fájlok alkalmazás legfeljebb az elérhető terület 50%-át használja tárolásra. Ha ennél több fájl kerül bele, az alkalmazás törli a legrégebbi fájlokat, amíg a határértéken belülre nem kerül. További információ a Törölt fájlok dokumentációjában található.", "Restore" : "Visszaállítás", + "Cancel" : "Mégse", + "Original location" : "Eredeti hely", + "Deleted by" : "Törölte:", + "Deleted" : "Törölve", + "A long time ago" : "Réges régen", "Unknown" : "Ismeretlen", "All files" : "Összes fájl", "You" : "Ön", - "Deleted" : "Törölve", - "A long time ago" : "Réges régen", "List of files that have been deleted." : "A törölt fájlok listája.", "No deleted files" : "Nincs törölt fájl", "Files and folders you have deleted will show up here" : "A törölt fájlok és mappák itt jelennek meg", - "This application enables users to restore files that were deleted from the system." : "Ez az alkalmazás lehetővé teszi a felhasználók számára, hogy visszaállítsák a rendszerből már törölt fájlokat.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ez az alkalmazás lehetővé teszi a felhasználók számára, hogy visszaállítsák a rendszerből már törölt fájlokat. Webes felületen sorolja fel a törölt fájlokat, és azok visszahelyezhetők a felhasználók könyvtáraiba, vagy véglegesen törölhetők. Egy fájllal együtt annak korábbi verzióit is visszaállítja, amennyiben ez be van kapcsolva a rendszerben. Ha egy megosztásból lett törölve a fájl, ugyanígy visszaállítható, de már nem lesz megosztva. Ezek a fájlok alapértelmezetten 30 napig maradnak a kukában.\nHogy a felhasználó ne fusson ki az elérhető tárhelyből, a Törölt fájlok alkalmazás legfeljebb az elérhető terület 50%-át használja tárolásra. Ha ennél több fájl kerül bele, az alkalmazás törli a legrégebbi fájlokat, amíg a határértéken belülre nem kerül. További információ a Törölt fájlok dokumentációjában található.", - "You will be able to recover deleted files from here" : "Innen vissza tudja állítani a törölt fáljokat", - "No entries found in this folder" : "Nincsenek bejegyzések ebben a mappában", - "Select all" : "Összes kijelölése", - "Name" : "Név", - "Actions" : "Műveletek" + "Deletion cancelled" : "Törlés megszakítva" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/hu.json b/apps/files_trashbin/l10n/hu.json index 130270be53e..17d34eef115 100644 --- a/apps/files_trashbin/l10n/hu.json +++ b/apps/files_trashbin/l10n/hu.json @@ -2,21 +2,20 @@ "restored" : "visszaállítva", "Deleted files" : "Törölt fájlok", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "A kukában lévő törölt fájlok és mappák (exportálás során lejárhatnak, ha nincs elég tárhely)", + "This application enables people to restore files that were deleted from the system." : "Ez az alkalmazás lehetővé teszi a rendszerből már törölt fájlok visszaállítását.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ez az alkalmazás lehetővé teszi a rendszerből már törölt fájlok visszaállítását. Webes felületen sorolja fel a törölt fájlokat, és azok visszahelyezhetők a könyvtárakba, vagy véglegesen törölhetők. Egy fájllal együtt annak korábbi verzióit is visszaállítja, amennyiben ez be van kapcsolva a rendszerben. Ha egy megosztásból lett törölve a fájl, ugyanígy visszaállítható, de már nem lesz megosztva. Ezek a fájlok alapértelmezetten 30 napig maradnak a kukában.\nHogy a fiók ne fusson ki az elérhető tárhelyből, a Törölt fájlok alkalmazás legfeljebb az elérhető terület 50%-át használja tárolásra. Ha ennél több fájl kerül bele, az alkalmazás törli a legrégebbi fájlokat, amíg a határértéken belülre nem kerül. További információ a Törölt fájlok dokumentációjában található.", "Restore" : "Visszaállítás", + "Cancel" : "Mégse", + "Original location" : "Eredeti hely", + "Deleted by" : "Törölte:", + "Deleted" : "Törölve", + "A long time ago" : "Réges régen", "Unknown" : "Ismeretlen", "All files" : "Összes fájl", "You" : "Ön", - "Deleted" : "Törölve", - "A long time ago" : "Réges régen", "List of files that have been deleted." : "A törölt fájlok listája.", "No deleted files" : "Nincs törölt fájl", "Files and folders you have deleted will show up here" : "A törölt fájlok és mappák itt jelennek meg", - "This application enables users to restore files that were deleted from the system." : "Ez az alkalmazás lehetővé teszi a felhasználók számára, hogy visszaállítsák a rendszerből már törölt fájlokat.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ez az alkalmazás lehetővé teszi a felhasználók számára, hogy visszaállítsák a rendszerből már törölt fájlokat. Webes felületen sorolja fel a törölt fájlokat, és azok visszahelyezhetők a felhasználók könyvtáraiba, vagy véglegesen törölhetők. Egy fájllal együtt annak korábbi verzióit is visszaállítja, amennyiben ez be van kapcsolva a rendszerben. Ha egy megosztásból lett törölve a fájl, ugyanígy visszaállítható, de már nem lesz megosztva. Ezek a fájlok alapértelmezetten 30 napig maradnak a kukában.\nHogy a felhasználó ne fusson ki az elérhető tárhelyből, a Törölt fájlok alkalmazás legfeljebb az elérhető terület 50%-át használja tárolásra. Ha ennél több fájl kerül bele, az alkalmazás törli a legrégebbi fájlokat, amíg a határértéken belülre nem kerül. További információ a Törölt fájlok dokumentációjában található.", - "You will be able to recover deleted files from here" : "Innen vissza tudja állítani a törölt fáljokat", - "No entries found in this folder" : "Nincsenek bejegyzések ebben a mappában", - "Select all" : "Összes kijelölése", - "Name" : "Név", - "Actions" : "Műveletek" + "Deletion cancelled" : "Törlés megszakítva" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/hy.js b/apps/files_trashbin/l10n/hy.js deleted file mode 100644 index b5f14a21117..00000000000 --- a/apps/files_trashbin/l10n/hy.js +++ /dev/null @@ -1,15 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't restore %s" : "Չկարողացա վերականգնել %s", - "Deleted files" : "Ջնջված ֆայլեր", - "Restore" : "Վերականգնել", - "Delete" : "Ջնջել", - "Delete permanently" : "Ջնջել ընդմիշտ", - "Error" : "Սխալ", - "No deleted files" : "Ջնջված ֆայլեր չկան", - "Select all" : "Նշել բոլորը", - "Name" : "Անուն", - "Deleted" : "Ջնջված" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/hy.json b/apps/files_trashbin/l10n/hy.json deleted file mode 100644 index 4cdf8121c67..00000000000 --- a/apps/files_trashbin/l10n/hy.json +++ /dev/null @@ -1,13 +0,0 @@ -{ "translations": { - "Couldn't restore %s" : "Չկարողացա վերականգնել %s", - "Deleted files" : "Ջնջված ֆայլեր", - "Restore" : "Վերականգնել", - "Delete" : "Ջնջել", - "Delete permanently" : "Ջնջել ընդմիշտ", - "Error" : "Սխալ", - "No deleted files" : "Ջնջված ֆայլեր չկան", - "Select all" : "Նշել բոլորը", - "Name" : "Անուն", - "Deleted" : "Ջնջված" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ia.js b/apps/files_trashbin/l10n/ia.js deleted file mode 100644 index a97095225b9..00000000000 --- a/apps/files_trashbin/l10n/ia.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurate", - "Deleted files" : "Files delite", - "Restore" : "Restaurar", - "Unknown" : "Incognite", - "All files" : "Tote files", - "Deleted" : "Delite", - "No deleted files" : "Nulle files delite", - "You will be able to recover deleted files from here" : "Tu potera recuperar files delite desde ci", - "No entries found in this folder" : "Nulle entratas trovate in iste dossier", - "Select all" : "Selectionar toto", - "Name" : "Nomine", - "Actions" : "Actiones" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/ia.json b/apps/files_trashbin/l10n/ia.json deleted file mode 100644 index a5d169faff5..00000000000 --- a/apps/files_trashbin/l10n/ia.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "restaurate", - "Deleted files" : "Files delite", - "Restore" : "Restaurar", - "Unknown" : "Incognite", - "All files" : "Tote files", - "Deleted" : "Delite", - "No deleted files" : "Nulle files delite", - "You will be able to recover deleted files from here" : "Tu potera recuperar files delite desde ci", - "No entries found in this folder" : "Nulle entratas trovate in iste dossier", - "Select all" : "Selectionar toto", - "Name" : "Nomine", - "Actions" : "Actiones" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/id.js b/apps/files_trashbin/l10n/id.js deleted file mode 100644 index 6e2c2931a6a..00000000000 --- a/apps/files_trashbin/l10n/id.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "dipulihkan", - "Deleted files" : "Berkas yang dihapus", - "Restore" : "Pulihkan", - "Unknown" : "Tidak diketahui", - "All files" : "Semua berkas", - "Deleted" : "Dihapus", - "No deleted files" : "Tidak ada berkas yang dihapus", - "This application enables users to restore files that were deleted from the system." : "Aplikasi ini memungkinkan pengguna untuk memulihkan berkas terhapus dari sistem.", - "You will be able to recover deleted files from here" : "Anda dapat memulihkan berkas yang dihapus dari sini", - "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini", - "Select all" : "Pilih Semua", - "Name" : "Nama", - "Actions" : "Tindakan" -}, -"nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/id.json b/apps/files_trashbin/l10n/id.json deleted file mode 100644 index e8ee9598c9d..00000000000 --- a/apps/files_trashbin/l10n/id.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "restored" : "dipulihkan", - "Deleted files" : "Berkas yang dihapus", - "Restore" : "Pulihkan", - "Unknown" : "Tidak diketahui", - "All files" : "Semua berkas", - "Deleted" : "Dihapus", - "No deleted files" : "Tidak ada berkas yang dihapus", - "This application enables users to restore files that were deleted from the system." : "Aplikasi ini memungkinkan pengguna untuk memulihkan berkas terhapus dari sistem.", - "You will be able to recover deleted files from here" : "Anda dapat memulihkan berkas yang dihapus dari sini", - "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini", - "Select all" : "Pilih Semua", - "Name" : "Nama", - "Actions" : "Tindakan" -},"pluralForm" :"nplurals=1; plural=0;" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/is.js b/apps/files_trashbin/l10n/is.js index 0b6776377d3..135679b4201 100644 --- a/apps/files_trashbin/l10n/is.js +++ b/apps/files_trashbin/l10n/is.js @@ -4,18 +4,22 @@ OC.L10N.register( "restored" : "endurheimt", "Deleted files" : "eyddar skrár", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Eyddar skrár og möppur í ruslinu (gæru runnið út við útflutning ef þú átt lítið geymslupláss eftir)", + "This application enables people to restore files that were deleted from the system." : "Þetta forrit gerir notendum kleift að endurheimta skrár sem eytt hefur verið af kerfinu.", "Restore" : "Endurheimta", + "Empty deleted files" : "Tæma eyddar skrár", + "Confirm permanent deletion" : "Staðfesta endanlega eyðingu", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Ertu viss um að þú viljir eyða öllum skrám og möppum úr ruslinu? Þessi aðgerð er óafturkræf.", + "Cancel" : "Hætta við", + "Original location" : "Upprunaleg staðsetning", + "Deleted by" : "Eytt af", + "Deleted" : "Eytt", + "A long time ago" : "Fyrir löngu síðan", "Unknown" : "Óþekkt", "All files" : "Allar skrár", - "Deleted" : "Eytt", + "You" : "Þú", "List of files that have been deleted." : "Listi yfir skrár sem hefur verið eytt.", "No deleted files" : "Engar eyddar skrár", "Files and folders you have deleted will show up here" : "Skrár og möppur sem þú hefur eytt birtast hér", - "This application enables users to restore files that were deleted from the system." : "Þetta forrit gerir notendum kleift að endurheimta skrár sem eytt hefur verið af kerfinu.", - "You will be able to recover deleted files from here" : "Þú getur endurheimt eyddar skrár héðan", - "No entries found in this folder" : "Engar færslur fundust í þessari möppu", - "Select all" : "Velja allt", - "Name" : "Heiti", - "Actions" : "Aðgerðir" + "Deletion cancelled" : "Hætt við eyðingu" }, "nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"); diff --git a/apps/files_trashbin/l10n/is.json b/apps/files_trashbin/l10n/is.json index 5f591c07405..a012a2612c9 100644 --- a/apps/files_trashbin/l10n/is.json +++ b/apps/files_trashbin/l10n/is.json @@ -2,18 +2,22 @@ "restored" : "endurheimt", "Deleted files" : "eyddar skrár", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Eyddar skrár og möppur í ruslinu (gæru runnið út við útflutning ef þú átt lítið geymslupláss eftir)", + "This application enables people to restore files that were deleted from the system." : "Þetta forrit gerir notendum kleift að endurheimta skrár sem eytt hefur verið af kerfinu.", "Restore" : "Endurheimta", + "Empty deleted files" : "Tæma eyddar skrár", + "Confirm permanent deletion" : "Staðfesta endanlega eyðingu", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Ertu viss um að þú viljir eyða öllum skrám og möppum úr ruslinu? Þessi aðgerð er óafturkræf.", + "Cancel" : "Hætta við", + "Original location" : "Upprunaleg staðsetning", + "Deleted by" : "Eytt af", + "Deleted" : "Eytt", + "A long time ago" : "Fyrir löngu síðan", "Unknown" : "Óþekkt", "All files" : "Allar skrár", - "Deleted" : "Eytt", + "You" : "Þú", "List of files that have been deleted." : "Listi yfir skrár sem hefur verið eytt.", "No deleted files" : "Engar eyddar skrár", "Files and folders you have deleted will show up here" : "Skrár og möppur sem þú hefur eytt birtast hér", - "This application enables users to restore files that were deleted from the system." : "Þetta forrit gerir notendum kleift að endurheimta skrár sem eytt hefur verið af kerfinu.", - "You will be able to recover deleted files from here" : "Þú getur endurheimt eyddar skrár héðan", - "No entries found in this folder" : "Engar færslur fundust í þessari möppu", - "Select all" : "Velja allt", - "Name" : "Heiti", - "Actions" : "Aðgerðir" + "Deletion cancelled" : "Hætt við eyðingu" },"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/it.js b/apps/files_trashbin/l10n/it.js index 00dc55f8972..3cf4949fa5e 100644 --- a/apps/files_trashbin/l10n/it.js +++ b/apps/files_trashbin/l10n/it.js @@ -4,22 +4,21 @@ OC.L10N.register( "restored" : "ripristinati", "Deleted files" : "File eliminati", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "File e cartelle eliminati nel cestino (possono scadere durante l'esportazione se lo spazio di archiviazione è insufficiente)", + "This application enables people to restore files that were deleted from the system." : "Questa applicazione permette alle persone di ripristinare i file che sono stati eliminati dal sistema.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Questa applicazione consente alle persone di ripristinare i file che sono stati eliminati dal sistema. Visualizza un elenco dei file eliminati nell'interfaccia web, e ha opzioni per ripristinare tali file nelle cartelle dei file delle persone o rimuoverli definitivamente dal sistema. Il ripristino di un file ripristina anche le versioni relative, se l'applicazione delle versioni è abilitata. Se un file è eliminato da una condivisione, può essere ripristinato allo stesso modo, nonostante non sia più condiviso. In modo predefinito, questi file restano nel cestino per 30 giorni.\nPer impedire a un account di rimanere senza spazio sul disco, l'applicazione File eliminati non utilizzerà più del 50% della quota libera attualmente disponibile. Se i file eliminati superano questo limite, l'applicazione elimina i file più datati fino a tornare sotto questo limite. Ulteriori informazioni sono disponibili nella documentazione di File eliminati.", "Restore" : "Ripristina", - "Unknown" : "Sconosciuto", - "All files" : "Tutti i file", - "You" : "Tu", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Sei sicuro di voler eliminare permanentemente tutti i file e le cartelle nel cestino? Questa operarazione non può essere annullata.", + "Cancel" : "Annulla", + "Original location" : "Percorso originale", "Deleted by" : "Eliminato da", "Deleted" : "Eliminati", "A long time ago" : "Molto tempo fa", + "Unknown" : "Sconosciuto", + "All files" : "Tutti i file", + "You" : "Tu", "List of files that have been deleted." : "Lista di file che sono stati eliminati.", "No deleted files" : "Nessun file eliminato", "Files and folders you have deleted will show up here" : "I file e le cartelle che hai eliminato saranno mostrati qui", - "This application enables users to restore files that were deleted from the system." : "Questa applicazione permette agli utenti di ripristinare i file che sono stati eliminati dal sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Questa applicazione consente agli utenti di ripristinare i file che sono stati eliminati dal sistema. Visualizza un elenco dei file eliminati nell'interfaccia web, e ha opzioni per ripristinare tali file nelle cartelle dei file degli utenti o rimuoverli definitivamente dal sistema. Il ripristino di un file ripristina anche le versioni relative, se l'applicazione delle versioni è abilitata. Se un file è eliminato da una condivisione, può essere ripristinato allo stesso modo, nonostante non sia più condiviso. In modo predefinito, questi file restano nel cestino per 30 giorni.\nPer impedire a un utente di rimanere senza spazio sul disco, l'applicazione File eliminati non utilizzerà più del 50% della quota libera attualmente disponibile. Se i file eliminati superano questo limite, l'applicazione elimina i file più datati fino a tornare sotto questo limite. Ulteriori informazioni sono disponibili nella documentazione di File eliminati.", - "You will be able to recover deleted files from here" : "Potrai ripristinare i file eliminati da qui", - "No entries found in this folder" : "Nessuna voce trovata in questa cartella", - "Select all" : "Seleziona tutto", - "Name" : "Nome", - "Actions" : "Azioni" + "Deletion cancelled" : "Eliminazione annullata" }, "nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/it.json b/apps/files_trashbin/l10n/it.json index e8836d97593..5008c162ef3 100644 --- a/apps/files_trashbin/l10n/it.json +++ b/apps/files_trashbin/l10n/it.json @@ -2,22 +2,21 @@ "restored" : "ripristinati", "Deleted files" : "File eliminati", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "File e cartelle eliminati nel cestino (possono scadere durante l'esportazione se lo spazio di archiviazione è insufficiente)", + "This application enables people to restore files that were deleted from the system." : "Questa applicazione permette alle persone di ripristinare i file che sono stati eliminati dal sistema.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Questa applicazione consente alle persone di ripristinare i file che sono stati eliminati dal sistema. Visualizza un elenco dei file eliminati nell'interfaccia web, e ha opzioni per ripristinare tali file nelle cartelle dei file delle persone o rimuoverli definitivamente dal sistema. Il ripristino di un file ripristina anche le versioni relative, se l'applicazione delle versioni è abilitata. Se un file è eliminato da una condivisione, può essere ripristinato allo stesso modo, nonostante non sia più condiviso. In modo predefinito, questi file restano nel cestino per 30 giorni.\nPer impedire a un account di rimanere senza spazio sul disco, l'applicazione File eliminati non utilizzerà più del 50% della quota libera attualmente disponibile. Se i file eliminati superano questo limite, l'applicazione elimina i file più datati fino a tornare sotto questo limite. Ulteriori informazioni sono disponibili nella documentazione di File eliminati.", "Restore" : "Ripristina", - "Unknown" : "Sconosciuto", - "All files" : "Tutti i file", - "You" : "Tu", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Sei sicuro di voler eliminare permanentemente tutti i file e le cartelle nel cestino? Questa operarazione non può essere annullata.", + "Cancel" : "Annulla", + "Original location" : "Percorso originale", "Deleted by" : "Eliminato da", "Deleted" : "Eliminati", "A long time ago" : "Molto tempo fa", + "Unknown" : "Sconosciuto", + "All files" : "Tutti i file", + "You" : "Tu", "List of files that have been deleted." : "Lista di file che sono stati eliminati.", "No deleted files" : "Nessun file eliminato", "Files and folders you have deleted will show up here" : "I file e le cartelle che hai eliminato saranno mostrati qui", - "This application enables users to restore files that were deleted from the system." : "Questa applicazione permette agli utenti di ripristinare i file che sono stati eliminati dal sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Questa applicazione consente agli utenti di ripristinare i file che sono stati eliminati dal sistema. Visualizza un elenco dei file eliminati nell'interfaccia web, e ha opzioni per ripristinare tali file nelle cartelle dei file degli utenti o rimuoverli definitivamente dal sistema. Il ripristino di un file ripristina anche le versioni relative, se l'applicazione delle versioni è abilitata. Se un file è eliminato da una condivisione, può essere ripristinato allo stesso modo, nonostante non sia più condiviso. In modo predefinito, questi file restano nel cestino per 30 giorni.\nPer impedire a un utente di rimanere senza spazio sul disco, l'applicazione File eliminati non utilizzerà più del 50% della quota libera attualmente disponibile. Se i file eliminati superano questo limite, l'applicazione elimina i file più datati fino a tornare sotto questo limite. Ulteriori informazioni sono disponibili nella documentazione di File eliminati.", - "You will be able to recover deleted files from here" : "Potrai ripristinare i file eliminati da qui", - "No entries found in this folder" : "Nessuna voce trovata in questa cartella", - "Select all" : "Seleziona tutto", - "Name" : "Nome", - "Actions" : "Azioni" + "Deletion cancelled" : "Eliminazione annullata" },"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_trashbin/l10n/ja.js b/apps/files_trashbin/l10n/ja.js index 8c26c284eb1..e27151b9a91 100644 --- a/apps/files_trashbin/l10n/ja.js +++ b/apps/files_trashbin/l10n/ja.js @@ -7,22 +7,24 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "このアプリケーションを使用すると、利用者はシステムから削除されたファイルを復元できます。", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。Webインターフェイスには削除されたファイルのリストが表示され、これらの削除されたファイルを元の場所に復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると関連するファイルのバージョンも復元されます。削除された共有ファイルは同じ方法で復元できますが、共有は復元されません。デフォルトでは、これらのファイルは30日間ごみ箱に残ります。\nアカウントのディスク容量が不足しないようにするため、削除済みファイルアプリでは削除済みファイルに現在利用可能な割り当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限以下になるまでアプリは最も古いファイルを削除し続けます。詳細は「削除済みファイル」のドキュメントで確認できます。", "Restore" : "復元", - "Unknown" : "不明", - "All files" : "すべてのファイル", - "You" : "自分", + "Not enough free space to restore the file/folder" : "ファイル/フォルダーを復元するのに十分な空き容量がありません", + "Empty deleted files" : "削除済みファイルを空にする", + "Confirm permanent deletion" : "完全削除を承認", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "ごみ箱のすべてのファイルとフォルダーを完全に削除しますか?この操作は元に戻すことができません。", + "Cancel" : "キャンセル", "Original location" : "元の場所", "Deleted by" : "削除者", "Deleted" : "削除日時", + "few seconds ago" : "数秒前", "A long time ago" : "ずっと以前に", + "Unknown" : "不明", + "All files" : "すべてのファイル", + "You" : "自分", "List of files that have been deleted." : "削除されたファイルのリスト", "No deleted files" : "削除されたファイルはありません", "Files and folders you have deleted will show up here" : "削除したファイルとフォルダーがここに表示されます", - "This application enables users to restore files that were deleted from the system." : "このアプリケーションを使用すると、ユーザーはシステムから削除されたファイルを復元できます。", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。削除されたファイルのリストがWebインターフェイスに表示され、削除されたファイルをユーザーのファイルディレクトリに復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると、関連するファイルバージョンも復元されます。共有から削除されたファイルは、共有されなくなりますが、同じ方法で復元できます。デフォルトでは、ファイルは30日間ごみ箱に残ります。\nディスク領域圧迫を防ぐため、 「削除済みファイル」 アプリでは、削除済みファイルに現在使用可能な割当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限を下回るまで最も古いファイルが削除されます。詳細については、削除済みファイルのマニュアルを参照してください。", - "You will be able to recover deleted files from here" : "ここから削除されたファイルを元に戻すことができます。", - "No entries found in this folder" : "このフォルダーにはエントリーがありません", - "Select all" : "すべて選択", - "Name" : "名前", - "Actions" : "アクション" + "All files have been permanently deleted" : "すべてのファイルが完全に削除されました", + "Failed to empty deleted files" : "削除されたファイルを空にできませんでした", + "Deletion cancelled" : "削除はキャンセルされました" }, "nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/ja.json b/apps/files_trashbin/l10n/ja.json index 78e981cbf55..94b76ba9f56 100644 --- a/apps/files_trashbin/l10n/ja.json +++ b/apps/files_trashbin/l10n/ja.json @@ -5,22 +5,24 @@ "This application enables people to restore files that were deleted from the system." : "このアプリケーションを使用すると、利用者はシステムから削除されたファイルを復元できます。", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。Webインターフェイスには削除されたファイルのリストが表示され、これらの削除されたファイルを元の場所に復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると関連するファイルのバージョンも復元されます。削除された共有ファイルは同じ方法で復元できますが、共有は復元されません。デフォルトでは、これらのファイルは30日間ごみ箱に残ります。\nアカウントのディスク容量が不足しないようにするため、削除済みファイルアプリでは削除済みファイルに現在利用可能な割り当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限以下になるまでアプリは最も古いファイルを削除し続けます。詳細は「削除済みファイル」のドキュメントで確認できます。", "Restore" : "復元", - "Unknown" : "不明", - "All files" : "すべてのファイル", - "You" : "自分", + "Not enough free space to restore the file/folder" : "ファイル/フォルダーを復元するのに十分な空き容量がありません", + "Empty deleted files" : "削除済みファイルを空にする", + "Confirm permanent deletion" : "完全削除を承認", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "ごみ箱のすべてのファイルとフォルダーを完全に削除しますか?この操作は元に戻すことができません。", + "Cancel" : "キャンセル", "Original location" : "元の場所", "Deleted by" : "削除者", "Deleted" : "削除日時", + "few seconds ago" : "数秒前", "A long time ago" : "ずっと以前に", + "Unknown" : "不明", + "All files" : "すべてのファイル", + "You" : "自分", "List of files that have been deleted." : "削除されたファイルのリスト", "No deleted files" : "削除されたファイルはありません", "Files and folders you have deleted will show up here" : "削除したファイルとフォルダーがここに表示されます", - "This application enables users to restore files that were deleted from the system." : "このアプリケーションを使用すると、ユーザーはシステムから削除されたファイルを復元できます。", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "このアプリケーションを使用すると、システムから削除されたファイルを復元できます。削除されたファイルのリストがWebインターフェイスに表示され、削除されたファイルをユーザーのファイルディレクトリに復元するか、システムから完全に削除するかを選択できます。バージョン管理アプリが有効になっている場合、ファイルを復元すると、関連するファイルバージョンも復元されます。共有から削除されたファイルは、共有されなくなりますが、同じ方法で復元できます。デフォルトでは、ファイルは30日間ごみ箱に残ります。\nディスク領域圧迫を防ぐため、 「削除済みファイル」 アプリでは、削除済みファイルに現在使用可能な割当て容量の50%を超える容量は使用されません。削除されたファイルがこの制限を超えると、この制限を下回るまで最も古いファイルが削除されます。詳細については、削除済みファイルのマニュアルを参照してください。", - "You will be able to recover deleted files from here" : "ここから削除されたファイルを元に戻すことができます。", - "No entries found in this folder" : "このフォルダーにはエントリーがありません", - "Select all" : "すべて選択", - "Name" : "名前", - "Actions" : "アクション" + "All files have been permanently deleted" : "すべてのファイルが完全に削除されました", + "Failed to empty deleted files" : "削除されたファイルを空にできませんでした", + "Deletion cancelled" : "削除はキャンセルされました" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ka.js b/apps/files_trashbin/l10n/ka.js deleted file mode 100644 index 5220127a735..00000000000 --- a/apps/files_trashbin/l10n/ka.js +++ /dev/null @@ -1,23 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restored", - "Deleted files" : "Deleted files", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)", - "Restore" : "Restore", - "Unknown" : "Unknown", - "All files" : "All files", - "You" : "You", - "Deleted" : "Deleted", - "List of files that have been deleted." : "List of files that have been deleted.", - "No deleted files" : "No deleted files", - "Files and folders you have deleted will show up here" : "Files and folders you have deleted will show up here", - "This application enables users to restore files that were deleted from the system." : "This application enables users to restore files that were deleted from the system.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.", - "You will be able to recover deleted files from here" : "You will be able to recover deleted files from here", - "No entries found in this folder" : "No entries found in this folder", - "Select all" : "Select all", - "Name" : "Name", - "Actions" : "Actions" -}, -"nplurals=2; plural=(n!=1);"); diff --git a/apps/files_trashbin/l10n/ka.json b/apps/files_trashbin/l10n/ka.json deleted file mode 100644 index a23f8b0ffce..00000000000 --- a/apps/files_trashbin/l10n/ka.json +++ /dev/null @@ -1,21 +0,0 @@ -{ "translations": { - "restored" : "restored", - "Deleted files" : "Deleted files", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)", - "Restore" : "Restore", - "Unknown" : "Unknown", - "All files" : "All files", - "You" : "You", - "Deleted" : "Deleted", - "List of files that have been deleted." : "List of files that have been deleted.", - "No deleted files" : "No deleted files", - "Files and folders you have deleted will show up here" : "Files and folders you have deleted will show up here", - "This application enables users to restore files that were deleted from the system." : "This application enables users to restore files that were deleted from the system.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.", - "You will be able to recover deleted files from here" : "You will be able to recover deleted files from here", - "No entries found in this folder" : "No entries found in this folder", - "Select all" : "Select all", - "Name" : "Name", - "Actions" : "Actions" -},"pluralForm" :"nplurals=2; plural=(n!=1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ka_GE.js b/apps/files_trashbin/l10n/ka_GE.js deleted file mode 100644 index b472933090e..00000000000 --- a/apps/files_trashbin/l10n/ka_GE.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "აღდგენილია", - "Deleted files" : "წაშლილი ფაილები", - "Restore" : "აღდგენა", - "Unknown" : "უცნობია", - "All files" : "ყველა ფაილი", - "Deleted" : "წაშლილი", - "No deleted files" : "წაშლილი ფაილები ვერ მოიძებნა", - "You will be able to recover deleted files from here" : "წაშლილი ფაილების აღდგენა შესაძლებელია აქ", - "No entries found in this folder" : "დირექტორიაში ჩანაწერები ვერ მოიძებნა", - "Select all" : "ყველას მონიშვნა", - "Name" : "სახელი", - "Actions" : "მოქმედებები" -}, -"nplurals=2; plural=(n!=1);"); diff --git a/apps/files_trashbin/l10n/ka_GE.json b/apps/files_trashbin/l10n/ka_GE.json deleted file mode 100644 index 4af86b3295f..00000000000 --- a/apps/files_trashbin/l10n/ka_GE.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "აღდგენილია", - "Deleted files" : "წაშლილი ფაილები", - "Restore" : "აღდგენა", - "Unknown" : "უცნობია", - "All files" : "ყველა ფაილი", - "Deleted" : "წაშლილი", - "No deleted files" : "წაშლილი ფაილები ვერ მოიძებნა", - "You will be able to recover deleted files from here" : "წაშლილი ფაილების აღდგენა შესაძლებელია აქ", - "No entries found in this folder" : "დირექტორიაში ჩანაწერები ვერ მოიძებნა", - "Select all" : "ყველას მონიშვნა", - "Name" : "სახელი", - "Actions" : "მოქმედებები" -},"pluralForm" :"nplurals=2; plural=(n!=1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/km.js b/apps/files_trashbin/l10n/km.js deleted file mode 100644 index b568abde589..00000000000 --- a/apps/files_trashbin/l10n/km.js +++ /dev/null @@ -1,15 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't delete %s permanently" : "មិនអាចលុប %s ចោលជាអចិន្ត្រៃយ៍ទេ", - "Couldn't restore %s" : "មិនអាចស្ដារ %s ឡើងវិញបានទេ", - "Deleted files" : "ឯកសារដែលបានលុប", - "Restore" : "ស្ដារមកវិញ", - "Delete" : "លុប", - "Delete permanently" : "លុបជាអចិន្ត្រៃយ៍", - "Error" : "កំហុស", - "restored" : "បានស្ដារវិញ", - "Name" : "ឈ្មោះ", - "Deleted" : "បានលុប" -}, -"nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/km.json b/apps/files_trashbin/l10n/km.json deleted file mode 100644 index 14481c4f2e7..00000000000 --- a/apps/files_trashbin/l10n/km.json +++ /dev/null @@ -1,13 +0,0 @@ -{ "translations": { - "Couldn't delete %s permanently" : "មិនអាចលុប %s ចោលជាអចិន្ត្រៃយ៍ទេ", - "Couldn't restore %s" : "មិនអាចស្ដារ %s ឡើងវិញបានទេ", - "Deleted files" : "ឯកសារដែលបានលុប", - "Restore" : "ស្ដារមកវិញ", - "Delete" : "លុប", - "Delete permanently" : "លុបជាអចិន្ត្រៃយ៍", - "Error" : "កំហុស", - "restored" : "បានស្ដារវិញ", - "Name" : "ឈ្មោះ", - "Deleted" : "បានលុប" -},"pluralForm" :"nplurals=1; plural=0;" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/kn.js b/apps/files_trashbin/l10n/kn.js deleted file mode 100644 index c9e17d94c58..00000000000 --- a/apps/files_trashbin/l10n/kn.js +++ /dev/null @@ -1,10 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Restore" : "ಮರುಸ್ಥಾಪಿಸು", - "Delete" : "ಅಳಿಸಿ", - "Error" : "ತಪ್ಪಾಗಿದೆ", - "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ", - "Name" : "ಹೆಸರು" -}, -"nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/kn.json b/apps/files_trashbin/l10n/kn.json deleted file mode 100644 index 3bd9118dfce..00000000000 --- a/apps/files_trashbin/l10n/kn.json +++ /dev/null @@ -1,8 +0,0 @@ -{ "translations": { - "Restore" : "ಮರುಸ್ಥಾಪಿಸು", - "Delete" : "ಅಳಿಸಿ", - "Error" : "ತಪ್ಪಾಗಿದೆ", - "Select all" : "ಎಲ್ಲಾ ಆಯ್ಕೆ ಮಾಡಿ", - "Name" : "ಹೆಸರು" -},"pluralForm" :"nplurals=1; plural=0;" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ko.js b/apps/files_trashbin/l10n/ko.js index 53034d37862..16b344a46cc 100644 --- a/apps/files_trashbin/l10n/ko.js +++ b/apps/files_trashbin/l10n/ko.js @@ -4,20 +4,23 @@ OC.L10N.register( "restored" : "복원됨", "Deleted files" : "삭제된 파일", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "휴지통에 있는 삭제된 파일과 폴더 (저장소 공간이 부족할 경우 내보내기 중 사라질 수 있음)", + "This application enables people to restore files that were deleted from the system." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다. 웹 인터페이스로 삭제된 파일의 목록을 표시하며, 삭제된 파일을 사용자의 파일 디렉터리로 복원하거나 시스템에서 완전히 삭제하는 옵션이 있습니다. 버전 앱을 활성화한 경우 파일을 복원하면 해당 파일의 모든 버전을 같이 복원합니다. 공유에서 삭제한 파일도 같은 방법으로 복원할 수 있으나 더 이상 공유되지는 않습니다. 기본값으로 파일은 휴지통에 30일 동안 저장됩니다.\n사용자 디스크 공간 부족을 예방하기 위해서 삭제된 파일 앱에서는 삭제된 파일 디스크 할당량의 50% 이상을 사용하지 않습니다. 삭제된 파일이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 파일을 삭제합니다. 자세한 정보를 보려면 삭제된 파일 문서를 참조하십시오.", "Restore" : "복원", - "Unknown" : "알 수 없음", - "All files" : "모든 파일", + "Empty deleted files" : "삭제된 파일 비우기", + "Confirm permanent deletion" : "영구 삭제 확인", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "휴지통 안의 모든 파일과 폴더를 영구적으로 삭제하시겠습니까? 되돌릴 수 없습니다.", + "Cancel" : "취소", + "Original location" : "원래 위치", + "Deleted by" : "삭제한 사용자: ", "Deleted" : "삭제됨", "A long time ago" : "오래 전", + "Unknown" : "알 수 없음", + "All files" : "모든 파일", + "You" : "당신", "List of files that have been deleted." : "삭제된 파일들의 목록입니다.", "No deleted files" : "삭제된 파일 없음", "Files and folders you have deleted will show up here" : "삭제된 파일 및 폴더가 여기에 나타납니다", - "This application enables users to restore files that were deleted from the system." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다. 웹 인터페이스로 삭제된 파일의 목록을 표시하며, 삭제된 파일을 사용자의 파일 디렉터리로 복원하거나 시스템에서 완전히 삭제하는 옵션이 있습니다. 버전 앱을 활성화한 경우 파일을 복원하면 해당 파일의 모든 버전을 같이 복원합니다. 공유에서 삭제한 파일도 같은 방법으로 복원할 수 있으나 더 이상 공유되지는 않습니다. 기본값으로 파일은 휴지통에 30일 동안 저장됩니다.\n사용자 디스크 공간 부족을 예방하기 위해서 삭제된 파일 앱에서는 삭제된 파일 디스크 할당량의 50% 이상을 사용하지 않습니다. 삭제된 파일이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 파일을 삭제합니다. 자세한 정보를 보려면 삭제된 파일 문서를 참조하십시오.", - "You will be able to recover deleted files from here" : "삭제된 파일을 여기에서 복구할 수 있습니다", - "No entries found in this folder" : "이 폴더에 항목 없음", - "Select all" : "모두 선택", - "Name" : "이름", - "Actions" : "동작" + "Deletion cancelled" : "삭제가 취소됨" }, "nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/ko.json b/apps/files_trashbin/l10n/ko.json index 98a32ea4cb5..325f1125a2a 100644 --- a/apps/files_trashbin/l10n/ko.json +++ b/apps/files_trashbin/l10n/ko.json @@ -2,20 +2,23 @@ "restored" : "복원됨", "Deleted files" : "삭제된 파일", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "휴지통에 있는 삭제된 파일과 폴더 (저장소 공간이 부족할 경우 내보내기 중 사라질 수 있음)", + "This application enables people to restore files that were deleted from the system." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다. 웹 인터페이스로 삭제된 파일의 목록을 표시하며, 삭제된 파일을 사용자의 파일 디렉터리로 복원하거나 시스템에서 완전히 삭제하는 옵션이 있습니다. 버전 앱을 활성화한 경우 파일을 복원하면 해당 파일의 모든 버전을 같이 복원합니다. 공유에서 삭제한 파일도 같은 방법으로 복원할 수 있으나 더 이상 공유되지는 않습니다. 기본값으로 파일은 휴지통에 30일 동안 저장됩니다.\n사용자 디스크 공간 부족을 예방하기 위해서 삭제된 파일 앱에서는 삭제된 파일 디스크 할당량의 50% 이상을 사용하지 않습니다. 삭제된 파일이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 파일을 삭제합니다. 자세한 정보를 보려면 삭제된 파일 문서를 참조하십시오.", "Restore" : "복원", - "Unknown" : "알 수 없음", - "All files" : "모든 파일", + "Empty deleted files" : "삭제된 파일 비우기", + "Confirm permanent deletion" : "영구 삭제 확인", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "휴지통 안의 모든 파일과 폴더를 영구적으로 삭제하시겠습니까? 되돌릴 수 없습니다.", + "Cancel" : "취소", + "Original location" : "원래 위치", + "Deleted by" : "삭제한 사용자: ", "Deleted" : "삭제됨", "A long time ago" : "오래 전", + "Unknown" : "알 수 없음", + "All files" : "모든 파일", + "You" : "당신", "List of files that have been deleted." : "삭제된 파일들의 목록입니다.", "No deleted files" : "삭제된 파일 없음", "Files and folders you have deleted will show up here" : "삭제된 파일 및 폴더가 여기에 나타납니다", - "This application enables users to restore files that were deleted from the system." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "이 앱은 시스템에서 삭제된 파일을 복원할 수 있도록 합니다. 웹 인터페이스로 삭제된 파일의 목록을 표시하며, 삭제된 파일을 사용자의 파일 디렉터리로 복원하거나 시스템에서 완전히 삭제하는 옵션이 있습니다. 버전 앱을 활성화한 경우 파일을 복원하면 해당 파일의 모든 버전을 같이 복원합니다. 공유에서 삭제한 파일도 같은 방법으로 복원할 수 있으나 더 이상 공유되지는 않습니다. 기본값으로 파일은 휴지통에 30일 동안 저장됩니다.\n사용자 디스크 공간 부족을 예방하기 위해서 삭제된 파일 앱에서는 삭제된 파일 디스크 할당량의 50% 이상을 사용하지 않습니다. 삭제된 파일이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 파일을 삭제합니다. 자세한 정보를 보려면 삭제된 파일 문서를 참조하십시오.", - "You will be able to recover deleted files from here" : "삭제된 파일을 여기에서 복구할 수 있습니다", - "No entries found in this folder" : "이 폴더에 항목 없음", - "Select all" : "모두 선택", - "Name" : "이름", - "Actions" : "동작" + "Deletion cancelled" : "삭제가 취소됨" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/lb.js b/apps/files_trashbin/l10n/lb.js deleted file mode 100644 index e98308cd22c..00000000000 --- a/apps/files_trashbin/l10n/lb.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "erëmhiergestallt", - "Deleted files" : "Geläscht Fichieren", - "Restore" : "Erëmhierstellen", - "Unknown" : "Onbekannt", - "All files" : "All d'Fichieren", - "Deleted" : "Geläscht", - "No deleted files" : "Keng geläscht Fichieren", - "You will be able to recover deleted files from here" : "Du kanns geläscht Fichieren aus desëm Dossier erëmhierstellen", - "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt", - "Select all" : "All auswielen", - "Name" : "Numm", - "Actions" : "Aktiounen" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/lb.json b/apps/files_trashbin/l10n/lb.json deleted file mode 100644 index 2b5690ccc7f..00000000000 --- a/apps/files_trashbin/l10n/lb.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "erëmhiergestallt", - "Deleted files" : "Geläscht Fichieren", - "Restore" : "Erëmhierstellen", - "Unknown" : "Onbekannt", - "All files" : "All d'Fichieren", - "Deleted" : "Geläscht", - "No deleted files" : "Keng geläscht Fichieren", - "You will be able to recover deleted files from here" : "Du kanns geläscht Fichieren aus desëm Dossier erëmhierstellen", - "No entries found in this folder" : "Keng Elementer an dësem Dossier fonnt", - "Select all" : "All auswielen", - "Name" : "Numm", - "Actions" : "Aktiounen" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/lt_LT.js b/apps/files_trashbin/l10n/lt_LT.js index 85f9a1ea40a..cb6369942ef 100644 --- a/apps/files_trashbin/l10n/lt_LT.js +++ b/apps/files_trashbin/l10n/lt_LT.js @@ -7,20 +7,18 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Ši programėlė suteikia žmonėms galimybę atkurti iš sistemos ištrintus failus.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ši programėlė įgalina žmones atkurti iš sistemos ištrintus failus. Ji saityno sąsajoje rodo ištrintų failų sąrašą ir teikia parinktis atkurti tuos ištrintus failus atgal į žmonių failų katalogus arba visam laikui pašalinti failus iš sistemos. Atkūrus failą, tuo pačiu yra atkuriamos susijusios failo versijos, jei yra įjungta versijų programėlė. Kai failas ištrinamas iš viešinio, jis gali būti atkurtas tokiu pačiu būdu, tik jau nebebus bendrinamas. Pagal numatymą, šie failai yra laikomi šiukšlinėje 30 dienų.\nTam, kad paskyroms nepritrūktų vietos, „Ištrinti failai“ nenaudos ištrintiems failams daugiau kaip 50% esamu metu prieinamo laisvo leidžiamo duomenų kiekio. Jei ištrinti failai viršija šią ribą, programėlė atrenka seniausius failus ir juos ištrina, kad nebūtų viršyta numatytoji riba. Daugiau informacijos yra prieinama „Ištrinti failai“ dokumentacijoje.", "Restore" : "Atkurti", - "Unknown" : "Nežinoma", - "All files" : "Visi failai", + "Empty deleted files" : "Išvalyti ištrintus failus", + "Cancel" : "Atsisakyti", "Original location" : "Pradinė vieta", + "Deleted by" : "Ištrynė", "Deleted" : "Ištrinta", "A long time ago" : "Prieš ilgą laiką", + "Unknown" : "Nežinoma", + "All files" : "Visi failai", + "You" : "Jūs", "List of files that have been deleted." : "Ištrintų failų sąrašas.", "No deleted files" : "Ištrintų failų nėra", "Files and folders you have deleted will show up here" : "Čia bus rodomi failai ir aplankai, kuriuos ištrynėte", - "This application enables users to restore files that were deleted from the system." : "Ši programa leidžia vartotojams atkurti iš sistemos ištrintus failus.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ši programa leidžia vartotojams atkurti iš sistemos ištrintus failus. Ištrintų failų sąrašas yra gali būti atvaizduojamas žiniatinklyje ir turi nustatymus atkurti ištrintus failus vartotojų failų kataloguose arba visam laikui pašalinti juos iš sistemos. Atkūrus failą, kartu atkuriamos ir failo versijos, jei yra įjungta versijavimo programa. Ištrynus failą iš bendrinimo, jį taip pat galima atkurti , nors jis nebebendrinamas. Pagal numatytuosius nustatymus ištrinti failai lieka šiukšliadėžėje 30 dienų.\nKad naudotojai nepritrūktų vietos diske, programa „Ištrinti failai“ negali naudoti daugiau kaip 50% šiuo metu turimų nemokamų panaikintų failų kvotų. Jei numatyta riba yra viršijama, programa atrenka seniausius failus ir juos ištrina, kad užimata vieta neviršytų numatytosios ribos. Daugiau informacijos galite rasti ištrintų failų dokumentuose.", - "You will be able to recover deleted files from here" : "Čia galėsite atkurti ištrintus failus ", - "No entries found in this folder" : "Šiame aplanke įrašų nerasta", - "Select all" : "Pažymėti viską", - "Name" : "Pavadinimas", - "Actions" : "Veiksmai" + "Deletion cancelled" : "Ištrynimo atsisakyta" }, "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_trashbin/l10n/lt_LT.json b/apps/files_trashbin/l10n/lt_LT.json index de019669b5f..4ceaeac0e5d 100644 --- a/apps/files_trashbin/l10n/lt_LT.json +++ b/apps/files_trashbin/l10n/lt_LT.json @@ -5,20 +5,18 @@ "This application enables people to restore files that were deleted from the system." : "Ši programėlė suteikia žmonėms galimybę atkurti iš sistemos ištrintus failus.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ši programėlė įgalina žmones atkurti iš sistemos ištrintus failus. Ji saityno sąsajoje rodo ištrintų failų sąrašą ir teikia parinktis atkurti tuos ištrintus failus atgal į žmonių failų katalogus arba visam laikui pašalinti failus iš sistemos. Atkūrus failą, tuo pačiu yra atkuriamos susijusios failo versijos, jei yra įjungta versijų programėlė. Kai failas ištrinamas iš viešinio, jis gali būti atkurtas tokiu pačiu būdu, tik jau nebebus bendrinamas. Pagal numatymą, šie failai yra laikomi šiukšlinėje 30 dienų.\nTam, kad paskyroms nepritrūktų vietos, „Ištrinti failai“ nenaudos ištrintiems failams daugiau kaip 50% esamu metu prieinamo laisvo leidžiamo duomenų kiekio. Jei ištrinti failai viršija šią ribą, programėlė atrenka seniausius failus ir juos ištrina, kad nebūtų viršyta numatytoji riba. Daugiau informacijos yra prieinama „Ištrinti failai“ dokumentacijoje.", "Restore" : "Atkurti", - "Unknown" : "Nežinoma", - "All files" : "Visi failai", + "Empty deleted files" : "Išvalyti ištrintus failus", + "Cancel" : "Atsisakyti", "Original location" : "Pradinė vieta", + "Deleted by" : "Ištrynė", "Deleted" : "Ištrinta", "A long time ago" : "Prieš ilgą laiką", + "Unknown" : "Nežinoma", + "All files" : "Visi failai", + "You" : "Jūs", "List of files that have been deleted." : "Ištrintų failų sąrašas.", "No deleted files" : "Ištrintų failų nėra", "Files and folders you have deleted will show up here" : "Čia bus rodomi failai ir aplankai, kuriuos ištrynėte", - "This application enables users to restore files that were deleted from the system." : "Ši programa leidžia vartotojams atkurti iš sistemos ištrintus failus.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ši programa leidžia vartotojams atkurti iš sistemos ištrintus failus. Ištrintų failų sąrašas yra gali būti atvaizduojamas žiniatinklyje ir turi nustatymus atkurti ištrintus failus vartotojų failų kataloguose arba visam laikui pašalinti juos iš sistemos. Atkūrus failą, kartu atkuriamos ir failo versijos, jei yra įjungta versijavimo programa. Ištrynus failą iš bendrinimo, jį taip pat galima atkurti , nors jis nebebendrinamas. Pagal numatytuosius nustatymus ištrinti failai lieka šiukšliadėžėje 30 dienų.\nKad naudotojai nepritrūktų vietos diske, programa „Ištrinti failai“ negali naudoti daugiau kaip 50% šiuo metu turimų nemokamų panaikintų failų kvotų. Jei numatyta riba yra viršijama, programa atrenka seniausius failus ir juos ištrina, kad užimata vieta neviršytų numatytosios ribos. Daugiau informacijos galite rasti ištrintų failų dokumentuose.", - "You will be able to recover deleted files from here" : "Čia galėsite atkurti ištrintus failus ", - "No entries found in this folder" : "Šiame aplanke įrašų nerasta", - "Select all" : "Pažymėti viską", - "Name" : "Pavadinimas", - "Actions" : "Veiksmai" + "Deletion cancelled" : "Ištrynimo atsisakyta" },"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_trashbin/l10n/lv.js b/apps/files_trashbin/l10n/lv.js index 06e9b3d14a1..48a4a93e8e1 100644 --- a/apps/files_trashbin/l10n/lv.js +++ b/apps/files_trashbin/l10n/lv.js @@ -3,15 +3,16 @@ OC.L10N.register( { "restored" : "atjaunots", "Deleted files" : "Izdzēstās datnes", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Atkritnē esošās izdzēstās datnes un mapes (var izbeigties izgūšanas laikā, ja trūkst krātuves vietas)", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Šī lietotne sniedz cilvēkiem iespēju atjaunot datnes, kas tika izdzēstas no sistēmas. Tā tīmekļa saskarnē attēlo izdzēsto datņu sarakstu, un tai ir iespējas tās atjaunot cilvēku datņu mapēs vai neatgriezeniski noņemt no sistēmas. Datnes atjaunošana atjauno arī saistītās datnes versijas, ja ir iespējota versiju lietotne. Kad datne tiek izdzēsta no koplietojuma, to var atjaunot tādā pašā veidā, tomēr tā vairs nebūs koplietota. Pēc noklusējuma izdzēstās datnes atkritnē atrodas 30 dienas.\nLai novērstu konta diska vietas pārtēriņu, izdzēstās datnes neaizņems vairāk kā 50% no pašreiz pieejamās brīvās vietas izdzēstajām datnēm. Ja izdzēstās datnes pārsniegs šo ierobežojumu, lietotne izdzēsīs vecākās datnes, līdz tajā atkal iekļausies. Vairāk informācijas ir pieejama izdzēsto datņu dokumentācijā.", "Restore" : "Atjaunot", + "Empty deleted files" : "Iztukšot izdzēstās datnes", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Vai tiešām neatgriezeniski izdzēst visas atkritnē esošās datnes un mapes? To nevar atdarīt.", + "Cancel" : "Atcelt", + "Deleted" : "Izdzēsts", "Unknown" : "Nezināms", "All files" : "Visas datnes", - "Deleted" : "Dzēsts", - "No deleted files" : "Nav dzēstu datņu", - "You will be able to recover deleted files from here" : "Šeit būs iespējams atgūt izdzēstās datnes", - "No entries found in this folder" : "Šajā mapē nekas nav atrasts", - "Select all" : "Atzīmēt visu", - "Name" : "Nosaukums", - "Actions" : "Darbības" + "No deleted files" : "Nav izdzēstu datņu", + "Files and folders you have deleted will show up here" : "Datnes un mapes, ko izdzēsi, parādīsies šeit" }, "nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);"); diff --git a/apps/files_trashbin/l10n/lv.json b/apps/files_trashbin/l10n/lv.json index a0904385efd..91aa7f8b0a1 100644 --- a/apps/files_trashbin/l10n/lv.json +++ b/apps/files_trashbin/l10n/lv.json @@ -1,15 +1,16 @@ { "translations": { "restored" : "atjaunots", "Deleted files" : "Izdzēstās datnes", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Atkritnē esošās izdzēstās datnes un mapes (var izbeigties izgūšanas laikā, ja trūkst krātuves vietas)", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Šī lietotne sniedz cilvēkiem iespēju atjaunot datnes, kas tika izdzēstas no sistēmas. Tā tīmekļa saskarnē attēlo izdzēsto datņu sarakstu, un tai ir iespējas tās atjaunot cilvēku datņu mapēs vai neatgriezeniski noņemt no sistēmas. Datnes atjaunošana atjauno arī saistītās datnes versijas, ja ir iespējota versiju lietotne. Kad datne tiek izdzēsta no koplietojuma, to var atjaunot tādā pašā veidā, tomēr tā vairs nebūs koplietota. Pēc noklusējuma izdzēstās datnes atkritnē atrodas 30 dienas.\nLai novērstu konta diska vietas pārtēriņu, izdzēstās datnes neaizņems vairāk kā 50% no pašreiz pieejamās brīvās vietas izdzēstajām datnēm. Ja izdzēstās datnes pārsniegs šo ierobežojumu, lietotne izdzēsīs vecākās datnes, līdz tajā atkal iekļausies. Vairāk informācijas ir pieejama izdzēsto datņu dokumentācijā.", "Restore" : "Atjaunot", + "Empty deleted files" : "Iztukšot izdzēstās datnes", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Vai tiešām neatgriezeniski izdzēst visas atkritnē esošās datnes un mapes? To nevar atdarīt.", + "Cancel" : "Atcelt", + "Deleted" : "Izdzēsts", "Unknown" : "Nezināms", "All files" : "Visas datnes", - "Deleted" : "Dzēsts", - "No deleted files" : "Nav dzēstu datņu", - "You will be able to recover deleted files from here" : "Šeit būs iespējams atgūt izdzēstās datnes", - "No entries found in this folder" : "Šajā mapē nekas nav atrasts", - "Select all" : "Atzīmēt visu", - "Name" : "Nosaukums", - "Actions" : "Darbības" + "No deleted files" : "Nav izdzēstu datņu", + "Files and folders you have deleted will show up here" : "Datnes un mapes, ko izdzēsi, parādīsies šeit" },"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/mk.js b/apps/files_trashbin/l10n/mk.js index f69aed9e976..056dd37afc5 100644 --- a/apps/files_trashbin/l10n/mk.js +++ b/apps/files_trashbin/l10n/mk.js @@ -4,21 +4,23 @@ OC.L10N.register( "restored" : "повратени", "Deleted files" : "Избришани датотеки", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Избришани датотеки и папки во корпата за отпадоци (може да истечат за време на извозот ако немате доволно простор за складирање)", + "This application enables people to restore files that were deleted from the system." : "Оваа апликација им овозможува на корисниците да ги вратат датотеките што се избришани од системот.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Оваа апликација им овозможува на корисниците да ги вратат датотеките што се избришани од системот. Прикажува листа на избришани датотеки во веб-интерфејсот и има можност да ги вратите тие избришани датотеки назад до директориумот од каде се избришани или да ги отстраните трајно од системот. Враќањето на датотека ги враќа и нејзините верзии, доколку е овозможена апликацијата за верзии. Кога избришаната датотеката била споделена, таа може да се врати на ист начин, но истата повеќе не е споделена. Стандардно, овие датотеки остануваат во корпата за отпадоци 30 дена.\nСо цел да се спречи да не се искористи просторот за складирање на корисникот, апликацијата Избришани датотеки нема да користи повеќе од 50% од тековно достапната квота за избришани датотеки. Ако избришаните датотеки ја надминат оваа граница, апликацијата ги брише најстарите датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за избришани датотеки.", "Restore" : "Врати", - "Unknown" : "Непознат", - "All files" : "Сите датотеки", - "You" : "Вие", + "Empty deleted files" : "Испразни ја корпата", + "Confirm permanent deletion" : "Потврди бришење за стално", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Дали сте сигурни дека сакате перманентно да ги избришете сите датотеки и папки од корпата за отпадоци? Оваа акција неможе да се врати назад.", + "Cancel" : "Откажи", + "Original location" : "Оргинална локација", + "Deleted by" : "Избришано од", "Deleted" : "Избришана", "A long time ago" : "Многу одамна", + "Unknown" : "Непознат", + "All files" : "Сите датотеки", + "You" : "Вас", "List of files that have been deleted." : "Листа на датотеки што ги имате избришано.", "No deleted files" : "Нема избришани датотеки", "Files and folders you have deleted will show up here" : "Датотеките и папките кои ги имате избришано ќе се појават тука", - "This application enables users to restore files that were deleted from the system." : "Оваа апликација им овозможува на корисниците да ги вратат датотеките што се избришани од системот.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Оваа апликација им овозможува на корисниците да ги вратат датотеките што се избришани од системот. Прикажува листа на избришани датотеки во веб-интерфејсот и има можност да ги вратите тие избришани датотеки назад до директориумот од каде се избришани или да ги отстраните трајно од системот. Враќањето на датотека ги враќа и нејзините верзии, доколку е овозможена апликацијата за верзии. Кога избришаната датотеката била споделена, таа може да се врати на ист начин, но истата повеќе не е споделена. Стандардно, овие датотеки остануваат во корпата за отпадоци 30 дена.\nСо цел да се спречи да не се искористи просторот за складирање на корисникот, апликацијата Избришани датотеки нема да користи повеќе од 50% од тековно достапната квота за избришани датотеки. Ако избришаните датотеки ја надминат оваа граница, апликацијата ги брише најстарите датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за избришани датотеки.", - "You will be able to recover deleted files from here" : "Можете да ги вратите избришаните датотеки од тука", - "No entries found in this folder" : "Нема ништо во оваа папка", - "Select all" : "Избери се", - "Name" : "Име", - "Actions" : "Акции" + "Deletion cancelled" : "Бришењето е откажано" }, "nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"); diff --git a/apps/files_trashbin/l10n/mk.json b/apps/files_trashbin/l10n/mk.json index 339dd025ac1..818ef25a146 100644 --- a/apps/files_trashbin/l10n/mk.json +++ b/apps/files_trashbin/l10n/mk.json @@ -2,21 +2,23 @@ "restored" : "повратени", "Deleted files" : "Избришани датотеки", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Избришани датотеки и папки во корпата за отпадоци (може да истечат за време на извозот ако немате доволно простор за складирање)", + "This application enables people to restore files that were deleted from the system." : "Оваа апликација им овозможува на корисниците да ги вратат датотеките што се избришани од системот.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Оваа апликација им овозможува на корисниците да ги вратат датотеките што се избришани од системот. Прикажува листа на избришани датотеки во веб-интерфејсот и има можност да ги вратите тие избришани датотеки назад до директориумот од каде се избришани или да ги отстраните трајно од системот. Враќањето на датотека ги враќа и нејзините верзии, доколку е овозможена апликацијата за верзии. Кога избришаната датотеката била споделена, таа може да се врати на ист начин, но истата повеќе не е споделена. Стандардно, овие датотеки остануваат во корпата за отпадоци 30 дена.\nСо цел да се спречи да не се искористи просторот за складирање на корисникот, апликацијата Избришани датотеки нема да користи повеќе од 50% од тековно достапната квота за избришани датотеки. Ако избришаните датотеки ја надминат оваа граница, апликацијата ги брише најстарите датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за избришани датотеки.", "Restore" : "Врати", - "Unknown" : "Непознат", - "All files" : "Сите датотеки", - "You" : "Вие", + "Empty deleted files" : "Испразни ја корпата", + "Confirm permanent deletion" : "Потврди бришење за стално", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Дали сте сигурни дека сакате перманентно да ги избришете сите датотеки и папки од корпата за отпадоци? Оваа акција неможе да се врати назад.", + "Cancel" : "Откажи", + "Original location" : "Оргинална локација", + "Deleted by" : "Избришано од", "Deleted" : "Избришана", "A long time ago" : "Многу одамна", + "Unknown" : "Непознат", + "All files" : "Сите датотеки", + "You" : "Вас", "List of files that have been deleted." : "Листа на датотеки што ги имате избришано.", "No deleted files" : "Нема избришани датотеки", "Files and folders you have deleted will show up here" : "Датотеките и папките кои ги имате избришано ќе се појават тука", - "This application enables users to restore files that were deleted from the system." : "Оваа апликација им овозможува на корисниците да ги вратат датотеките што се избришани од системот.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Оваа апликација им овозможува на корисниците да ги вратат датотеките што се избришани од системот. Прикажува листа на избришани датотеки во веб-интерфејсот и има можност да ги вратите тие избришани датотеки назад до директориумот од каде се избришани или да ги отстраните трајно од системот. Враќањето на датотека ги враќа и нејзините верзии, доколку е овозможена апликацијата за верзии. Кога избришаната датотеката била споделена, таа може да се врати на ист начин, но истата повеќе не е споделена. Стандардно, овие датотеки остануваат во корпата за отпадоци 30 дена.\nСо цел да се спречи да не се искористи просторот за складирање на корисникот, апликацијата Избришани датотеки нема да користи повеќе од 50% од тековно достапната квота за избришани датотеки. Ако избришаните датотеки ја надминат оваа граница, апликацијата ги брише најстарите датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за избришани датотеки.", - "You will be able to recover deleted files from here" : "Можете да ги вратите избришаните датотеки од тука", - "No entries found in this folder" : "Нема ништо во оваа папка", - "Select all" : "Избери се", - "Name" : "Име", - "Actions" : "Акции" + "Deletion cancelled" : "Бришењето е откажано" },"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/mn.js b/apps/files_trashbin/l10n/mn.js deleted file mode 100644 index b81cfed77a2..00000000000 --- a/apps/files_trashbin/l10n/mn.js +++ /dev/null @@ -1,16 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Deleted files" : "Устгасан файлууд", - "Restore" : "Сэргээх", - "Delete permanently" : "Үүрд устгах", - "This operation is forbidden" : "Энэ үйлдэл хориотой", - "This directory is unavailable, please check the logs or contact the administrator" : "Энэ хавтас байхгүй байна, үйлдлийн лог шалгах эсвэл админ хэрэглэгчтэй холбогдоно уу.", - "Deleted" : "Устгагдсан", - "No entries found in this folder" : "Энэ хавтаст юм олдсонгүй", - "Select all" : "Бүгдийг сонгох", - "Name" : "Нэр", - "Actions" : "Үйл ажиллагаа", - "Delete" : "Устгах" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/mn.json b/apps/files_trashbin/l10n/mn.json deleted file mode 100644 index 08c5e9a4630..00000000000 --- a/apps/files_trashbin/l10n/mn.json +++ /dev/null @@ -1,14 +0,0 @@ -{ "translations": { - "Deleted files" : "Устгасан файлууд", - "Restore" : "Сэргээх", - "Delete permanently" : "Үүрд устгах", - "This operation is forbidden" : "Энэ үйлдэл хориотой", - "This directory is unavailable, please check the logs or contact the administrator" : "Энэ хавтас байхгүй байна, үйлдлийн лог шалгах эсвэл админ хэрэглэгчтэй холбогдоно уу.", - "Deleted" : "Устгагдсан", - "No entries found in this folder" : "Энэ хавтаст юм олдсонгүй", - "Select all" : "Бүгдийг сонгох", - "Name" : "Нэр", - "Actions" : "Үйл ажиллагаа", - "Delete" : "Устгах" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ms_MY.js b/apps/files_trashbin/l10n/ms_MY.js deleted file mode 100644 index 22680ff254d..00000000000 --- a/apps/files_trashbin/l10n/ms_MY.js +++ /dev/null @@ -1,14 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't delete %s permanently" : "Tidak dapat menghapuskan %s secara kekal", - "Couldn't restore %s" : "Tidak dapat memulihkan %s", - "Deleted files" : "Fail dipadam", - "Restore" : "Pulihkan", - "Delete" : "Padam", - "Error" : "Ralat", - "restored" : "dipulihkan", - "Name" : "Nama", - "Deleted" : "Dipadam" -}, -"nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/ms_MY.json b/apps/files_trashbin/l10n/ms_MY.json deleted file mode 100644 index 340b46e78a1..00000000000 --- a/apps/files_trashbin/l10n/ms_MY.json +++ /dev/null @@ -1,12 +0,0 @@ -{ "translations": { - "Couldn't delete %s permanently" : "Tidak dapat menghapuskan %s secara kekal", - "Couldn't restore %s" : "Tidak dapat memulihkan %s", - "Deleted files" : "Fail dipadam", - "Restore" : "Pulihkan", - "Delete" : "Padam", - "Error" : "Ralat", - "restored" : "dipulihkan", - "Name" : "Nama", - "Deleted" : "Dipadam" -},"pluralForm" :"nplurals=1; plural=0;" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/nb.js b/apps/files_trashbin/l10n/nb.js index 57586188e37..98459549e71 100644 --- a/apps/files_trashbin/l10n/nb.js +++ b/apps/files_trashbin/l10n/nb.js @@ -7,20 +7,20 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Denne applikasjonen lar personer gjenopprette filer som ble slettet fra systemet.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denne applikasjonen lar personer gjenopprette filer som ble slettet fra systemet. Den viser en liste over slettede filer i webgrensesnittet, og har muligheter for å gjenopprette de slettede filene tilbake til personfilkatalogene eller fjerne dem permanent fra systemet. Gjenoppretting av en fil gjenoppretter også relaterte filversjoner, hvis versjonsprogrammet er aktivert. Når en fil slettes fra en delt ressurs, kan den gjenopprettes på samme måte, selv om den ikke lenger deles. Som standard forblir disse filene i papirkurven i 30 dager.\nFor å forhindre at en konto går tom for diskplass, vil ikke Slettede filer-appen bruke mer enn 50 % av den tilgjengelige gratiskvoten for slettede filer. Hvis de slettede filene overskrider denne grensen, sletter appen de eldste filene til den kommer under denne grensen. Du finner mer informasjon i dokumentasjonen for slettede filer.", "Restore" : "Gjenopprett", - "Unknown" : "Ukjent", - "All files" : "Alle filer", + "Empty deleted files" : "Tøm papirkurven", + "Confirm permanent deletion" : "Bekreft permanent sletting", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Er du sikker på at du vil slette alle filer og mapper i papirkurven permanent? Denne handlingen kan ikke angres.", + "Cancel" : "Avbryt", "Original location" : "Opprinnelig plassering", + "Deleted by" : "Slettet av", "Deleted" : "Slettet", "A long time ago" : "Veldig lenge siden", + "Unknown" : "Ukjent", + "All files" : "Alle filer", + "You" : "Du", "List of files that have been deleted." : "Liste over filer som har blitt slettet.", "No deleted files" : "Ingen slettede filer", "Files and folders you have deleted will show up here" : "Filer og mapper du har slettet vil dukke opp her", - "This application enables users to restore files that were deleted from the system." : "Denne appen gjør så brukere kan gjenopprette filer som har blitt slettet fra systemet.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denne appen gjør så brukere kan gjenopprette filer som har blitt slettet fra systemet. Den viser en liste med slettede filer i web-grensesnittet hvor man kan gjenopprette de slettede filene tilbake til brukernes mapper, eller fjerne de permanent fra systemet. Gjenoppretting av en fil gjenoppretter også relaterte fil-versjoner, hvis versjonerings-appen er aktivert. Når en fil slettes fra en deling, kan den gjenopprettes på samme måte, men er da ikke lenger delt. Som standard bevares disse filene i søppelbøtten i 30 dager. For å forhindre en bruker fra å fylle opp disken, vil ikke Deleted Files-appen bruke mer enn 50% av den tilgjengelige diskkvoten til slettede filer. Hvis de slettede filene går over denne grensen sletter appen de aldste filene til den kommer under grensen. Mer informasjon er tilgjengelig i Deleted Files' dokumentasjon.", - "You will be able to recover deleted files from here" : "Du vil kunne gjenopprette slettede filer herfra", - "No entries found in this folder" : "Ingen oppføringer funnet i denne mappen", - "Select all" : "Velg alle", - "Name" : "Navn", - "Actions" : "Handlinger" + "Deletion cancelled" : "Sletting avbrutt" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/nb.json b/apps/files_trashbin/l10n/nb.json index dbfca8320cb..090785da461 100644 --- a/apps/files_trashbin/l10n/nb.json +++ b/apps/files_trashbin/l10n/nb.json @@ -5,20 +5,20 @@ "This application enables people to restore files that were deleted from the system." : "Denne applikasjonen lar personer gjenopprette filer som ble slettet fra systemet.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denne applikasjonen lar personer gjenopprette filer som ble slettet fra systemet. Den viser en liste over slettede filer i webgrensesnittet, og har muligheter for å gjenopprette de slettede filene tilbake til personfilkatalogene eller fjerne dem permanent fra systemet. Gjenoppretting av en fil gjenoppretter også relaterte filversjoner, hvis versjonsprogrammet er aktivert. Når en fil slettes fra en delt ressurs, kan den gjenopprettes på samme måte, selv om den ikke lenger deles. Som standard forblir disse filene i papirkurven i 30 dager.\nFor å forhindre at en konto går tom for diskplass, vil ikke Slettede filer-appen bruke mer enn 50 % av den tilgjengelige gratiskvoten for slettede filer. Hvis de slettede filene overskrider denne grensen, sletter appen de eldste filene til den kommer under denne grensen. Du finner mer informasjon i dokumentasjonen for slettede filer.", "Restore" : "Gjenopprett", - "Unknown" : "Ukjent", - "All files" : "Alle filer", + "Empty deleted files" : "Tøm papirkurven", + "Confirm permanent deletion" : "Bekreft permanent sletting", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Er du sikker på at du vil slette alle filer og mapper i papirkurven permanent? Denne handlingen kan ikke angres.", + "Cancel" : "Avbryt", "Original location" : "Opprinnelig plassering", + "Deleted by" : "Slettet av", "Deleted" : "Slettet", "A long time ago" : "Veldig lenge siden", + "Unknown" : "Ukjent", + "All files" : "Alle filer", + "You" : "Du", "List of files that have been deleted." : "Liste over filer som har blitt slettet.", "No deleted files" : "Ingen slettede filer", "Files and folders you have deleted will show up here" : "Filer og mapper du har slettet vil dukke opp her", - "This application enables users to restore files that were deleted from the system." : "Denne appen gjør så brukere kan gjenopprette filer som har blitt slettet fra systemet.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denne appen gjør så brukere kan gjenopprette filer som har blitt slettet fra systemet. Den viser en liste med slettede filer i web-grensesnittet hvor man kan gjenopprette de slettede filene tilbake til brukernes mapper, eller fjerne de permanent fra systemet. Gjenoppretting av en fil gjenoppretter også relaterte fil-versjoner, hvis versjonerings-appen er aktivert. Når en fil slettes fra en deling, kan den gjenopprettes på samme måte, men er da ikke lenger delt. Som standard bevares disse filene i søppelbøtten i 30 dager. For å forhindre en bruker fra å fylle opp disken, vil ikke Deleted Files-appen bruke mer enn 50% av den tilgjengelige diskkvoten til slettede filer. Hvis de slettede filene går over denne grensen sletter appen de aldste filene til den kommer under grensen. Mer informasjon er tilgjengelig i Deleted Files' dokumentasjon.", - "You will be able to recover deleted files from here" : "Du vil kunne gjenopprette slettede filer herfra", - "No entries found in this folder" : "Ingen oppføringer funnet i denne mappen", - "Select all" : "Velg alle", - "Name" : "Navn", - "Actions" : "Handlinger" + "Deletion cancelled" : "Sletting avbrutt" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/nl.js b/apps/files_trashbin/l10n/nl.js index e0e4c1a8080..11cf800f0c1 100644 --- a/apps/files_trashbin/l10n/nl.js +++ b/apps/files_trashbin/l10n/nl.js @@ -3,18 +3,28 @@ OC.L10N.register( { "restored" : "hersteld", "Deleted files" : "Verwijderde bestanden", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Verwijderde bestanden en mappen in de prullenbak (kunnen vervallen tijdens het exporteren wanneer je weinig opslag over hebt)", + "This application enables people to restore files that were deleted from the system." : "Deze applicatie maakt het mogelijk om mensen bestanden te laten herstellen die zijn verwijderd van het systeem.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Deze applicatie maakt het mogelijk om mensen bestanden te laten herstellen die zijn verwijderd van het systeem. Het laat een lijst van verwijderde bestanden zien in de web interface, en het heeft de mogelijkheid van het herstellen van die verwijderde bestanden terug naar de bestandmappen van de gebruikers of de mogelijkheid tot het permanent verwijderen van die bestanden van het systeem. Het herstellen van een bestand doet ook de gerelateerde bestandversies herstellen, wanneer de versies applicatie is ingeschakeld. Wanneer een bestand is verwijderd van een share, kan deze op dezelfde manier hersteld worden, alleen het is niet langer meer gedeeld. Standaard, blijven de bestanden in de prullenbak voor 30 dagen.\nOm er voor te zorgen dat een account vrije opslag overhoudt, doet de Verwijderde bestanden app niet meer dan 50% van het huidige beschikbare vrije quota voor verwijderde bestanden gebruiken. Als de verwijderde bestanden het limeit bereiken, doet de app eerst de oudste bestanden verwijderden totdat het onder het limiet komt. Meer informatie is beschikbaar in de Verwijderde bestanden documentatie.", "Restore" : "Herstellen", + "Not enough free space to restore the file/folder" : "Er is niet genoeg vrije opslag over om het bestand/de map te herstellen", + "Empty deleted files" : "Leeg verwijderde bestanden", + "Confirm permanent deletion" : "Bevestig permanente verwijdering", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Weet je zeker dat je parmanent alle bestanden en mappen in de prullenbak wilt verwijderen? Dit kan niet ongedaan worden gemaakt.", + "Cancel" : "Annuleren", + "Original location" : "Originele locatie", + "Deleted by" : "Verwijderd door", + "Deleted" : "Verwijderd", + "few seconds ago" : "paar seconden geleden", + "A long time ago" : "Een lange tijd geleden", "Unknown" : "Onbekend", "All files" : "Alle bestanden", - "You" : "Je", - "Deleted" : "Verwijderd", + "You" : "Jou", + "List of files that have been deleted." : "Lijst van bestanden die verwijderd zijn.", "No deleted files" : "Geen verwijderde bestanden", - "This application enables users to restore files that were deleted from the system." : "Deze applicatie stelt gebruikers in staat om verwijderde bestanden te herstellen.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Met deze applicatie kunnen gebruikers bestanden herstellen die uit het systeem zijn verwijderd. Het toont in de webinterface een lijst met verwijderde bestanden en heeft opties om die verwijderde bestanden terug te zetten naar de bestandsmappen van de gebruikers of ze permanent uit het systeem te verwijderen. Het herstellen van een bestand herstelt ook gerelateerde bestandsversies, als de versiebeheer-applicatie is ingeschakeld. Wanneer een bestand uit een share wordt verwijderd, kan het op dezelfde manier worden hersteld, hoewel het niet langer wordt gedeeld. Standaard blijven deze bestanden 30 dagen in de prullenbak staan.\nOm te voorkomen dat een gebruiker onvoldoende schijfruimte heeft, gebruikt de app Verwijderde bestanden niet meer dan 50% van de momenteel beschikbare vrije quota voor verwijderde bestanden. Als de verwijderde bestanden deze limiet overschrijden, verwijdert de app de oudste bestanden totdat deze de limiet is bereikt. Meer informatie is beschikbaar in de documentatie voor Verwijderde bestanden.", - "You will be able to recover deleted files from here" : "Van hieruit kun je verwijderde bestanden terugzetten", - "No entries found in this folder" : "Niets gevonden in deze map", - "Select all" : "Alles selecteren", - "Name" : "Naam", - "Actions" : "Acties" + "Files and folders you have deleted will show up here" : "Bestanden en mappen die je verwijderd hebt worden hier getoond", + "All files have been permanently deleted" : "Alle bestanden zijn permanent verwijderd", + "Failed to empty deleted files" : "Mislukt om de verwijderde bestanden leeg te maken", + "Deletion cancelled" : "Verwijdering geannuleerd" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/nl.json b/apps/files_trashbin/l10n/nl.json index 4375dd4b537..85b767f67df 100644 --- a/apps/files_trashbin/l10n/nl.json +++ b/apps/files_trashbin/l10n/nl.json @@ -1,18 +1,28 @@ { "translations": { "restored" : "hersteld", "Deleted files" : "Verwijderde bestanden", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Verwijderde bestanden en mappen in de prullenbak (kunnen vervallen tijdens het exporteren wanneer je weinig opslag over hebt)", + "This application enables people to restore files that were deleted from the system." : "Deze applicatie maakt het mogelijk om mensen bestanden te laten herstellen die zijn verwijderd van het systeem.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Deze applicatie maakt het mogelijk om mensen bestanden te laten herstellen die zijn verwijderd van het systeem. Het laat een lijst van verwijderde bestanden zien in de web interface, en het heeft de mogelijkheid van het herstellen van die verwijderde bestanden terug naar de bestandmappen van de gebruikers of de mogelijkheid tot het permanent verwijderen van die bestanden van het systeem. Het herstellen van een bestand doet ook de gerelateerde bestandversies herstellen, wanneer de versies applicatie is ingeschakeld. Wanneer een bestand is verwijderd van een share, kan deze op dezelfde manier hersteld worden, alleen het is niet langer meer gedeeld. Standaard, blijven de bestanden in de prullenbak voor 30 dagen.\nOm er voor te zorgen dat een account vrije opslag overhoudt, doet de Verwijderde bestanden app niet meer dan 50% van het huidige beschikbare vrije quota voor verwijderde bestanden gebruiken. Als de verwijderde bestanden het limeit bereiken, doet de app eerst de oudste bestanden verwijderden totdat het onder het limiet komt. Meer informatie is beschikbaar in de Verwijderde bestanden documentatie.", "Restore" : "Herstellen", + "Not enough free space to restore the file/folder" : "Er is niet genoeg vrije opslag over om het bestand/de map te herstellen", + "Empty deleted files" : "Leeg verwijderde bestanden", + "Confirm permanent deletion" : "Bevestig permanente verwijdering", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Weet je zeker dat je parmanent alle bestanden en mappen in de prullenbak wilt verwijderen? Dit kan niet ongedaan worden gemaakt.", + "Cancel" : "Annuleren", + "Original location" : "Originele locatie", + "Deleted by" : "Verwijderd door", + "Deleted" : "Verwijderd", + "few seconds ago" : "paar seconden geleden", + "A long time ago" : "Een lange tijd geleden", "Unknown" : "Onbekend", "All files" : "Alle bestanden", - "You" : "Je", - "Deleted" : "Verwijderd", + "You" : "Jou", + "List of files that have been deleted." : "Lijst van bestanden die verwijderd zijn.", "No deleted files" : "Geen verwijderde bestanden", - "This application enables users to restore files that were deleted from the system." : "Deze applicatie stelt gebruikers in staat om verwijderde bestanden te herstellen.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Met deze applicatie kunnen gebruikers bestanden herstellen die uit het systeem zijn verwijderd. Het toont in de webinterface een lijst met verwijderde bestanden en heeft opties om die verwijderde bestanden terug te zetten naar de bestandsmappen van de gebruikers of ze permanent uit het systeem te verwijderen. Het herstellen van een bestand herstelt ook gerelateerde bestandsversies, als de versiebeheer-applicatie is ingeschakeld. Wanneer een bestand uit een share wordt verwijderd, kan het op dezelfde manier worden hersteld, hoewel het niet langer wordt gedeeld. Standaard blijven deze bestanden 30 dagen in de prullenbak staan.\nOm te voorkomen dat een gebruiker onvoldoende schijfruimte heeft, gebruikt de app Verwijderde bestanden niet meer dan 50% van de momenteel beschikbare vrije quota voor verwijderde bestanden. Als de verwijderde bestanden deze limiet overschrijden, verwijdert de app de oudste bestanden totdat deze de limiet is bereikt. Meer informatie is beschikbaar in de documentatie voor Verwijderde bestanden.", - "You will be able to recover deleted files from here" : "Van hieruit kun je verwijderde bestanden terugzetten", - "No entries found in this folder" : "Niets gevonden in deze map", - "Select all" : "Alles selecteren", - "Name" : "Naam", - "Actions" : "Acties" + "Files and folders you have deleted will show up here" : "Bestanden en mappen die je verwijderd hebt worden hier getoond", + "All files have been permanently deleted" : "Alle bestanden zijn permanent verwijderd", + "Failed to empty deleted files" : "Mislukt om de verwijderde bestanden leeg te maken", + "Deletion cancelled" : "Verwijdering geannuleerd" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/nn_NO.js b/apps/files_trashbin/l10n/nn_NO.js deleted file mode 100644 index a3779d14135..00000000000 --- a/apps/files_trashbin/l10n/nn_NO.js +++ /dev/null @@ -1,16 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "gjenoppretta", - "Deleted files" : "Sletta filer", - "Restore" : "Gjenopprett", - "Unknown" : "Ukjend", - "All files" : "Alle filer", - "No deleted files" : "Ingen sletta filer", - "Deleted" : "Sletta", - "No entries found in this folder" : "Ingen oppføringar funne i denne mappa", - "Select all" : "Merk alt", - "Name" : "Namn", - "Actions" : "Handlingar" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/nn_NO.json b/apps/files_trashbin/l10n/nn_NO.json deleted file mode 100644 index 73ee98c639c..00000000000 --- a/apps/files_trashbin/l10n/nn_NO.json +++ /dev/null @@ -1,14 +0,0 @@ -{ "translations": { - "restored" : "gjenoppretta", - "Deleted files" : "Sletta filer", - "Restore" : "Gjenopprett", - "Unknown" : "Ukjend", - "All files" : "Alle filer", - "No deleted files" : "Ingen sletta filer", - "Deleted" : "Sletta", - "No entries found in this folder" : "Ingen oppføringar funne i denne mappa", - "Select all" : "Merk alt", - "Name" : "Namn", - "Actions" : "Handlingar" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/oc.js b/apps/files_trashbin/l10n/oc.js deleted file mode 100644 index 762d7a9b424..00000000000 --- a/apps/files_trashbin/l10n/oc.js +++ /dev/null @@ -1,21 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't delete %s permanently" : "Impossible de suprimir %s definitivament", - "Couldn't restore %s" : "Impossible de restablir %s", - "Deleted files" : "Fichièrs suprimits", - "Restore" : "Restablir", - "Delete" : "Suprimir", - "Delete permanently" : "Suprimir de faiçon definitiva", - "Error" : "Error", - "This operation is forbidden" : "L'operacion es interdicha", - "This directory is unavailable, please check the logs or contact the administrator" : "Aqueste repertòri es pas disponible. Consultatz los logs o contactatz vòstre administrator", - "restored" : "restablit", - "No deleted files" : "Cap de fichièr pas suprimit", - "You will be able to recover deleted files from here" : "Poiretz restablir vòstres fichièrs suprimits aicí", - "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr", - "Select all" : "Seleccionar tot", - "Name" : "Nom", - "Deleted" : "Escafat" -}, -"nplurals=2; plural=(n > 1);"); diff --git a/apps/files_trashbin/l10n/oc.json b/apps/files_trashbin/l10n/oc.json deleted file mode 100644 index a48b12e0c6e..00000000000 --- a/apps/files_trashbin/l10n/oc.json +++ /dev/null @@ -1,19 +0,0 @@ -{ "translations": { - "Couldn't delete %s permanently" : "Impossible de suprimir %s definitivament", - "Couldn't restore %s" : "Impossible de restablir %s", - "Deleted files" : "Fichièrs suprimits", - "Restore" : "Restablir", - "Delete" : "Suprimir", - "Delete permanently" : "Suprimir de faiçon definitiva", - "Error" : "Error", - "This operation is forbidden" : "L'operacion es interdicha", - "This directory is unavailable, please check the logs or contact the administrator" : "Aqueste repertòri es pas disponible. Consultatz los logs o contactatz vòstre administrator", - "restored" : "restablit", - "No deleted files" : "Cap de fichièr pas suprimit", - "You will be able to recover deleted files from here" : "Poiretz restablir vòstres fichièrs suprimits aicí", - "No entries found in this folder" : "Cap d'entrada pas trobada dins aqueste dorsièr", - "Select all" : "Seleccionar tot", - "Name" : "Nom", - "Deleted" : "Escafat" -},"pluralForm" :"nplurals=2; plural=(n > 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/pl.js b/apps/files_trashbin/l10n/pl.js index c4e9571112e..86c6f5ba59e 100644 --- a/apps/files_trashbin/l10n/pl.js +++ b/apps/files_trashbin/l10n/pl.js @@ -7,22 +7,24 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Ta aplikacja umożliwia przywracanie plików, które zostały usunięte z systemu.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ta aplikacja umożliwia ludziom przywracanie plików, które zostały usunięte z systemu. Wyświetla listę usuniętych plików w interfejsie internetowym i oferuje opcje przywracania usuniętych plików z powrotem do katalogów plików osób lub trwałego usuwania ich z systemu. Przywracanie pliku przywraca również powiązane wersje plików, jeśli włączona jest aplikacja wersji. Gdy plik zostanie usunięty z udziału, można go przywrócić w ten sam sposób, chociaż nie jest już udostępniany. Domyślnie pliki te pozostają w koszu przez 30 dni.\nAby zapobiec wyczerpaniu się miejsca na dysku, aplikacja Usunięte pliki nie wykorzysta więcej niż 50% aktualnie dostępnego bezpłatnego miejsca na usunięte pliki. Jeśli usunięte pliki przekroczą ten limit, aplikacja usunie najstarsze pliki, aż spadnie poniżej tego limitu. Więcej informacji można znaleźć w dokumentacji usuniętych plików.", "Restore" : "Przywróć", - "Unknown" : "Nieznany", - "All files" : "Wszystkie pliki", - "You" : "Ty", + "Not enough free space to restore the file/folder" : "Brak miejsca na dysku na odzyskanie pliku/folderu", + "Empty deleted files" : "Opróżnij usunięte pliki", + "Confirm permanent deletion" : "Potwierdź trwałe usunięcie", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Czy na pewno chcesz trwale usunąć wszystkie pliki i katalogi w koszu? Tego nie można cofnąć.", + "Cancel" : "Anuluj", "Original location" : "Oryginalna lokalizacja", "Deleted by" : "Usunięto przez", "Deleted" : "Usunięto", + "few seconds ago" : "kilka sekund temu", "A long time ago" : "Dawno temu", + "Unknown" : "Nieznany", + "All files" : "Wszystkie pliki", + "You" : "Ty", "List of files that have been deleted." : "Lista plików, które zostały usunięte.", "No deleted files" : "Brak usuniętych plików", "Files and folders you have deleted will show up here" : "Tutaj pojawią się usunięte pliki i katalogi", - "This application enables users to restore files that were deleted from the system." : "Aplikacja umożliwia użytkownikom na przywracanie usuniętych plików z systemu.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aplikacja umożliwia przywracanie usuniętych plików z systemu. Wyświetla listę usuniętych plików w interfejsie www i posiada opcje przywracania usuniętych plików z powrotem do katalogów plików użytkowników lub usuwania ich na stałe z systemu. Przywracanie pliku przywraca także powiązane wersje plików, jeśli aplikacja wersji jest włączona. Gdy plik zostanie usunięty z udostępnienia, może zostać przywrócony w ten sam sposób, lecz nie będzie już udostępniony. Domyślnie pliki te pozostają w koszu przez 30 dni. Aby zapobiec brakowi miejsca na dysku przez użytkownika, aplikacja \"Usunięte pliki\" nie będzie wykorzystywać więcej niż 50% dostępnego obecnie wolnego limitu dla usuniętych plików. Jeśli usunięte pliki przekroczą ten limit, aplikacja usuwa najpierw najstarsze pliki, dopóki nie osiągnie tego limitu. Więcej informacji można znaleźć w dokumentacji \"Usunięte pliki\".", - "You will be able to recover deleted files from here" : "Stąd będziesz mógł odzyskać usunięte pliki", - "No entries found in this folder" : "Brak plików w tym katalogu", - "Select all" : "Wybierz wszystko", - "Name" : "Nazwa", - "Actions" : "Akcje" + "All files have been permanently deleted" : "Wszystkie pliki zostały trwale usunięte", + "Failed to empty deleted files" : "Nie udało się opróżnić usuniętych plików", + "Deletion cancelled" : "Usuwanie anulowane" }, "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_trashbin/l10n/pl.json b/apps/files_trashbin/l10n/pl.json index e504a58451f..db46f0e9953 100644 --- a/apps/files_trashbin/l10n/pl.json +++ b/apps/files_trashbin/l10n/pl.json @@ -5,22 +5,24 @@ "This application enables people to restore files that were deleted from the system." : "Ta aplikacja umożliwia przywracanie plików, które zostały usunięte z systemu.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ta aplikacja umożliwia ludziom przywracanie plików, które zostały usunięte z systemu. Wyświetla listę usuniętych plików w interfejsie internetowym i oferuje opcje przywracania usuniętych plików z powrotem do katalogów plików osób lub trwałego usuwania ich z systemu. Przywracanie pliku przywraca również powiązane wersje plików, jeśli włączona jest aplikacja wersji. Gdy plik zostanie usunięty z udziału, można go przywrócić w ten sam sposób, chociaż nie jest już udostępniany. Domyślnie pliki te pozostają w koszu przez 30 dni.\nAby zapobiec wyczerpaniu się miejsca na dysku, aplikacja Usunięte pliki nie wykorzysta więcej niż 50% aktualnie dostępnego bezpłatnego miejsca na usunięte pliki. Jeśli usunięte pliki przekroczą ten limit, aplikacja usunie najstarsze pliki, aż spadnie poniżej tego limitu. Więcej informacji można znaleźć w dokumentacji usuniętych plików.", "Restore" : "Przywróć", - "Unknown" : "Nieznany", - "All files" : "Wszystkie pliki", - "You" : "Ty", + "Not enough free space to restore the file/folder" : "Brak miejsca na dysku na odzyskanie pliku/folderu", + "Empty deleted files" : "Opróżnij usunięte pliki", + "Confirm permanent deletion" : "Potwierdź trwałe usunięcie", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Czy na pewno chcesz trwale usunąć wszystkie pliki i katalogi w koszu? Tego nie można cofnąć.", + "Cancel" : "Anuluj", "Original location" : "Oryginalna lokalizacja", "Deleted by" : "Usunięto przez", "Deleted" : "Usunięto", + "few seconds ago" : "kilka sekund temu", "A long time ago" : "Dawno temu", + "Unknown" : "Nieznany", + "All files" : "Wszystkie pliki", + "You" : "Ty", "List of files that have been deleted." : "Lista plików, które zostały usunięte.", "No deleted files" : "Brak usuniętych plików", "Files and folders you have deleted will show up here" : "Tutaj pojawią się usunięte pliki i katalogi", - "This application enables users to restore files that were deleted from the system." : "Aplikacja umożliwia użytkownikom na przywracanie usuniętych plików z systemu.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Aplikacja umożliwia przywracanie usuniętych plików z systemu. Wyświetla listę usuniętych plików w interfejsie www i posiada opcje przywracania usuniętych plików z powrotem do katalogów plików użytkowników lub usuwania ich na stałe z systemu. Przywracanie pliku przywraca także powiązane wersje plików, jeśli aplikacja wersji jest włączona. Gdy plik zostanie usunięty z udostępnienia, może zostać przywrócony w ten sam sposób, lecz nie będzie już udostępniony. Domyślnie pliki te pozostają w koszu przez 30 dni. Aby zapobiec brakowi miejsca na dysku przez użytkownika, aplikacja \"Usunięte pliki\" nie będzie wykorzystywać więcej niż 50% dostępnego obecnie wolnego limitu dla usuniętych plików. Jeśli usunięte pliki przekroczą ten limit, aplikacja usuwa najpierw najstarsze pliki, dopóki nie osiągnie tego limitu. Więcej informacji można znaleźć w dokumentacji \"Usunięte pliki\".", - "You will be able to recover deleted files from here" : "Stąd będziesz mógł odzyskać usunięte pliki", - "No entries found in this folder" : "Brak plików w tym katalogu", - "Select all" : "Wybierz wszystko", - "Name" : "Nazwa", - "Actions" : "Akcje" + "All files have been permanently deleted" : "Wszystkie pliki zostały trwale usunięte", + "Failed to empty deleted files" : "Nie udało się opróżnić usuniętych plików", + "Deletion cancelled" : "Usuwanie anulowane" },"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_trashbin/l10n/pt_BR.js b/apps/files_trashbin/l10n/pt_BR.js index 2b819b8c411..ccbc9ea0b6e 100644 --- a/apps/files_trashbin/l10n/pt_BR.js +++ b/apps/files_trashbin/l10n/pt_BR.js @@ -2,27 +2,29 @@ OC.L10N.register( "files_trashbin", { "restored" : "restaurado", - "Deleted files" : "Arquivos apagados", + "Deleted files" : "Arquivos excluídos", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Arquivos e pastas excluídos na lixeira (podem expirar durante a exportação se você estiver com pouco espaço de armazenamento)", "This application enables people to restore files that were deleted from the system." : "Este aplicativo permite que as pessoas restaurem arquivos que foram excluídos do sistema.", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Este aplicativo permite que as pessoas restaurem arquivos que foram excluídos do sistema. Ele exibe uma lista de arquivos excluídos na interface da web e tem opções para restaurar esses arquivos excluídos de volta aos diretórios de arquivos de pessoas ou removê-los permanentemente do sistema. A restauração de um arquivo também restaura versões de arquivos relacionadas, se o aplicativo de versões estiver ativado. Quando um arquivo é excluído de um compartilhamento, ele pode ser restaurado da mesma maneira, embora não seja mais compartilhado. Por padrão, esses arquivos permanecem na lixeira por 30 dias. \nPara evitar que uma conta fique sem espaço em disco, o aplicativo Arquivos excluídos não utilizará mais de 50% da cota gratuita atualmente disponível para arquivos excluídos. Se os arquivos excluídos excederem esse limite, o aplicativo excluirá os arquivos mais antigos até ficarem abaixo desse limite. Mais informações estão disponíveis na documentação Arquivos Excluídos.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Este aplicativo permite que as pessoas restaurem arquivos que foram excluídos do sistema. Ele exibe uma lista de arquivos excluídos na interface da web e tem opções para restaurar esses arquivos excluídos de volta aos diretórios de arquivos de pessoas ou removê-los permanentemente do sistema. A restauração de um arquivo também restaura versões de arquivos relacionadas, se o aplicativo de versões estiver ativado. Quando um arquivo é excluído de um compartilhamento, ele pode ser restaurado da mesma maneira, embora não seja mais compartilhado. Por padrão, esses arquivos permanecem na lixeira por 30 dias. \nPara evitar que uma conta fique sem espaço em disco, o aplicativo Arquivos excluídos não utilizará mais de 50% da cota livre atualmente disponível para arquivos excluídos. Se os arquivos excluídos excederem esse limite, o aplicativo excluirá os arquivos mais antigos até ficarem abaixo desse limite. Mais informações estão disponíveis na documentação Arquivos Excluídos.", "Restore" : "Restaurar", - "Unknown" : "Desconhecido", - "All files" : "Todos os arquivos", - "You" : "Você", + "Not enough free space to restore the file/folder" : "Não há espaço livre suficiente para restaurar o arquivo/pasta", + "Empty deleted files" : "Esvaziar arquivos excluídos", + "Confirm permanent deletion" : "Confirme exclusão permanente", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Tem certeza de que deseja excluir permanentemente todos os arquivos e pastas na lixeira? Isso não pode ser desfeito.", + "Cancel" : "Cancelar", "Original location" : "Localização original", "Deleted by" : "Excluído por", "Deleted" : "Excluído", - "A long time ago" : "A muito tempo atrás", + "few seconds ago" : "há alguns segundos", + "A long time ago" : "Há muito tempo", + "Unknown" : "Desconhecida", + "All files" : "Todos os arquivos", + "You" : "Você", "List of files that have been deleted." : "Lista de arquivos que foram excluídos.", - "No deleted files" : "Nenhum arquivo apagado", + "No deleted files" : "Nenhum arquivo excluído", "Files and folders you have deleted will show up here" : "Arquivos e pastas que você excluiu aparecerão aqui", - "This application enables users to restore files that were deleted from the system." : "Este aplicativo permite que os usuários restaurem arquivos apagados do sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Este aplicativo permite que os usuários restaurem arquivos que foram apagados do sistema. Ele exibe uma lista destes arquivos na interface web e tem opções para restaurar esses arquivos para os diretórios de arquivos dos usuários ou removê-los permanentemente. A restauração de um arquivo também restaura as versões relacionadas do arquivo se o aplicativo de versões estiver ativado. Quando um arquivo é apagado de um compartilhamento, ele pode ser restaurado da mesma maneira, embora não seja mais compartilhado. Por padrão, esses arquivos permanecem na lixeira por 30 dias.\nPara evitar que um usuário fique sem espaço em disco, o aplicativo Arquivos Apagados não utilizará mais de 50% da cota atualmente disponível para arquivos apagados. Se os arquivos apagados excederem este limite, o aplicativo apagará os arquivos mais antigos até que fique abaixo desse limite. Mais informações estão disponíveis na documentação de Arquivos Apagados.", - "You will be able to recover deleted files from here" : "Você pode recuperar arquivos apagados neste local", - "No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta", - "Select all" : "Selecionar tudo", - "Name" : "Nome", - "Actions" : "Ações" + "All files have been permanently deleted" : "Todos os arquivos foram excluídos permanentemente", + "Failed to empty deleted files" : "Falha ao esvaziar arquivos excluídos", + "Deletion cancelled" : "Operação de exclusão cancelada" }, "nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/pt_BR.json b/apps/files_trashbin/l10n/pt_BR.json index 2559f084cd0..09b76bc43ce 100644 --- a/apps/files_trashbin/l10n/pt_BR.json +++ b/apps/files_trashbin/l10n/pt_BR.json @@ -1,26 +1,28 @@ { "translations": { "restored" : "restaurado", - "Deleted files" : "Arquivos apagados", + "Deleted files" : "Arquivos excluídos", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Arquivos e pastas excluídos na lixeira (podem expirar durante a exportação se você estiver com pouco espaço de armazenamento)", "This application enables people to restore files that were deleted from the system." : "Este aplicativo permite que as pessoas restaurem arquivos que foram excluídos do sistema.", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Este aplicativo permite que as pessoas restaurem arquivos que foram excluídos do sistema. Ele exibe uma lista de arquivos excluídos na interface da web e tem opções para restaurar esses arquivos excluídos de volta aos diretórios de arquivos de pessoas ou removê-los permanentemente do sistema. A restauração de um arquivo também restaura versões de arquivos relacionadas, se o aplicativo de versões estiver ativado. Quando um arquivo é excluído de um compartilhamento, ele pode ser restaurado da mesma maneira, embora não seja mais compartilhado. Por padrão, esses arquivos permanecem na lixeira por 30 dias. \nPara evitar que uma conta fique sem espaço em disco, o aplicativo Arquivos excluídos não utilizará mais de 50% da cota gratuita atualmente disponível para arquivos excluídos. Se os arquivos excluídos excederem esse limite, o aplicativo excluirá os arquivos mais antigos até ficarem abaixo desse limite. Mais informações estão disponíveis na documentação Arquivos Excluídos.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Este aplicativo permite que as pessoas restaurem arquivos que foram excluídos do sistema. Ele exibe uma lista de arquivos excluídos na interface da web e tem opções para restaurar esses arquivos excluídos de volta aos diretórios de arquivos de pessoas ou removê-los permanentemente do sistema. A restauração de um arquivo também restaura versões de arquivos relacionadas, se o aplicativo de versões estiver ativado. Quando um arquivo é excluído de um compartilhamento, ele pode ser restaurado da mesma maneira, embora não seja mais compartilhado. Por padrão, esses arquivos permanecem na lixeira por 30 dias. \nPara evitar que uma conta fique sem espaço em disco, o aplicativo Arquivos excluídos não utilizará mais de 50% da cota livre atualmente disponível para arquivos excluídos. Se os arquivos excluídos excederem esse limite, o aplicativo excluirá os arquivos mais antigos até ficarem abaixo desse limite. Mais informações estão disponíveis na documentação Arquivos Excluídos.", "Restore" : "Restaurar", - "Unknown" : "Desconhecido", - "All files" : "Todos os arquivos", - "You" : "Você", + "Not enough free space to restore the file/folder" : "Não há espaço livre suficiente para restaurar o arquivo/pasta", + "Empty deleted files" : "Esvaziar arquivos excluídos", + "Confirm permanent deletion" : "Confirme exclusão permanente", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Tem certeza de que deseja excluir permanentemente todos os arquivos e pastas na lixeira? Isso não pode ser desfeito.", + "Cancel" : "Cancelar", "Original location" : "Localização original", "Deleted by" : "Excluído por", "Deleted" : "Excluído", - "A long time ago" : "A muito tempo atrás", + "few seconds ago" : "há alguns segundos", + "A long time ago" : "Há muito tempo", + "Unknown" : "Desconhecida", + "All files" : "Todos os arquivos", + "You" : "Você", "List of files that have been deleted." : "Lista de arquivos que foram excluídos.", - "No deleted files" : "Nenhum arquivo apagado", + "No deleted files" : "Nenhum arquivo excluído", "Files and folders you have deleted will show up here" : "Arquivos e pastas que você excluiu aparecerão aqui", - "This application enables users to restore files that were deleted from the system." : "Este aplicativo permite que os usuários restaurem arquivos apagados do sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Este aplicativo permite que os usuários restaurem arquivos que foram apagados do sistema. Ele exibe uma lista destes arquivos na interface web e tem opções para restaurar esses arquivos para os diretórios de arquivos dos usuários ou removê-los permanentemente. A restauração de um arquivo também restaura as versões relacionadas do arquivo se o aplicativo de versões estiver ativado. Quando um arquivo é apagado de um compartilhamento, ele pode ser restaurado da mesma maneira, embora não seja mais compartilhado. Por padrão, esses arquivos permanecem na lixeira por 30 dias.\nPara evitar que um usuário fique sem espaço em disco, o aplicativo Arquivos Apagados não utilizará mais de 50% da cota atualmente disponível para arquivos apagados. Se os arquivos apagados excederem este limite, o aplicativo apagará os arquivos mais antigos até que fique abaixo desse limite. Mais informações estão disponíveis na documentação de Arquivos Apagados.", - "You will be able to recover deleted files from here" : "Você pode recuperar arquivos apagados neste local", - "No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta", - "Select all" : "Selecionar tudo", - "Name" : "Nome", - "Actions" : "Ações" + "All files have been permanently deleted" : "Todos os arquivos foram excluídos permanentemente", + "Failed to empty deleted files" : "Falha ao esvaziar arquivos excluídos", + "Deletion cancelled" : "Operação de exclusão cancelada" },"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_trashbin/l10n/pt_PT.js b/apps/files_trashbin/l10n/pt_PT.js deleted file mode 100644 index 440ef499469..00000000000 --- a/apps/files_trashbin/l10n/pt_PT.js +++ /dev/null @@ -1,18 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "Restaurado", - "Deleted files" : "Ficheiros eliminados", - "Restore" : "Restaurar", - "Unknown" : "Desconhecido", - "All files" : "Todos os ficheiros", - "You" : "Vovê", - "Deleted" : "Eliminado", - "No deleted files" : "Sem ficheiros eliminados", - "You will be able to recover deleted files from here" : "Poderá recuperar ficheiros eliminados a partir daqui", - "No entries found in this folder" : "Não foram encontradas entradas nesta pasta", - "Select all" : "Selecionar tudo", - "Name" : "Nome", - "Actions" : "Ações" -}, -"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"); diff --git a/apps/files_trashbin/l10n/pt_PT.json b/apps/files_trashbin/l10n/pt_PT.json deleted file mode 100644 index 5334f60541c..00000000000 --- a/apps/files_trashbin/l10n/pt_PT.json +++ /dev/null @@ -1,16 +0,0 @@ -{ "translations": { - "restored" : "Restaurado", - "Deleted files" : "Ficheiros eliminados", - "Restore" : "Restaurar", - "Unknown" : "Desconhecido", - "All files" : "Todos os ficheiros", - "You" : "Vovê", - "Deleted" : "Eliminado", - "No deleted files" : "Sem ficheiros eliminados", - "You will be able to recover deleted files from here" : "Poderá recuperar ficheiros eliminados a partir daqui", - "No entries found in this folder" : "Não foram encontradas entradas nesta pasta", - "Select all" : "Selecionar tudo", - "Name" : "Nome", - "Actions" : "Ações" -},"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_trashbin/l10n/ro.js b/apps/files_trashbin/l10n/ro.js deleted file mode 100644 index 7be2ab19374..00000000000 --- a/apps/files_trashbin/l10n/ro.js +++ /dev/null @@ -1,22 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "restaurat", - "Deleted files" : "Fișiere șterse", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Fișierele și folderele șterse din coșul de gunoi (pot expira în timpul exportului dacă spațiul de stocare e limitat)", - "Restore" : "Restaurare", - "Unknown" : "Necunoscut", - "All files" : "Toate fișierele", - "You" : "Tu", - "Deleted" : "A fost șters.", - "List of files that have been deleted." : "Lista fișierelor șterse.", - "No deleted files" : "Nu sunt fișiere șterse", - "Files and folders you have deleted will show up here" : "Fișierele și dosarele șterse vor fi afișate aici", - "This application enables users to restore files that were deleted from the system." : "Această aplicație permite utilizatorilor să restaureze fișierele șterse.", - "You will be able to recover deleted files from here" : "Vei putea restaura fișiere șterse de aici", - "No entries found in this folder" : "Niciun element găsit în acest director", - "Select all" : "Selectează tot", - "Name" : "Nume", - "Actions" : "Acțiuni" -}, -"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"); diff --git a/apps/files_trashbin/l10n/ro.json b/apps/files_trashbin/l10n/ro.json deleted file mode 100644 index 0778525419f..00000000000 --- a/apps/files_trashbin/l10n/ro.json +++ /dev/null @@ -1,20 +0,0 @@ -{ "translations": { - "restored" : "restaurat", - "Deleted files" : "Fișiere șterse", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Fișierele și folderele șterse din coșul de gunoi (pot expira în timpul exportului dacă spațiul de stocare e limitat)", - "Restore" : "Restaurare", - "Unknown" : "Necunoscut", - "All files" : "Toate fișierele", - "You" : "Tu", - "Deleted" : "A fost șters.", - "List of files that have been deleted." : "Lista fișierelor șterse.", - "No deleted files" : "Nu sunt fișiere șterse", - "Files and folders you have deleted will show up here" : "Fișierele și dosarele șterse vor fi afișate aici", - "This application enables users to restore files that were deleted from the system." : "Această aplicație permite utilizatorilor să restaureze fișierele șterse.", - "You will be able to recover deleted files from here" : "Vei putea restaura fișiere șterse de aici", - "No entries found in this folder" : "Niciun element găsit în acest director", - "Select all" : "Selectează tot", - "Name" : "Nume", - "Actions" : "Acțiuni" -},"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_trashbin/l10n/ru.js b/apps/files_trashbin/l10n/ru.js index e1ef078ba35..e5e4f3fb370 100644 --- a/apps/files_trashbin/l10n/ru.js +++ b/apps/files_trashbin/l10n/ru.js @@ -4,20 +4,27 @@ OC.L10N.register( "restored" : "восстановлен", "Deleted files" : "Корзина", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Удаленные файлы и папки в корзине (могут быть исключены во время экспорта, если мало свободного места)", + "This application enables people to restore files that were deleted from the system." : "Это приложение позволяет людям восстанавливать файлы, которые были удалены из системы.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Это приложение позволяет пользователям восстанавливать файлы, которые были удалены из системы. Оно отображает список удаленных файлов в веб-интерфейсе и содержит опции для восстановления этих удаленных файлов обратно в каталоги файлов people или для их окончательного удаления из системы. При восстановлении файла также восстанавливаются версии связанных файлов, если включено приложение \"Версии\". Когда файл удаляется из общего доступа, его можно восстановить тем же способом, хотя он больше не является общим. По умолчанию эти файлы остаются в корзине в течение 30 дней.\nЧтобы предотвратить нехватку дискового пространства в учетной записи, приложение \"Удаленные файлы\" не будет использовать более 50% доступной в данный момент бесплатной квоты для удаленных файлов. Если количество удаленных файлов превышает это ограничение, приложение удаляет самые старые файлы до тех пор, пока оно не станет меньше этого ограничения. Более подробная информация доступна в документации по удаленным файлам.", "Restore" : "Восстановить", - "Unknown" : "Неизвестно", - "All files" : "Все файлы", + "Not enough free space to restore the file/folder" : "Недостаточно свободного места для восстановления файла/папки", + "Empty deleted files" : "Очистить удаленные файлы", + "Confirm permanent deletion" : "Подтвердите постоянное удаление", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Вы уверены, что хотите навсегда удалить все файлы и папки в корзине? Это действие нельзя отменить.", + "Cancel" : "Отмена", + "Original location" : "Исходный путь", + "Deleted by" : "Удалено", "Deleted" : "Удалён", + "few seconds ago" : "несколько секунд назад", "A long time ago" : "Очень давно", + "Unknown" : "Неизвестно", + "All files" : "Все файлы", + "You" : "Вы", "List of files that have been deleted." : "Список файлов, которые были удалены.", "No deleted files" : "Нет удалённых файлов", "Files and folders you have deleted will show up here" : "Файлы и каталоги, которые вы удалили, будут отображаться здесь", - "This application enables users to restore files that were deleted from the system." : "Это приложение позволяет пользователям восстанавливать удалённые файлы.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Это приложение позволяет пользователям восстанавливать файлы, которые были удалены из системы. Он отображает список удаленных файлов в веб-интерфейсе и имеет опции для восстановления этих удаленных файлов обратно в каталоги пользователей или их окончательного удаления из системы. Восстановление файла также восстанавливает связанные версии файлов, если приложение версий включено. Когда файл удаляется из общего ресурса, его можно восстановить таким же образом, хотя он больше не используется. По умолчанию эти файлы остаются в Корзине в течение 30 дней.\n\nЧтобы у пользователя не было произошло переполнение доступного места на диске, приложение «Удаленные файлы» не будет использовать более 50% доступного в настоящее время дисковой квоты для удаленных файлов. Если удаленные файлы превышают этот предел, приложение удаляет самые старые файлы, пока свободное место не станет ниже этой отметки. Дополнительная информация доступна в документации Удаленные Файлы.", - "You will be able to recover deleted files from here" : "Отсюда могут быть восстановлены удалённые файлы", - "No entries found in this folder" : "В этой папке ничего нет", - "Select all" : "Выбрать все", - "Name" : "Имя", - "Actions" : "Действия" + "All files have been permanently deleted" : "Все файлы были удалены без возможности восстановления", + "Failed to empty deleted files" : "Не удалось очистить удалённые файлы", + "Deletion cancelled" : "Удаление отменено" }, "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_trashbin/l10n/ru.json b/apps/files_trashbin/l10n/ru.json index 6911601c1be..e262be31d78 100644 --- a/apps/files_trashbin/l10n/ru.json +++ b/apps/files_trashbin/l10n/ru.json @@ -2,20 +2,27 @@ "restored" : "восстановлен", "Deleted files" : "Корзина", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Удаленные файлы и папки в корзине (могут быть исключены во время экспорта, если мало свободного места)", + "This application enables people to restore files that were deleted from the system." : "Это приложение позволяет людям восстанавливать файлы, которые были удалены из системы.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Это приложение позволяет пользователям восстанавливать файлы, которые были удалены из системы. Оно отображает список удаленных файлов в веб-интерфейсе и содержит опции для восстановления этих удаленных файлов обратно в каталоги файлов people или для их окончательного удаления из системы. При восстановлении файла также восстанавливаются версии связанных файлов, если включено приложение \"Версии\". Когда файл удаляется из общего доступа, его можно восстановить тем же способом, хотя он больше не является общим. По умолчанию эти файлы остаются в корзине в течение 30 дней.\nЧтобы предотвратить нехватку дискового пространства в учетной записи, приложение \"Удаленные файлы\" не будет использовать более 50% доступной в данный момент бесплатной квоты для удаленных файлов. Если количество удаленных файлов превышает это ограничение, приложение удаляет самые старые файлы до тех пор, пока оно не станет меньше этого ограничения. Более подробная информация доступна в документации по удаленным файлам.", "Restore" : "Восстановить", - "Unknown" : "Неизвестно", - "All files" : "Все файлы", + "Not enough free space to restore the file/folder" : "Недостаточно свободного места для восстановления файла/папки", + "Empty deleted files" : "Очистить удаленные файлы", + "Confirm permanent deletion" : "Подтвердите постоянное удаление", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Вы уверены, что хотите навсегда удалить все файлы и папки в корзине? Это действие нельзя отменить.", + "Cancel" : "Отмена", + "Original location" : "Исходный путь", + "Deleted by" : "Удалено", "Deleted" : "Удалён", + "few seconds ago" : "несколько секунд назад", "A long time ago" : "Очень давно", + "Unknown" : "Неизвестно", + "All files" : "Все файлы", + "You" : "Вы", "List of files that have been deleted." : "Список файлов, которые были удалены.", "No deleted files" : "Нет удалённых файлов", "Files and folders you have deleted will show up here" : "Файлы и каталоги, которые вы удалили, будут отображаться здесь", - "This application enables users to restore files that were deleted from the system." : "Это приложение позволяет пользователям восстанавливать удалённые файлы.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Это приложение позволяет пользователям восстанавливать файлы, которые были удалены из системы. Он отображает список удаленных файлов в веб-интерфейсе и имеет опции для восстановления этих удаленных файлов обратно в каталоги пользователей или их окончательного удаления из системы. Восстановление файла также восстанавливает связанные версии файлов, если приложение версий включено. Когда файл удаляется из общего ресурса, его можно восстановить таким же образом, хотя он больше не используется. По умолчанию эти файлы остаются в Корзине в течение 30 дней.\n\nЧтобы у пользователя не было произошло переполнение доступного места на диске, приложение «Удаленные файлы» не будет использовать более 50% доступного в настоящее время дисковой квоты для удаленных файлов. Если удаленные файлы превышают этот предел, приложение удаляет самые старые файлы, пока свободное место не станет ниже этой отметки. Дополнительная информация доступна в документации Удаленные Файлы.", - "You will be able to recover deleted files from here" : "Отсюда могут быть восстановлены удалённые файлы", - "No entries found in this folder" : "В этой папке ничего нет", - "Select all" : "Выбрать все", - "Name" : "Имя", - "Actions" : "Действия" + "All files have been permanently deleted" : "Все файлы были удалены без возможности восстановления", + "Failed to empty deleted files" : "Не удалось очистить удалённые файлы", + "Deletion cancelled" : "Удаление отменено" },"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_trashbin/l10n/sc.js b/apps/files_trashbin/l10n/sc.js deleted file mode 100644 index a87bf898f32..00000000000 --- a/apps/files_trashbin/l10n/sc.js +++ /dev/null @@ -1,20 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "recuperados", - "Deleted files" : "Archìvios cantzellados", - "Restore" : "Riprìstina", - "Unknown" : "Disconnotu", - "All files" : "Totu is archìvios", - "You" : "Tue", - "Deleted" : "Cantzelladu", - "No deleted files" : "Archìvios no cantzellados", - "This application enables users to restore files that were deleted from the system." : "Custa aplicatzione permitit a is utentes de recuperare archìvios chi sunt istados cantzellados dae su sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Custa aplicatzione permitit a is utentes de recuperare archìvios chi sunt istados cantzellados dae su sistema. Mustrat una lista de is archìvios cantzellados in s'interfache web, e tenet sèberos pro ripristinare is archìvios in is cartellas de is utentes o nche ddos bogare definitivamente dae su sistema. Su recùperu de un'archìviu riprìstinat puru is versiones relativas, si s'aplicatzione de is versiones est ativa. Si un'archìviu est cantzelladu dae una cumpartzidura, si podet recuperare in sa pròpria manera, mancari non siat prus cumpartzidu. In manera predefinida, custos archìvios abarrant in s'àlia pro 30 dies.\nPro impedire a un'utente de abarrare chene logu in su discu, s'aplicatzione Archìvios cantzellados no at a impreare prus de su 50% de sa cuota lìbera a disponimentu. Si is archìvios cantzellados passant custu lìmite, s'aplicatzione cantzellat is archìvios prus betzos finas a torrare suta de custu lìmite. Àteras informatziones sunt a disponimentu in sa dicumentatzione de Archìvios cantzellados.", - "You will be able to recover deleted files from here" : "As a pòdere recuperare is archìvios cantzellados dae inoghe", - "No entries found in this folder" : "Perunu elementu agatadu in custa cartella", - "Select all" : "Seletziona totu", - "Name" : "Nùmene", - "Actions" : "Atziones" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/sc.json b/apps/files_trashbin/l10n/sc.json deleted file mode 100644 index 0df591f7492..00000000000 --- a/apps/files_trashbin/l10n/sc.json +++ /dev/null @@ -1,18 +0,0 @@ -{ "translations": { - "restored" : "recuperados", - "Deleted files" : "Archìvios cantzellados", - "Restore" : "Riprìstina", - "Unknown" : "Disconnotu", - "All files" : "Totu is archìvios", - "You" : "Tue", - "Deleted" : "Cantzelladu", - "No deleted files" : "Archìvios no cantzellados", - "This application enables users to restore files that were deleted from the system." : "Custa aplicatzione permitit a is utentes de recuperare archìvios chi sunt istados cantzellados dae su sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Custa aplicatzione permitit a is utentes de recuperare archìvios chi sunt istados cantzellados dae su sistema. Mustrat una lista de is archìvios cantzellados in s'interfache web, e tenet sèberos pro ripristinare is archìvios in is cartellas de is utentes o nche ddos bogare definitivamente dae su sistema. Su recùperu de un'archìviu riprìstinat puru is versiones relativas, si s'aplicatzione de is versiones est ativa. Si un'archìviu est cantzelladu dae una cumpartzidura, si podet recuperare in sa pròpria manera, mancari non siat prus cumpartzidu. In manera predefinida, custos archìvios abarrant in s'àlia pro 30 dies.\nPro impedire a un'utente de abarrare chene logu in su discu, s'aplicatzione Archìvios cantzellados no at a impreare prus de su 50% de sa cuota lìbera a disponimentu. Si is archìvios cantzellados passant custu lìmite, s'aplicatzione cantzellat is archìvios prus betzos finas a torrare suta de custu lìmite. Àteras informatziones sunt a disponimentu in sa dicumentatzione de Archìvios cantzellados.", - "You will be able to recover deleted files from here" : "As a pòdere recuperare is archìvios cantzellados dae inoghe", - "No entries found in this folder" : "Perunu elementu agatadu in custa cartella", - "Select all" : "Seletziona totu", - "Name" : "Nùmene", - "Actions" : "Atziones" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/sk.js b/apps/files_trashbin/l10n/sk.js index e96cd425248..7b7acac04ea 100644 --- a/apps/files_trashbin/l10n/sk.js +++ b/apps/files_trashbin/l10n/sk.js @@ -7,22 +7,20 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Táto aplikácia povoluje ľuďom obnoviť súbory, ktoré boli zo systému vymazané.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Táto aplikácia umožňuje ľuďom obnoviť súbory, ktoré boli zo systému vymazané. Zobrazuje zoznam vymazaných súborov vo webovom rozhraní a poskytuje možnosti obnovenia týchto vymazaných súborov späť do adresárov ľudí alebo ich permanentného odstránenia zo systému. Obnovenie súboru tiež obnovuje predchádzajúce verzie súborov, ak je povolená aplikácia pre verzie. Keď je súbor vymazaný zo zdieľaného miesta, môže byť obnovený rovnakým spôsobom, aj keď už nie je zdieľaný. Tieto súbory zostávajú v koši 30 dní.\nAby sa účet nedostal do stavu nedostatku miesta na disku, aplikácia na správu zmazaných súborov nevyužije viac ako 50 % momentálne dostupnej voľnej kvóty pre zmazané súbory. Ak prekročia tento limit, aplikácia odstráni najstaršie súbory, kým sa nedostane pod tento limit. Viac informácií nájdete v dokumentácii aplikácie na správu zmazaných súborov.", "Restore" : "Obnoviť", - "Unknown" : "Neznámy", - "All files" : "Všetky súbory", - "You" : "Vy", + "Empty deleted files" : "Vyprázdniť odstránené súbory", + "Confirm permanent deletion" : "Potvrdiť premanentné zmazanie", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Naozaj chcete natrvalo odstrániť všetky súbory a priečinky v koši? Toto sa nedá vrátiť späť.", + "Cancel" : "Zrušiť", "Original location" : "Pôvodné umiestnenie", "Deleted by" : "Odstránil", "Deleted" : "Zmazané", "A long time ago" : "Pred dlhším časom", + "Unknown" : "Neznámy", + "All files" : "Všetky súbory", + "You" : "Vy", "List of files that have been deleted." : "Zoznam súborov, ktoré boli vymazané.", "No deleted files" : "Žiadne zmazané súbory", "Files and folders you have deleted will show up here" : "Súbory a adresáre, ktoré ste vymazali, sa zobrazia tu", - "This application enables users to restore files that were deleted from the system." : "Táto aplikácia používateľom umožňuje obnoviť súbory, ktoré boli zo systému vymazané.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Táto aplikácia používateľom umožňuje obnoviť súbory, ktoré boli zo systému vymazané. Zobrazí zoznam vymazaných súborov vo webovom rozhraní a poskytne možnosť obnovenia vymazaných súborov do používateľkých priečinkov, alebo permanentné vymazanie súborov zo systému. Obnovenie súboru tiež obnoví prislúchajúce verzie súboru, ak je povolená aplikácia pre vytváranie verzií. Ak je vymazaný zdieľaný súbor, tiež sa dá obnoviť, ale už nebude zdieľaný. Podľa prednastavených pravidiel tieto súbory ostávajú v koši 30 dní.\nAby sa zabránilo úplnému zaplneniu ukladacieho miesta, aplikácia na správu zmazaných súborov nepriradí pre zmazané súbory viac ako 50 % celkového ukladacieho miesta. Ak sa tento limit prekročí, aplikácia začne z koša odstraňovať najstaršie zmazané súbory. Viac informácií nájdete v dokumentácii aplikácie na správu zmazaných súborov.", - "You will be able to recover deleted files from here" : "Tu budete mať možnosť obnoviť zmazané súbory", - "No entries found in this folder" : "V tomto priečinku nebolo nič nájdené", - "Select all" : "Vybrať všetko", - "Name" : "Názov", - "Actions" : "Akcie" + "Deletion cancelled" : "Zmazanie zrušené" }, "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_trashbin/l10n/sk.json b/apps/files_trashbin/l10n/sk.json index 543abf41668..b8cda3fce7a 100644 --- a/apps/files_trashbin/l10n/sk.json +++ b/apps/files_trashbin/l10n/sk.json @@ -5,22 +5,20 @@ "This application enables people to restore files that were deleted from the system." : "Táto aplikácia povoluje ľuďom obnoviť súbory, ktoré boli zo systému vymazané.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Táto aplikácia umožňuje ľuďom obnoviť súbory, ktoré boli zo systému vymazané. Zobrazuje zoznam vymazaných súborov vo webovom rozhraní a poskytuje možnosti obnovenia týchto vymazaných súborov späť do adresárov ľudí alebo ich permanentného odstránenia zo systému. Obnovenie súboru tiež obnovuje predchádzajúce verzie súborov, ak je povolená aplikácia pre verzie. Keď je súbor vymazaný zo zdieľaného miesta, môže byť obnovený rovnakým spôsobom, aj keď už nie je zdieľaný. Tieto súbory zostávajú v koši 30 dní.\nAby sa účet nedostal do stavu nedostatku miesta na disku, aplikácia na správu zmazaných súborov nevyužije viac ako 50 % momentálne dostupnej voľnej kvóty pre zmazané súbory. Ak prekročia tento limit, aplikácia odstráni najstaršie súbory, kým sa nedostane pod tento limit. Viac informácií nájdete v dokumentácii aplikácie na správu zmazaných súborov.", "Restore" : "Obnoviť", - "Unknown" : "Neznámy", - "All files" : "Všetky súbory", - "You" : "Vy", + "Empty deleted files" : "Vyprázdniť odstránené súbory", + "Confirm permanent deletion" : "Potvrdiť premanentné zmazanie", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Naozaj chcete natrvalo odstrániť všetky súbory a priečinky v koši? Toto sa nedá vrátiť späť.", + "Cancel" : "Zrušiť", "Original location" : "Pôvodné umiestnenie", "Deleted by" : "Odstránil", "Deleted" : "Zmazané", "A long time ago" : "Pred dlhším časom", + "Unknown" : "Neznámy", + "All files" : "Všetky súbory", + "You" : "Vy", "List of files that have been deleted." : "Zoznam súborov, ktoré boli vymazané.", "No deleted files" : "Žiadne zmazané súbory", "Files and folders you have deleted will show up here" : "Súbory a adresáre, ktoré ste vymazali, sa zobrazia tu", - "This application enables users to restore files that were deleted from the system." : "Táto aplikácia používateľom umožňuje obnoviť súbory, ktoré boli zo systému vymazané.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Táto aplikácia používateľom umožňuje obnoviť súbory, ktoré boli zo systému vymazané. Zobrazí zoznam vymazaných súborov vo webovom rozhraní a poskytne možnosť obnovenia vymazaných súborov do používateľkých priečinkov, alebo permanentné vymazanie súborov zo systému. Obnovenie súboru tiež obnoví prislúchajúce verzie súboru, ak je povolená aplikácia pre vytváranie verzií. Ak je vymazaný zdieľaný súbor, tiež sa dá obnoviť, ale už nebude zdieľaný. Podľa prednastavených pravidiel tieto súbory ostávajú v koši 30 dní.\nAby sa zabránilo úplnému zaplneniu ukladacieho miesta, aplikácia na správu zmazaných súborov nepriradí pre zmazané súbory viac ako 50 % celkového ukladacieho miesta. Ak sa tento limit prekročí, aplikácia začne z koša odstraňovať najstaršie zmazané súbory. Viac informácií nájdete v dokumentácii aplikácie na správu zmazaných súborov.", - "You will be able to recover deleted files from here" : "Tu budete mať možnosť obnoviť zmazané súbory", - "No entries found in this folder" : "V tomto priečinku nebolo nič nájdené", - "Select all" : "Vybrať všetko", - "Name" : "Názov", - "Actions" : "Akcie" + "Deletion cancelled" : "Zmazanie zrušené" },"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_trashbin/l10n/sl.js b/apps/files_trashbin/l10n/sl.js deleted file mode 100644 index f7e9a24f72f..00000000000 --- a/apps/files_trashbin/l10n/sl.js +++ /dev/null @@ -1,22 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "obnovljeno", - "Deleted files" : "Izbrisane datoteke", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Izbrisane datoteke in mape v smeteh (nabor je odvisen od velikosti prostora)", - "Restore" : "Obnovi", - "Unknown" : "Neznano", - "All files" : "Vse datoteke", - "You" : "Jaz", - "Deleted" : "Izbrisano", - "List of files that have been deleted." : "Seznam datotek, ki so bile izbrisane.", - "No deleted files" : "Ni izbrisanih datotek", - "This application enables users to restore files that were deleted from the system." : "Program omogoča uporabniku obnovitev datotek, ki so bile predhodno izbrisane iz sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Program omogoča obnovitev izbrisanih datotek. Datoteke so prikazane kot seznam v spletnem vmesniku, uporabnik pa ima možnost posamezne datoteke obnoviti v ustrezne mape, ali pa jih dokončno izbrisati. Obnovitev povrne tudi shranjene različice datoteke, če so te na voljo. Tudi datoteke, ki so bile izbrisane iz souporabe, je mogoče obnoviti, ne obnovi pa se nastavitev souporabe. Privzeto ostanejo datoteke v košu 30 dni.\nZa preprečevanje popolne zasedenosti, program ne uporabi več kot 50 % trenutno razpoložljivega prostora oziroma količinske omejitve. Če se to zgodi, se najprej do omejitve izbrišejo najstarejše datoteke. Podrobnosti o delovanju in možnostih programa so na voljo v dokumentaciji.", - "You will be able to recover deleted files from here" : "Izbrisane datoteke je mogoče tudi povrniti.", - "No entries found in this folder" : "V tej mapi ni datotek in podmap.", - "Select all" : "Izberi vse", - "Name" : "Ime", - "Actions" : "Dejanja" -}, -"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"); diff --git a/apps/files_trashbin/l10n/sl.json b/apps/files_trashbin/l10n/sl.json deleted file mode 100644 index 82c9c319b04..00000000000 --- a/apps/files_trashbin/l10n/sl.json +++ /dev/null @@ -1,20 +0,0 @@ -{ "translations": { - "restored" : "obnovljeno", - "Deleted files" : "Izbrisane datoteke", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Izbrisane datoteke in mape v smeteh (nabor je odvisen od velikosti prostora)", - "Restore" : "Obnovi", - "Unknown" : "Neznano", - "All files" : "Vse datoteke", - "You" : "Jaz", - "Deleted" : "Izbrisano", - "List of files that have been deleted." : "Seznam datotek, ki so bile izbrisane.", - "No deleted files" : "Ni izbrisanih datotek", - "This application enables users to restore files that were deleted from the system." : "Program omogoča uporabniku obnovitev datotek, ki so bile predhodno izbrisane iz sistema.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Program omogoča obnovitev izbrisanih datotek. Datoteke so prikazane kot seznam v spletnem vmesniku, uporabnik pa ima možnost posamezne datoteke obnoviti v ustrezne mape, ali pa jih dokončno izbrisati. Obnovitev povrne tudi shranjene različice datoteke, če so te na voljo. Tudi datoteke, ki so bile izbrisane iz souporabe, je mogoče obnoviti, ne obnovi pa se nastavitev souporabe. Privzeto ostanejo datoteke v košu 30 dni.\nZa preprečevanje popolne zasedenosti, program ne uporabi več kot 50 % trenutno razpoložljivega prostora oziroma količinske omejitve. Če se to zgodi, se najprej do omejitve izbrišejo najstarejše datoteke. Podrobnosti o delovanju in možnostih programa so na voljo v dokumentaciji.", - "You will be able to recover deleted files from here" : "Izbrisane datoteke je mogoče tudi povrniti.", - "No entries found in this folder" : "V tej mapi ni datotek in podmap.", - "Select all" : "Izberi vse", - "Name" : "Ime", - "Actions" : "Dejanja" -},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/sq.js b/apps/files_trashbin/l10n/sq.js deleted file mode 100644 index 7d4770f13ce..00000000000 --- a/apps/files_trashbin/l10n/sq.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "u rikthye", - "Deleted files" : "Kartela të fshira", - "Restore" : "Riktheje", - "Unknown" : "I panjohur", - "All files" : "Të gjithë skedarët", - "Deleted" : "U fshi", - "No deleted files" : "Pa kartela të fshira", - "You will be able to recover deleted files from here" : "Që këtu do të jeni në gjendje të rimerrni kartela të fshira", - "No entries found in this folder" : "Në këtë dosje s’u gjetën zëra", - "Select all" : "Përzgjidhi krejt", - "Name" : "Emër", - "Actions" : "Veprimet" -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/sq.json b/apps/files_trashbin/l10n/sq.json deleted file mode 100644 index f574e3408fe..00000000000 --- a/apps/files_trashbin/l10n/sq.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "u rikthye", - "Deleted files" : "Kartela të fshira", - "Restore" : "Riktheje", - "Unknown" : "I panjohur", - "All files" : "Të gjithë skedarët", - "Deleted" : "U fshi", - "No deleted files" : "Pa kartela të fshira", - "You will be able to recover deleted files from here" : "Që këtu do të jeni në gjendje të rimerrni kartela të fshira", - "No entries found in this folder" : "Në këtë dosje s’u gjetën zëra", - "Select all" : "Përzgjidhi krejt", - "Name" : "Emër", - "Actions" : "Veprimet" -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/sr.js b/apps/files_trashbin/l10n/sr.js index 0d4b5551126..d1dafbc0537 100644 --- a/apps/files_trashbin/l10n/sr.js +++ b/apps/files_trashbin/l10n/sr.js @@ -7,22 +7,24 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Ова апликација омогућава људима да опораве фајлове који су обрисани са система.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ова апликација омогућава корисницима да опораве фајлове који су обрисани са система . Она у веб интерфејсу приказује списак обрисаних фајлова и има опције да се они опораве назад у директоријуме или да се неповратно обришу са система. Ако је укључена апликација за управљање верзијама, враћање фајла такође враћа и све његове верзије. Када се фајл избрише из дељене фасцикле, може се повратити на исти начин, али више није дељен. Подразумевано, ови фајлови остају у канти 30 дана.\nДа би се спречило да налог остане без простора на диску, апликација за обрисане фајлове неће користити више од 50% тренутно доступне квоте. Ако обрисани фајлови пређу ову границу, апликација ће брисати најстарије фајлове док величина заузетих фајлова не падне испод ове границе. Више информација је доступно у документацији за Обрисане фајлове.", "Restore" : "Врати", - "Unknown" : "Непознато", - "All files" : "Сви фајлови", - "You" : "Ви", + "Not enough free space to restore the file/folder" : "Нема довољно слободног простора за враћање фајла/фолдера", + "Empty deleted files" : "Испразни обрисане фајлове", + "Confirm permanent deletion" : "Потврдите трајно брисање", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Да ли сте сигурни да желите трајно да обришете све фајлове и фолдере у корпи за отпад? Ово не може да се поништи.", + "Cancel" : "Откажи", "Original location" : "Оригинална локација", "Deleted by" : "Обрисао је", "Deleted" : "Обрисано", + "few seconds ago" : "пре неколико секунди", "A long time ago" : "Пре доста времена", + "Unknown" : "Непознато", + "All files" : "Сви фајлови", + "You" : "Ви", "List of files that have been deleted." : "Листа фајлова који су обрисани.", "No deleted files" : "Нема обрисаних фајлова", "Files and folders you have deleted will show up here" : "Фајлови и фолдери које обришете ће се појавити овде", - "This application enables users to restore files that were deleted from the system." : "Ова апликација омогућава корисницима да поврате избрисане фајлове.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ова апликација омогућава корисницима да поврате избрисане фајлове. Она приказује списак избрисаних фајлова у веб сучељу и има опцију да поврати избрисане фајлове назад у корисничке директоријуме или да их неповратно обрише из система. Враћање фајла враћа и везане верзије фајла, ако је апликација за верзионисање укључена. Када се фајл избрише из дељене фасцикле, може се повратити на исти начин, али више није дељен. Подразумевано, ови фајлови остају у канти 30 дана.\nДа би се спречило да корисник остане без простора на диску, апликација за обрисане фајлове неће користити више од 50% тренутно доступне квоте. Ако обрисани фајлови пређу ову границу, апликација ће брисати најстарије фајлове док величина заузетих фајлова не падне испод ове границе. Више информација је доступно у документацији.", - "You will be able to recover deleted files from here" : "Одавде ћете моћи да повратите обрисане фајлове", - "No entries found in this folder" : "Нема ничега у овој фасцикли", - "Select all" : "Означи све", - "Name" : "Назив", - "Actions" : "Радње" + "All files have been permanently deleted" : "Сви фајлови су неповратно обрисани", + "Failed to empty deleted files" : "Није успело пражњење обрисаних фајлова", + "Deletion cancelled" : "Брисање је отказано" }, "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_trashbin/l10n/sr.json b/apps/files_trashbin/l10n/sr.json index 006eb2894be..5b7a0602235 100644 --- a/apps/files_trashbin/l10n/sr.json +++ b/apps/files_trashbin/l10n/sr.json @@ -5,22 +5,24 @@ "This application enables people to restore files that were deleted from the system." : "Ова апликација омогућава људима да опораве фајлове који су обрисани са система.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ова апликација омогућава корисницима да опораве фајлове који су обрисани са система . Она у веб интерфејсу приказује списак обрисаних фајлова и има опције да се они опораве назад у директоријуме или да се неповратно обришу са система. Ако је укључена апликација за управљање верзијама, враћање фајла такође враћа и све његове верзије. Када се фајл избрише из дељене фасцикле, може се повратити на исти начин, али више није дељен. Подразумевано, ови фајлови остају у канти 30 дана.\nДа би се спречило да налог остане без простора на диску, апликација за обрисане фајлове неће користити више од 50% тренутно доступне квоте. Ако обрисани фајлови пређу ову границу, апликација ће брисати најстарије фајлове док величина заузетих фајлова не падне испод ове границе. Више информација је доступно у документацији за Обрисане фајлове.", "Restore" : "Врати", - "Unknown" : "Непознато", - "All files" : "Сви фајлови", - "You" : "Ви", + "Not enough free space to restore the file/folder" : "Нема довољно слободног простора за враћање фајла/фолдера", + "Empty deleted files" : "Испразни обрисане фајлове", + "Confirm permanent deletion" : "Потврдите трајно брисање", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Да ли сте сигурни да желите трајно да обришете све фајлове и фолдере у корпи за отпад? Ово не може да се поништи.", + "Cancel" : "Откажи", "Original location" : "Оригинална локација", "Deleted by" : "Обрисао је", "Deleted" : "Обрисано", + "few seconds ago" : "пре неколико секунди", "A long time ago" : "Пре доста времена", + "Unknown" : "Непознато", + "All files" : "Сви фајлови", + "You" : "Ви", "List of files that have been deleted." : "Листа фајлова који су обрисани.", "No deleted files" : "Нема обрисаних фајлова", "Files and folders you have deleted will show up here" : "Фајлови и фолдери које обришете ће се појавити овде", - "This application enables users to restore files that were deleted from the system." : "Ова апликација омогућава корисницима да поврате избрисане фајлове.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ова апликација омогућава корисницима да поврате избрисане фајлове. Она приказује списак избрисаних фајлова у веб сучељу и има опцију да поврати избрисане фајлове назад у корисничке директоријуме или да их неповратно обрише из система. Враћање фајла враћа и везане верзије фајла, ако је апликација за верзионисање укључена. Када се фајл избрише из дељене фасцикле, може се повратити на исти начин, али више није дељен. Подразумевано, ови фајлови остају у канти 30 дана.\nДа би се спречило да корисник остане без простора на диску, апликација за обрисане фајлове неће користити више од 50% тренутно доступне квоте. Ако обрисани фајлови пређу ову границу, апликација ће брисати најстарије фајлове док величина заузетих фајлова не падне испод ове границе. Више информација је доступно у документацији.", - "You will be able to recover deleted files from here" : "Одавде ћете моћи да повратите обрисане фајлове", - "No entries found in this folder" : "Нема ничега у овој фасцикли", - "Select all" : "Означи све", - "Name" : "Назив", - "Actions" : "Радње" + "All files have been permanently deleted" : "Сви фајлови су неповратно обрисани", + "Failed to empty deleted files" : "Није успело пражњење обрисаних фајлова", + "Deletion cancelled" : "Брисање је отказано" },"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_trashbin/l10n/sr@latin.js b/apps/files_trashbin/l10n/sr@latin.js deleted file mode 100644 index e6eb817ccf3..00000000000 --- a/apps/files_trashbin/l10n/sr@latin.js +++ /dev/null @@ -1,19 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't delete %s permanently" : "Ne mogu zauvek da obrišem %s", - "Couldn't restore %s" : "Ne mogu da vratim %s", - "Deleted files" : "Obrisani fajlovi", - "Restore" : "Vrati", - "Delete" : "Obriši", - "Delete permanently" : "Obriši zauvek", - "Error" : "Greška", - "restored" : "vraćeno", - "No deleted files" : "Nema obrisanih fajlova", - "You will be able to recover deleted files from here" : "Odavde ćete moći da povratite obrisane fajlove", - "No entries found in this folder" : "Nema ničega u ovoj fascikli", - "Select all" : "Označi sve", - "Name" : "Naziv", - "Deleted" : "Obrisano" -}, -"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_trashbin/l10n/sr@latin.json b/apps/files_trashbin/l10n/sr@latin.json deleted file mode 100644 index 462e2f21e2a..00000000000 --- a/apps/files_trashbin/l10n/sr@latin.json +++ /dev/null @@ -1,17 +0,0 @@ -{ "translations": { - "Couldn't delete %s permanently" : "Ne mogu zauvek da obrišem %s", - "Couldn't restore %s" : "Ne mogu da vratim %s", - "Deleted files" : "Obrisani fajlovi", - "Restore" : "Vrati", - "Delete" : "Obriši", - "Delete permanently" : "Obriši zauvek", - "Error" : "Greška", - "restored" : "vraćeno", - "No deleted files" : "Nema obrisanih fajlova", - "You will be able to recover deleted files from here" : "Odavde ćete moći da povratite obrisane fajlove", - "No entries found in this folder" : "Nema ničega u ovoj fascikli", - "Select all" : "Označi sve", - "Name" : "Naziv", - "Deleted" : "Obrisano" -},"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_trashbin/l10n/sv.js b/apps/files_trashbin/l10n/sv.js index 8065e9882e1..c92b073c651 100644 --- a/apps/files_trashbin/l10n/sv.js +++ b/apps/files_trashbin/l10n/sv.js @@ -7,22 +7,24 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "Denna app gör det möjligt för användare att återställa filer som raderats från systemet.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denna applikation gör det möjligt för användare att återställa filer som tagits bort från systemet. Den visar en lista över borttagna filer i webbgränssnittet, och har alternativ för att återställa de borttagna filerna tillbaka till användarfilkataloger eller ta bort dem permanent från systemet. Återställa en fil återställer också relaterade filversioner, om versionsprogrammet är aktiverat. När en delad fil tas bort från kan den återställas på samma sätt, med är inte längre delad. Som standard ligger filerna i papperskorgen i 30 dagar.\nFör att förhindra att en användare får slut på diskutrymme kommer appen Borttagna filer inte att använda mer än 50% av den tillgängliga oanvända utrymmeskvoten för att lagra borttagna filer. Om storleken på borttagna filerna överskrider gränsen raderar appen de äldsta filerna tills den kommer under gränsen. Mer information finns i dokumentationen för Borttagna filer.", "Restore" : "Återskapa", - "Unknown" : "Okänd", - "All files" : "Alla filer", - "You" : "Du", + "Not enough free space to restore the file/folder" : "Inte tillräckligt med ledigt utrymme för att återställa filen/mappen", + "Empty deleted files" : "Töm raderade filer", + "Confirm permanent deletion" : "Bekräfta permanent radering", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Är du säker på att du vill radera alla filer och mappar i papperskorgen permanent? Detta kan inte ångras.", + "Cancel" : "Avbryt", "Original location" : "Ursprunglig plats", "Deleted by" : "Raderad av", "Deleted" : "Borttagen", + "few seconds ago" : "några sekunder sedan", "A long time ago" : "För länge sedan", + "Unknown" : "Okänd", + "All files" : "Alla filer", + "You" : "Du", "List of files that have been deleted." : "Lista över filer som har tagits bort.", "No deleted files" : "Inga borttagna filer", "Files and folders you have deleted will show up here" : "Filer och mappar som du har tagit bort kommer att visas här", - "This application enables users to restore files that were deleted from the system." : "Denna app gör det möjligt för användare att återställa filer som raderats från systemet.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denna applikation gör det möjligt för användare att återställa filer som tagits bort från systemet. Den visar en lista över borttagna filer i webbgränssnittet, och har alternativ för att återställa de borttagna filerna tillbaka till användarfilkataloger eller ta bort dem permanent från systemet. Återställa en fil återställer också relaterade filversioner, om versionsprogrammet är aktiverat. När en fil tas bort från en aktie kan den återställas på samma sätt, även om den inte längre delas. Som standard förblir dessa filer i papperskorgen i 30 dagar.\nFör att förhindra att en användare får slut på diskutrymme kommer appen Borttagna filer inte att använda mer än 50% av den för närvarande tillgängliga fria kvoten för borttagna filer. Om de borttagna filerna överskrider denna gräns raderar appen de äldsta filerna tills den kommer under denna gräns. Mer information finns i dokumentationen för Borttagna filer.", - "You will be able to recover deleted files from here" : "Du kommer kunna återskapa borttagna filer härifrån", - "No entries found in this folder" : "Inga filer hittades i denna mapp", - "Select all" : "Välj allt", - "Name" : "Namn", - "Actions" : "Åtgärder" + "All files have been permanently deleted" : "Alla filer har raderats permanent", + "Failed to empty deleted files" : "Kunde inte tömma raderade filer", + "Deletion cancelled" : "Radering avbruten" }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/sv.json b/apps/files_trashbin/l10n/sv.json index 1b5d6e81957..8cc0ae20f97 100644 --- a/apps/files_trashbin/l10n/sv.json +++ b/apps/files_trashbin/l10n/sv.json @@ -5,22 +5,24 @@ "This application enables people to restore files that were deleted from the system." : "Denna app gör det möjligt för användare att återställa filer som raderats från systemet.", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denna applikation gör det möjligt för användare att återställa filer som tagits bort från systemet. Den visar en lista över borttagna filer i webbgränssnittet, och har alternativ för att återställa de borttagna filerna tillbaka till användarfilkataloger eller ta bort dem permanent från systemet. Återställa en fil återställer också relaterade filversioner, om versionsprogrammet är aktiverat. När en delad fil tas bort från kan den återställas på samma sätt, med är inte längre delad. Som standard ligger filerna i papperskorgen i 30 dagar.\nFör att förhindra att en användare får slut på diskutrymme kommer appen Borttagna filer inte att använda mer än 50% av den tillgängliga oanvända utrymmeskvoten för att lagra borttagna filer. Om storleken på borttagna filerna överskrider gränsen raderar appen de äldsta filerna tills den kommer under gränsen. Mer information finns i dokumentationen för Borttagna filer.", "Restore" : "Återskapa", - "Unknown" : "Okänd", - "All files" : "Alla filer", - "You" : "Du", + "Not enough free space to restore the file/folder" : "Inte tillräckligt med ledigt utrymme för att återställa filen/mappen", + "Empty deleted files" : "Töm raderade filer", + "Confirm permanent deletion" : "Bekräfta permanent radering", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Är du säker på att du vill radera alla filer och mappar i papperskorgen permanent? Detta kan inte ångras.", + "Cancel" : "Avbryt", "Original location" : "Ursprunglig plats", "Deleted by" : "Raderad av", "Deleted" : "Borttagen", + "few seconds ago" : "några sekunder sedan", "A long time ago" : "För länge sedan", + "Unknown" : "Okänd", + "All files" : "Alla filer", + "You" : "Du", "List of files that have been deleted." : "Lista över filer som har tagits bort.", "No deleted files" : "Inga borttagna filer", "Files and folders you have deleted will show up here" : "Filer och mappar som du har tagit bort kommer att visas här", - "This application enables users to restore files that were deleted from the system." : "Denna app gör det möjligt för användare att återställa filer som raderats från systemet.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Denna applikation gör det möjligt för användare att återställa filer som tagits bort från systemet. Den visar en lista över borttagna filer i webbgränssnittet, och har alternativ för att återställa de borttagna filerna tillbaka till användarfilkataloger eller ta bort dem permanent från systemet. Återställa en fil återställer också relaterade filversioner, om versionsprogrammet är aktiverat. När en fil tas bort från en aktie kan den återställas på samma sätt, även om den inte längre delas. Som standard förblir dessa filer i papperskorgen i 30 dagar.\nFör att förhindra att en användare får slut på diskutrymme kommer appen Borttagna filer inte att använda mer än 50% av den för närvarande tillgängliga fria kvoten för borttagna filer. Om de borttagna filerna överskrider denna gräns raderar appen de äldsta filerna tills den kommer under denna gräns. Mer information finns i dokumentationen för Borttagna filer.", - "You will be able to recover deleted files from here" : "Du kommer kunna återskapa borttagna filer härifrån", - "No entries found in this folder" : "Inga filer hittades i denna mapp", - "Select all" : "Välj allt", - "Name" : "Namn", - "Actions" : "Åtgärder" + "All files have been permanently deleted" : "Alla filer har raderats permanent", + "Failed to empty deleted files" : "Kunde inte tömma raderade filer", + "Deletion cancelled" : "Radering avbruten" },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/sw.js b/apps/files_trashbin/l10n/sw.js new file mode 100644 index 00000000000..647a1016ef9 --- /dev/null +++ b/apps/files_trashbin/l10n/sw.js @@ -0,0 +1,30 @@ +OC.L10N.register( + "files_trashbin", + { + "restored" : "imehifadhiwa upya", + "Deleted files" : "Faili zilizofutwa", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Faili na folda zilizofutwa kwenye pipa la tupio (zinaweza kuisha wakati wa kuhamisha ikiwa huna nafasi ya kuhifadhi)", + "This application enables people to restore files that were deleted from the system." : "Programu hii inawawezesha watu kurejesha faili ambazo zilifutwa kutoka kwa mfumo.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Programu hii inawawezesha watu kurejesha faili ambazo zilifutwa kutoka kwa mfumo. Inaonyesha orodha ya faili zilizofutwa katika kiolesura cha wavuti, na ina chaguo za kurejesha faili hizo zilizofutwa kwenye saraka za faili za watu au kuziondoa kabisa kwenye mfumo. Kurejesha faili pia hurejesha matoleo ya faili zinazohusiana, ikiwa programu ya matoleo imewezeshwa. Faili inapofutwa kutoka kwa sehemu, inaweza kurejeshwa kwa njia ile ile, ingawa haishirikiwi tena. Kwa chaguomsingi, faili hizi husalia kwenye pipa la taka kwa siku 30.\nIli kuzuia akaunti kukosa nafasi ya diski, programu ya faili zilizofutwa haitatumia zaidi ya 50% ya nafasi ya bure inayopatikana kwa sasa ya faili zilizofutwa. Ikiwa faili zilizofutwa zitazidi kikomo hiki, programu hufuta faili za zamani zaidi hadi iwe chini ya kikomo hiki. Maelezo zaidi yanapatikana katika hati za Faili Zilizofutwa.", + "Restore" : "Hifadhi upya", + "Not enough free space to restore the file/folder" : "Hakuna nafasi ya kutosha ya kurejesha faili/folda", + "Empty deleted files" : "Safisha faili zilizofutwa", + "Confirm permanent deletion" : "Thibitisha ufutaji wa kudumu", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Je, una uhakika unataka kufuta kabisa faili na folda zote kwenye tupio? Hili haliwezi kutenduliwa.", + "Cancel" : "Ghairi", + "Original location" : "Mahali pa asili", + "Deleted by" : "Imefutwa na", + "Deleted" : "Vilivyofutwa", + "few seconds ago" : "sekunde chache zilizopita", + "A long time ago" : "Muda mrefu uliopita", + "Unknown" : "Haijulikani", + "All files" : "Faili zote", + "You" : "Wewe", + "List of files that have been deleted." : "Orodha ya faili ambazo zimefutwa.", + "No deleted files" : "Hakuna faili zilizofutwa", + "Files and folders you have deleted will show up here" : "Faili na folda ambazo umefuta zitaonekana hapa", + "All files have been permanently deleted" : "Faili zote zimefutwa kabisa", + "Failed to empty deleted files" : "Imeshindwa kufuta faili zilizofutwa", + "Deletion cancelled" : "Ufutaji umesitishwa" +}, +"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/sw.json b/apps/files_trashbin/l10n/sw.json new file mode 100644 index 00000000000..edaf1a162a7 --- /dev/null +++ b/apps/files_trashbin/l10n/sw.json @@ -0,0 +1,28 @@ +{ "translations": { + "restored" : "imehifadhiwa upya", + "Deleted files" : "Faili zilizofutwa", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Faili na folda zilizofutwa kwenye pipa la tupio (zinaweza kuisha wakati wa kuhamisha ikiwa huna nafasi ya kuhifadhi)", + "This application enables people to restore files that were deleted from the system." : "Programu hii inawawezesha watu kurejesha faili ambazo zilifutwa kutoka kwa mfumo.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Programu hii inawawezesha watu kurejesha faili ambazo zilifutwa kutoka kwa mfumo. Inaonyesha orodha ya faili zilizofutwa katika kiolesura cha wavuti, na ina chaguo za kurejesha faili hizo zilizofutwa kwenye saraka za faili za watu au kuziondoa kabisa kwenye mfumo. Kurejesha faili pia hurejesha matoleo ya faili zinazohusiana, ikiwa programu ya matoleo imewezeshwa. Faili inapofutwa kutoka kwa sehemu, inaweza kurejeshwa kwa njia ile ile, ingawa haishirikiwi tena. Kwa chaguomsingi, faili hizi husalia kwenye pipa la taka kwa siku 30.\nIli kuzuia akaunti kukosa nafasi ya diski, programu ya faili zilizofutwa haitatumia zaidi ya 50% ya nafasi ya bure inayopatikana kwa sasa ya faili zilizofutwa. Ikiwa faili zilizofutwa zitazidi kikomo hiki, programu hufuta faili za zamani zaidi hadi iwe chini ya kikomo hiki. Maelezo zaidi yanapatikana katika hati za Faili Zilizofutwa.", + "Restore" : "Hifadhi upya", + "Not enough free space to restore the file/folder" : "Hakuna nafasi ya kutosha ya kurejesha faili/folda", + "Empty deleted files" : "Safisha faili zilizofutwa", + "Confirm permanent deletion" : "Thibitisha ufutaji wa kudumu", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Je, una uhakika unataka kufuta kabisa faili na folda zote kwenye tupio? Hili haliwezi kutenduliwa.", + "Cancel" : "Ghairi", + "Original location" : "Mahali pa asili", + "Deleted by" : "Imefutwa na", + "Deleted" : "Vilivyofutwa", + "few seconds ago" : "sekunde chache zilizopita", + "A long time ago" : "Muda mrefu uliopita", + "Unknown" : "Haijulikani", + "All files" : "Faili zote", + "You" : "Wewe", + "List of files that have been deleted." : "Orodha ya faili ambazo zimefutwa.", + "No deleted files" : "Hakuna faili zilizofutwa", + "Files and folders you have deleted will show up here" : "Faili na folda ambazo umefuta zitaonekana hapa", + "All files have been permanently deleted" : "Faili zote zimefutwa kabisa", + "Failed to empty deleted files" : "Imeshindwa kufuta faili zilizofutwa", + "Deletion cancelled" : "Ufutaji umesitishwa" +},"pluralForm" :"nplurals=2; plural=(n != 1);" +}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/th.js b/apps/files_trashbin/l10n/th.js deleted file mode 100644 index 5b6078d6928..00000000000 --- a/apps/files_trashbin/l10n/th.js +++ /dev/null @@ -1,17 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "restored" : "เรียกคืนแล้ว", - "Deleted files" : "ไฟล์ที่ถูกลบ", - "Restore" : "คืนค่า", - "Unknown" : "ไม่ทราบ", - "All files" : "ไฟล์ทั้งหมด", - "Deleted" : "ลบแล้ว", - "No deleted files" : "ไม่มีไฟล์ที่ถูกลบ", - "You will be able to recover deleted files from here" : "คุณจะสามารถกู้คืนไฟล์ที่ถูกได้ลบจากที่นี่", - "No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้", - "Select all" : "เลือกทั้งหมด", - "Name" : "ชื่อ", - "Actions" : "การกระทำ" -}, -"nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/th.json b/apps/files_trashbin/l10n/th.json deleted file mode 100644 index 77668f1bdd4..00000000000 --- a/apps/files_trashbin/l10n/th.json +++ /dev/null @@ -1,15 +0,0 @@ -{ "translations": { - "restored" : "เรียกคืนแล้ว", - "Deleted files" : "ไฟล์ที่ถูกลบ", - "Restore" : "คืนค่า", - "Unknown" : "ไม่ทราบ", - "All files" : "ไฟล์ทั้งหมด", - "Deleted" : "ลบแล้ว", - "No deleted files" : "ไม่มีไฟล์ที่ถูกลบ", - "You will be able to recover deleted files from here" : "คุณจะสามารถกู้คืนไฟล์ที่ถูกได้ลบจากที่นี่", - "No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้", - "Select all" : "เลือกทั้งหมด", - "Name" : "ชื่อ", - "Actions" : "การกระทำ" -},"pluralForm" :"nplurals=1; plural=0;" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/tr.js b/apps/files_trashbin/l10n/tr.js index 7eff2830e2e..69dc72dbd81 100644 --- a/apps/files_trashbin/l10n/tr.js +++ b/apps/files_trashbin/l10n/tr.js @@ -5,24 +5,26 @@ OC.L10N.register( "Deleted files" : "Silinmiş dosyalar", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Çöp kutusundaki silinmiş dosya ve klasörler (depolama alanınız azsa dışa aktarma sırasında tükenebilir)", "This application enables people to restore files that were deleted from the system." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar.", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması etkinleştirilmiş ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kişilerin disk alanının dolmasını engellemek için, hesap depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması kullanıma alınmış ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kişilerin disk alanının dolmasını engellemek için, hesap depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.", "Restore" : "Geri yükle", - "Unknown" : "Bilinmiyor", - "All files" : "Tüm dosyalar", - "You" : "Siz", + "Not enough free space to restore the file/folder" : "Dosyayı veya klasörü geri yüklemek için yeterli boş alan yok", + "Empty deleted files" : "Silinmiş dosyaları yok et", + "Confirm permanent deletion" : "Kalıcı olarak silmeyi onaylayın", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Çöp kutusundaki tüm dosyaları ve klasörleri kalıcı olarak silmek istediğinize emin misiniz? Bu işlem geri alınamaz.", + "Cancel" : "İptal", "Original location" : "Özgün konum", "Deleted by" : "Silen", "Deleted" : "Silindi", + "few seconds ago" : "bir kaç saniye önce", "A long time ago" : "Uzun süre önce", + "Unknown" : "Bilinmiyor", + "All files" : "Tüm dosyalar", + "You" : "Siz", "List of files that have been deleted." : "Silinmiş dosyaların listesi", "No deleted files" : "Silinmiş bir dosya yok", "Files and folders you have deleted will show up here" : "Sildiğiniz dosya ve klasörler burada görüntülenir", - "This application enables users to restore files that were deleted from the system." : "Bu uygulama kullanıcıların sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kullanıcıların sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması etkinleştirilmiş ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kullanıcıların disk alanının dolmasını engellemek için, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.", - "You will be able to recover deleted files from here" : "Silinmiş dosyalarınızı buradan geri yükleyebilirsiniz", - "No entries found in this folder" : "Bu klasörde herhangi bir kayıt yok", - "Select all" : "Tümünü seç", - "Name" : "Ad", - "Actions" : "İşlemler" + "All files have been permanently deleted" : "Tüm dosyalar kalıcı olarak silindi", + "Failed to empty deleted files" : "Silinmiş dosyalar bölümü boşaltılamadı", + "Deletion cancelled" : "Silme iptal edildi" }, "nplurals=2; plural=(n > 1);"); diff --git a/apps/files_trashbin/l10n/tr.json b/apps/files_trashbin/l10n/tr.json index e45bb238fab..0d4f6433c74 100644 --- a/apps/files_trashbin/l10n/tr.json +++ b/apps/files_trashbin/l10n/tr.json @@ -3,24 +3,26 @@ "Deleted files" : "Silinmiş dosyalar", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Çöp kutusundaki silinmiş dosya ve klasörler (depolama alanınız azsa dışa aktarma sırasında tükenebilir)", "This application enables people to restore files that were deleted from the system." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar.", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması etkinleştirilmiş ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kişilerin disk alanının dolmasını engellemek için, hesap depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kişilerin sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması kullanıma alınmış ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kişilerin disk alanının dolmasını engellemek için, hesap depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.", "Restore" : "Geri yükle", - "Unknown" : "Bilinmiyor", - "All files" : "Tüm dosyalar", - "You" : "Siz", + "Not enough free space to restore the file/folder" : "Dosyayı veya klasörü geri yüklemek için yeterli boş alan yok", + "Empty deleted files" : "Silinmiş dosyaları yok et", + "Confirm permanent deletion" : "Kalıcı olarak silmeyi onaylayın", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Çöp kutusundaki tüm dosyaları ve klasörleri kalıcı olarak silmek istediğinize emin misiniz? Bu işlem geri alınamaz.", + "Cancel" : "İptal", "Original location" : "Özgün konum", "Deleted by" : "Silen", "Deleted" : "Silindi", + "few seconds ago" : "bir kaç saniye önce", "A long time ago" : "Uzun süre önce", + "Unknown" : "Bilinmiyor", + "All files" : "Tüm dosyalar", + "You" : "Siz", "List of files that have been deleted." : "Silinmiş dosyaların listesi", "No deleted files" : "Silinmiş bir dosya yok", "Files and folders you have deleted will show up here" : "Sildiğiniz dosya ve klasörler burada görüntülenir", - "This application enables users to restore files that were deleted from the system." : "Bu uygulama kullanıcıların sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Bu uygulama kullanıcıların sistem üzerinde sildiği dosyaları geri yükleyebilmesini sağlar. Site arayüzünde silinmiş dosyaların listesini ve kullanıcı klasörlerine geri yükleme ya da kalıcı olarak silme seçeneklerini görüntüler. Sürümler uygulaması etkinleştirilmiş ise, geri yüklenen dosyaların önceki sürümleri de geri yüklenir. Paylaşım üzerinden silinen dosyalar da aynı şekilde ancak paylaşılmamış olarak geri yüklenebilir. Silinmiş dosyalar varsayılan olarak 30 gün boyunca çöp kutusunda tutulur.\nSilinmiş dosyalar uygulaması kullanıcıların disk alanının dolmasını engellemek için, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Silinmiş dosyaların boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski silinmiş dosyalar silinir. Ayrıntılı bilgi almak için Silinmiş Dosyalar uygulamasının belgelerine bakabilirsiniz.", - "You will be able to recover deleted files from here" : "Silinmiş dosyalarınızı buradan geri yükleyebilirsiniz", - "No entries found in this folder" : "Bu klasörde herhangi bir kayıt yok", - "Select all" : "Tümünü seç", - "Name" : "Ad", - "Actions" : "İşlemler" + "All files have been permanently deleted" : "Tüm dosyalar kalıcı olarak silindi", + "Failed to empty deleted files" : "Silinmiş dosyalar bölümü boşaltılamadı", + "Deletion cancelled" : "Silme iptal edildi" },"pluralForm" :"nplurals=2; plural=(n > 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/ug.js b/apps/files_trashbin/l10n/ug.js index 244c0d92c17..58ee30df1fb 100644 --- a/apps/files_trashbin/l10n/ug.js +++ b/apps/files_trashbin/l10n/ug.js @@ -1,11 +1,23 @@ OC.L10N.register( "files_trashbin", { + "restored" : "ئەسلىگە كەلتۈرۈلدى", "Deleted files" : "ئۆچۈرۈلگەن ھۆججەتلەر", - "Delete" : "ئۆچۈر", - "Delete permanently" : "مەڭگۈلۈك ئۆچۈر", - "Error" : "خاتالىق", - "Name" : "ئاتى", - "Deleted" : "ئۆچۈرۈلدى" + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "ئەخلەت ساندۇقىدىكى ھۆججەت ۋە ھۆججەت قىسقۇچلار ئۆچۈرۈلدى (ئەگەر ساقلاش بوشلۇقىڭىز تۆۋەن بولسا ئېكسپورت جەريانىدا ۋاقتى توشىدۇ)", + "This application enables people to restore files that were deleted from the system." : "بۇ پروگرامما كىشىلەرنى سىستېمىدىن ئۆچۈرۈلگەن ھۆججەتلەرنى ئەسلىگە كەلتۈرەلەيدۇ.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "بۇ پروگرامما كىشىلەرنى سىستېمىدىن ئۆچۈرۈلگەن ھۆججەتلەرنى ئەسلىگە كەلتۈرەلەيدۇ. ئۇ تور يۈزىدە ئۆچۈرۈلگەن ھۆججەتلەرنىڭ تىزىملىكىنى كۆرسىتىدۇ ، ھەمدە ئۆچۈرۈلگەن ھۆججەتلەرنى كىشىلەرنىڭ ھۆججەت مۇندەرىجىسىگە ئەسلىگە كەلتۈرۈش ياكى سىستېمىدىن مەڭگۈلۈك ئۆچۈرۈش تاللانمىلىرى بار. ھۆججەتنى ئەسلىگە كەلتۈرۈش مۇناسىۋەتلىك ھۆججەت نەشرىنى ئەسلىگە كەلتۈرىدۇ ، ئەگەر نەشرى قوللىنىشچان بولسا. ھۆججەت ئورتاقلىشىشتىن ئۆچۈرۈلسە ، ئورتاقلاشمىسىمۇ ، ئوخشاش ئۇسۇلدا ئەسلىگە كەلتۈرگىلى بولىدۇ. سۈكۈت بويىچە ، بۇ ھۆججەتلەر ئەخلەت ساندۇقىدا 30 كۈن تۇرىدۇ.\nھېساباتنىڭ دىسكا بوشلۇقىنىڭ تۈگەپ كېتىشىنىڭ ئالدىنى ئېلىش ئۈچۈن ، ئۆچۈرۈلگەن ھۆججەتلەر ئۆچۈرۈلگەن ھۆججەتلەر ئۈچۈن ھازىر بار بولغان ھەقسىز نورمىنىڭ%50 تىن كۆپرەكىنى ئىشلەتمەيدۇ. ئەگەر ئۆچۈرۈلگەن ھۆججەتلەر بۇ چەكتىن ئېشىپ كەتسە ، ئەپ بۇ چەكتىن تۆۋەن بولغۇچە ئەڭ كونا ھۆججەتلەرنى ئۆچۈرۈۋېتىدۇ. ئۆچۈرۈلگەن ھۆججەتلەر ھۆججىتىدە تېخىمۇ كۆپ ئۇچۇرلار بار.", + "Restore" : "ئەسلىگە كەلتۈرۈش", + "Cancel" : "بىكار قىلىش", + "Original location" : "ئەسلى ئورنى", + "Deleted by" : "ئۆچۈرۈلدى", + "Deleted" : "ئۆچۈرۈلدى", + "A long time ago" : "خېلى بۇرۇن", + "Unknown" : "نامەلۇم", + "All files" : "بارلىق ھۆججەتلەر", + "You" : "سەن", + "List of files that have been deleted." : "ئۆچۈرۈلگەن ھۆججەتلەرنىڭ تىزىملىكى.", + "No deleted files" : "ئۆچۈرۈلگەن ھۆججەت يوق", + "Files and folders you have deleted will show up here" : "سىز ئۆچۈرگەن ھۆججەت ۋە ھۆججەت قىسقۇچلار بۇ يەردە كۆرۈنىدۇ", + "Deletion cancelled" : "ئۆچۈرۈش ئەمەلدىن قالدۇرۇلدى" }, -"nplurals=1; plural=0;"); +"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/ug.json b/apps/files_trashbin/l10n/ug.json index 3c11d802b5f..ab65353c812 100644 --- a/apps/files_trashbin/l10n/ug.json +++ b/apps/files_trashbin/l10n/ug.json @@ -1,9 +1,21 @@ { "translations": { + "restored" : "ئەسلىگە كەلتۈرۈلدى", "Deleted files" : "ئۆچۈرۈلگەن ھۆججەتلەر", - "Delete" : "ئۆچۈر", - "Delete permanently" : "مەڭگۈلۈك ئۆچۈر", - "Error" : "خاتالىق", - "Name" : "ئاتى", - "Deleted" : "ئۆچۈرۈلدى" -},"pluralForm" :"nplurals=1; plural=0;" + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "ئەخلەت ساندۇقىدىكى ھۆججەت ۋە ھۆججەت قىسقۇچلار ئۆچۈرۈلدى (ئەگەر ساقلاش بوشلۇقىڭىز تۆۋەن بولسا ئېكسپورت جەريانىدا ۋاقتى توشىدۇ)", + "This application enables people to restore files that were deleted from the system." : "بۇ پروگرامما كىشىلەرنى سىستېمىدىن ئۆچۈرۈلگەن ھۆججەتلەرنى ئەسلىگە كەلتۈرەلەيدۇ.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "بۇ پروگرامما كىشىلەرنى سىستېمىدىن ئۆچۈرۈلگەن ھۆججەتلەرنى ئەسلىگە كەلتۈرەلەيدۇ. ئۇ تور يۈزىدە ئۆچۈرۈلگەن ھۆججەتلەرنىڭ تىزىملىكىنى كۆرسىتىدۇ ، ھەمدە ئۆچۈرۈلگەن ھۆججەتلەرنى كىشىلەرنىڭ ھۆججەت مۇندەرىجىسىگە ئەسلىگە كەلتۈرۈش ياكى سىستېمىدىن مەڭگۈلۈك ئۆچۈرۈش تاللانمىلىرى بار. ھۆججەتنى ئەسلىگە كەلتۈرۈش مۇناسىۋەتلىك ھۆججەت نەشرىنى ئەسلىگە كەلتۈرىدۇ ، ئەگەر نەشرى قوللىنىشچان بولسا. ھۆججەت ئورتاقلىشىشتىن ئۆچۈرۈلسە ، ئورتاقلاشمىسىمۇ ، ئوخشاش ئۇسۇلدا ئەسلىگە كەلتۈرگىلى بولىدۇ. سۈكۈت بويىچە ، بۇ ھۆججەتلەر ئەخلەت ساندۇقىدا 30 كۈن تۇرىدۇ.\nھېساباتنىڭ دىسكا بوشلۇقىنىڭ تۈگەپ كېتىشىنىڭ ئالدىنى ئېلىش ئۈچۈن ، ئۆچۈرۈلگەن ھۆججەتلەر ئۆچۈرۈلگەن ھۆججەتلەر ئۈچۈن ھازىر بار بولغان ھەقسىز نورمىنىڭ%50 تىن كۆپرەكىنى ئىشلەتمەيدۇ. ئەگەر ئۆچۈرۈلگەن ھۆججەتلەر بۇ چەكتىن ئېشىپ كەتسە ، ئەپ بۇ چەكتىن تۆۋەن بولغۇچە ئەڭ كونا ھۆججەتلەرنى ئۆچۈرۈۋېتىدۇ. ئۆچۈرۈلگەن ھۆججەتلەر ھۆججىتىدە تېخىمۇ كۆپ ئۇچۇرلار بار.", + "Restore" : "ئەسلىگە كەلتۈرۈش", + "Cancel" : "بىكار قىلىش", + "Original location" : "ئەسلى ئورنى", + "Deleted by" : "ئۆچۈرۈلدى", + "Deleted" : "ئۆچۈرۈلدى", + "A long time ago" : "خېلى بۇرۇن", + "Unknown" : "نامەلۇم", + "All files" : "بارلىق ھۆججەتلەر", + "You" : "سەن", + "List of files that have been deleted." : "ئۆچۈرۈلگەن ھۆججەتلەرنىڭ تىزىملىكى.", + "No deleted files" : "ئۆچۈرۈلگەن ھۆججەت يوق", + "Files and folders you have deleted will show up here" : "سىز ئۆچۈرگەن ھۆججەت ۋە ھۆججەت قىسقۇچلار بۇ يەردە كۆرۈنىدۇ", + "Deletion cancelled" : "ئۆچۈرۈش ئەمەلدىن قالدۇرۇلدى" +},"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/uk.js b/apps/files_trashbin/l10n/uk.js index f442992573b..8eba1f6a389 100644 --- a/apps/files_trashbin/l10n/uk.js +++ b/apps/files_trashbin/l10n/uk.js @@ -5,23 +5,26 @@ OC.L10N.register( "Deleted files" : "Кошик", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Вилучені файли та каталоги з кошику (термін дії може завершитися під час експорту, якщо у вас мало місця для збереження)", "This application enables people to restore files that were deleted from the system." : "Цей застосунок дозволяє людям відновлювати файли, які було переміщено до кошику.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ця програма дозволяє відновлювати файли, які були видалені з системи. Вона відображає список видалених файлів у веб-інтерфейсі та має опції для відновлення цих видалених файлів у каталоги файлів користувачів або їх остаточного видалення з системи. Відновлення файлу також відновлює пов'язані версії файлу, якщо увімкнено програму версій. Коли файл видаляється з спільного ресурсу, його можна відновити таким самим чином, хоча він більше не буде спільним. За замовчуванням ці файли залишаються в кошику протягом 30 днів.\n\nЩоб запобігти вичерпанню дискового простору облікового запису, програма «Видалені файли» не використовує більше 50% поточної доступної квоти для видалених файлів. Якщо видалені файли перевищують цей ліміт, програма видаляє найстаріші файли, поки не досягне цього ліміту. Більше інформації можна знайти в документації «Видалені файли».", "Restore" : "Відновити", + "Not enough free space to restore the file/folder" : "Недостатньо вільного простору для відновлення файлу або каталогу", + "Empty deleted files" : "Очистити вилучені файли", + "Confirm permanent deletion" : "Підтвердити остаточне вилучення", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Дійсно остаточно вилучити усі файли та каталоги у кошику? Цю операцію буде неможливо скасувати.", + "Cancel" : "Скасувати", + "Original location" : "Звідки вилучено", + "Deleted by" : "Ким вилучено", + "Deleted" : "Вилучено", + "few seconds ago" : "кілька секунд тому", + "A long time ago" : "Давно", "Unknown" : "Невідомо", "All files" : "Усі файли", "You" : "Ви", - "Original location" : "Початкове розташування", - "Deleted by" : "Вилучено", - "Deleted" : "Вилучено", - "A long time ago" : "Давно", "List of files that have been deleted." : "Список файлів, які було вилучено.", "No deleted files" : "Кошик порожній", "Files and folders you have deleted will show up here" : "Тут показуватимуться файли та каталоги, які ви вилучили", - "This application enables users to restore files that were deleted from the system." : "Цей застосунок дозволяє користувачам відновлювати файли, які було вилучено у системі.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Цей застосунок дозволяє користувачам відновлювати файли, які було вилучено у системі. Він показує список вилучених у вебінтерфейсі файлів, дозволяє відновлювати вилучені файліи до каталогів користувача, звідки файл було вилучено, або остаточно вилучати файли з системи. Відновлення файлу також відновлює віповідні версії файлу, якщо підтримку версій увімкнено у системі. Якщо файл було вилучено зі спільного ресурсу, то його також можна відновити, при цьому його буде відновлено уже як не спільний ресурс. Типово вилучені файли зберігаються у кошику протягом 30 днів.\nДля запобігання понадмірного використання дискового простору вилучені файли не можуть займати понад 50% поточного доступного простору за квотою для вилучених файлів. Якщо розмір вилучених файлів перевищує зазначене обмеження, застосунок вилучатиме без можливості відновлення найстаріші файли аж до досягнення обмеження. Додаткову інформацію можна знайти у документації до застосунку.", - "You will be able to recover deleted files from here" : "Тут ви можете відновити файли, які було вилучено", - "No entries found in this folder" : "Не знайдено записів у цьому каталозі", - "Select all" : "Вибрати всі", - "Name" : "Ім'я", - "Actions" : "Дії" + "All files have been permanently deleted" : "Всі файли було безпворотно вилучено", + "Failed to empty deleted files" : "Не вдалося очистити вилучені файли", + "Deletion cancelled" : "Вилучення скасовано" }, "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_trashbin/l10n/uk.json b/apps/files_trashbin/l10n/uk.json index 347bb076042..e96d2caccbd 100644 --- a/apps/files_trashbin/l10n/uk.json +++ b/apps/files_trashbin/l10n/uk.json @@ -3,23 +3,26 @@ "Deleted files" : "Кошик", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Вилучені файли та каталоги з кошику (термін дії може завершитися під час експорту, якщо у вас мало місця для збереження)", "This application enables people to restore files that were deleted from the system." : "Цей застосунок дозволяє людям відновлювати файли, які було переміщено до кошику.", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ця програма дозволяє відновлювати файли, які були видалені з системи. Вона відображає список видалених файлів у веб-інтерфейсі та має опції для відновлення цих видалених файлів у каталоги файлів користувачів або їх остаточного видалення з системи. Відновлення файлу також відновлює пов'язані версії файлу, якщо увімкнено програму версій. Коли файл видаляється з спільного ресурсу, його можна відновити таким самим чином, хоча він більше не буде спільним. За замовчуванням ці файли залишаються в кошику протягом 30 днів.\n\nЩоб запобігти вичерпанню дискового простору облікового запису, програма «Видалені файли» не використовує більше 50% поточної доступної квоти для видалених файлів. Якщо видалені файли перевищують цей ліміт, програма видаляє найстаріші файли, поки не досягне цього ліміту. Більше інформації можна знайти в документації «Видалені файли».", "Restore" : "Відновити", + "Not enough free space to restore the file/folder" : "Недостатньо вільного простору для відновлення файлу або каталогу", + "Empty deleted files" : "Очистити вилучені файли", + "Confirm permanent deletion" : "Підтвердити остаточне вилучення", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "Дійсно остаточно вилучити усі файли та каталоги у кошику? Цю операцію буде неможливо скасувати.", + "Cancel" : "Скасувати", + "Original location" : "Звідки вилучено", + "Deleted by" : "Ким вилучено", + "Deleted" : "Вилучено", + "few seconds ago" : "кілька секунд тому", + "A long time ago" : "Давно", "Unknown" : "Невідомо", "All files" : "Усі файли", "You" : "Ви", - "Original location" : "Початкове розташування", - "Deleted by" : "Вилучено", - "Deleted" : "Вилучено", - "A long time ago" : "Давно", "List of files that have been deleted." : "Список файлів, які було вилучено.", "No deleted files" : "Кошик порожній", "Files and folders you have deleted will show up here" : "Тут показуватимуться файли та каталоги, які ви вилучили", - "This application enables users to restore files that were deleted from the system." : "Цей застосунок дозволяє користувачам відновлювати файли, які було вилучено у системі.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Цей застосунок дозволяє користувачам відновлювати файли, які було вилучено у системі. Він показує список вилучених у вебінтерфейсі файлів, дозволяє відновлювати вилучені файліи до каталогів користувача, звідки файл було вилучено, або остаточно вилучати файли з системи. Відновлення файлу також відновлює віповідні версії файлу, якщо підтримку версій увімкнено у системі. Якщо файл було вилучено зі спільного ресурсу, то його також можна відновити, при цьому його буде відновлено уже як не спільний ресурс. Типово вилучені файли зберігаються у кошику протягом 30 днів.\nДля запобігання понадмірного використання дискового простору вилучені файли не можуть займати понад 50% поточного доступного простору за квотою для вилучених файлів. Якщо розмір вилучених файлів перевищує зазначене обмеження, застосунок вилучатиме без можливості відновлення найстаріші файли аж до досягнення обмеження. Додаткову інформацію можна знайти у документації до застосунку.", - "You will be able to recover deleted files from here" : "Тут ви можете відновити файли, які було вилучено", - "No entries found in this folder" : "Не знайдено записів у цьому каталозі", - "Select all" : "Вибрати всі", - "Name" : "Ім'я", - "Actions" : "Дії" + "All files have been permanently deleted" : "Всі файли було безпворотно вилучено", + "Failed to empty deleted files" : "Не вдалося очистити вилучені файли", + "Deletion cancelled" : "Вилучення скасовано" },"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_trashbin/l10n/ur_PK.js b/apps/files_trashbin/l10n/ur_PK.js deleted file mode 100644 index eaa9dca8e34..00000000000 --- a/apps/files_trashbin/l10n/ur_PK.js +++ /dev/null @@ -1,14 +0,0 @@ -OC.L10N.register( - "files_trashbin", - { - "Couldn't delete %s permanently" : "حذف نہیں ہو سکتا %s مستقل طور پر", - "Couldn't restore %s" : "بحال نہيں کيا جا سکتا %s", - "Deleted files" : "حذف شدہ فائليں", - "Restore" : "بحال", - "Delete" : "حذف کریں", - "Error" : "ایرر", - "restored" : "بحال شدہ", - "Name" : "اسم", - "Deleted" : "حذف شدہ " -}, -"nplurals=2; plural=(n != 1);"); diff --git a/apps/files_trashbin/l10n/ur_PK.json b/apps/files_trashbin/l10n/ur_PK.json deleted file mode 100644 index fd88573d62a..00000000000 --- a/apps/files_trashbin/l10n/ur_PK.json +++ /dev/null @@ -1,12 +0,0 @@ -{ "translations": { - "Couldn't delete %s permanently" : "حذف نہیں ہو سکتا %s مستقل طور پر", - "Couldn't restore %s" : "بحال نہيں کيا جا سکتا %s", - "Deleted files" : "حذف شدہ فائليں", - "Restore" : "بحال", - "Delete" : "حذف کریں", - "Error" : "ایرر", - "restored" : "بحال شدہ", - "Name" : "اسم", - "Deleted" : "حذف شدہ " -},"pluralForm" :"nplurals=2; plural=(n != 1);" -}
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/vi.js b/apps/files_trashbin/l10n/vi.js index 96bf36a093b..25c16c76215 100644 --- a/apps/files_trashbin/l10n/vi.js +++ b/apps/files_trashbin/l10n/vi.js @@ -5,19 +5,15 @@ OC.L10N.register( "Deleted files" : "File đã bị xóa", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Các tệp và thư mục đã xóa trong thùng rác (có thể hết hạn trong quá trình xuất nếu bạn sắp hết dung lượng lưu trữ)", "Restore" : "Khôi phục", - "Unknown" : "Không xác định", - "All files" : "Tất cả tệp tin", + "Cancel" : "Hủy bỏ", "Deleted" : "Đã xóa", "A long time ago" : "Một khoảng thời gian trước", + "Unknown" : "Không xác định", + "All files" : "Tất cả tệp tin", + "You" : "You", "List of files that have been deleted." : "Danh sách các tập tin đã bị xóa.", "No deleted files" : "Không có tập tin bị xóa", "Files and folders you have deleted will show up here" : "Các tập tin và thư mục bạn đã xóa sẽ hiển thị ở đây", - "This application enables users to restore files that were deleted from the system." : "Ứng dụng này cho phép người dùng khôi phục các tập tin đã bị xóa khỏi hệ thống.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ứng dụng này cho phép người dùng khôi phục các tập tin đã bị xóa khỏi hệ thống. Nó hiển thị danh sách các tệp đã xóa trong giao diện web và có các tùy chọn để khôi phục các tệp đã xóa đó trở lại thư mục tệp của người dùng hoặc xóa chúng vĩnh viễn khỏi hệ thống. Việc khôi phục tệp cũng khôi phục các phiên bản tệp liên quan nếu ứng dụng phiên bản được bật. Khi một tệp bị xóa khỏi phần chia sẻ, nó có thể được khôi phục theo cách tương tự, mặc dù nó không còn được chia sẻ nữa. Theo mặc định, những tệp này vẫn ở trong thùng rác trong 30 ngày.\nĐể ngăn người dùng hết dung lượng ổ đĩa, ứng dụng Tệp đã xóa sẽ không sử dụng quá 50% hạn ngạch miễn phí hiện có cho các tệp đã xóa. Nếu các tệp đã xóa vượt quá giới hạn này thì ứng dụng sẽ xóa các tệp cũ nhất cho đến khi nó xuống dưới giới hạn này. Thông tin thêm có sẵn trong tài liệu Tệp đã xóa.", - "You will be able to recover deleted files from here" : "Bạn có thể phục hồi các file đã bị xóa từ đây", - "No entries found in this folder" : "Chưa có mục nào trong thư mục", - "Select all" : "Chọn tất cả", - "Name" : "Tên", - "Actions" : "Hành động" + "Deletion cancelled" : "Thao tác xóa bị hủy" }, "nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/vi.json b/apps/files_trashbin/l10n/vi.json index 3901a8d8726..0c704fbf15d 100644 --- a/apps/files_trashbin/l10n/vi.json +++ b/apps/files_trashbin/l10n/vi.json @@ -3,19 +3,15 @@ "Deleted files" : "File đã bị xóa", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Các tệp và thư mục đã xóa trong thùng rác (có thể hết hạn trong quá trình xuất nếu bạn sắp hết dung lượng lưu trữ)", "Restore" : "Khôi phục", - "Unknown" : "Không xác định", - "All files" : "Tất cả tệp tin", + "Cancel" : "Hủy bỏ", "Deleted" : "Đã xóa", "A long time ago" : "Một khoảng thời gian trước", + "Unknown" : "Không xác định", + "All files" : "Tất cả tệp tin", + "You" : "You", "List of files that have been deleted." : "Danh sách các tập tin đã bị xóa.", "No deleted files" : "Không có tập tin bị xóa", "Files and folders you have deleted will show up here" : "Các tập tin và thư mục bạn đã xóa sẽ hiển thị ở đây", - "This application enables users to restore files that were deleted from the system." : "Ứng dụng này cho phép người dùng khôi phục các tập tin đã bị xóa khỏi hệ thống.", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "Ứng dụng này cho phép người dùng khôi phục các tập tin đã bị xóa khỏi hệ thống. Nó hiển thị danh sách các tệp đã xóa trong giao diện web và có các tùy chọn để khôi phục các tệp đã xóa đó trở lại thư mục tệp của người dùng hoặc xóa chúng vĩnh viễn khỏi hệ thống. Việc khôi phục tệp cũng khôi phục các phiên bản tệp liên quan nếu ứng dụng phiên bản được bật. Khi một tệp bị xóa khỏi phần chia sẻ, nó có thể được khôi phục theo cách tương tự, mặc dù nó không còn được chia sẻ nữa. Theo mặc định, những tệp này vẫn ở trong thùng rác trong 30 ngày.\nĐể ngăn người dùng hết dung lượng ổ đĩa, ứng dụng Tệp đã xóa sẽ không sử dụng quá 50% hạn ngạch miễn phí hiện có cho các tệp đã xóa. Nếu các tệp đã xóa vượt quá giới hạn này thì ứng dụng sẽ xóa các tệp cũ nhất cho đến khi nó xuống dưới giới hạn này. Thông tin thêm có sẵn trong tài liệu Tệp đã xóa.", - "You will be able to recover deleted files from here" : "Bạn có thể phục hồi các file đã bị xóa từ đây", - "No entries found in this folder" : "Chưa có mục nào trong thư mục", - "Select all" : "Chọn tất cả", - "Name" : "Tên", - "Actions" : "Hành động" + "Deletion cancelled" : "Thao tác xóa bị hủy" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/zh_CN.js b/apps/files_trashbin/l10n/zh_CN.js index 56947e4866a..85d9c14bf9e 100644 --- a/apps/files_trashbin/l10n/zh_CN.js +++ b/apps/files_trashbin/l10n/zh_CN.js @@ -7,21 +7,24 @@ OC.L10N.register( "This application enables people to restore files that were deleted from the system." : "此应用程序使人们能够恢复从系统中删除的文件。", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此应用程序使人们能够恢复从系统中删除的文件。它在web界面中显示已删除文件的列表,并可以选择将这些已删除的文件还原回人员文件目录或从系统中永久删除这些文件。如果启用了版本应用程序,恢复文件也会恢复相关的文件版本。当文件从共享中删除时,可以以相同的方式恢复,尽管不再共享。默认情况下,这些文件将在垃圾桶中保留30天。\n为了防止帐户磁盘空间不足,“已删除文件”应用程序将不会为已删除文件使用超过当前可用可用配额的50%。如果删除的文件超过此限制,应用程序将删除最旧的文件,直到其低于此限制。有关详细信息,请参阅“已删除的文件”文档。", "Restore" : "恢复", + "Not enough free space to restore the file/folder" : "空间不足,无法恢复文件/文件夹", + "Empty deleted files" : "清空回收站", + "Confirm permanent deletion" : "确认永久删除", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "是否确定要永久删除回收站中的所有文件和文件夹?此操作无法撤销。", + "Cancel" : "取消", + "Original location" : "初始位置", + "Deleted by" : "删除者", + "Deleted" : "已删除", + "few seconds ago" : "几秒钟前", + "A long time ago" : "很久之前", "Unknown" : "未知", "All files" : "全部文件", "You" : "你", - "Deleted by" : "删除者", - "Deleted" : "已删除", - "A long time ago" : "很久以前", "List of files that have been deleted." : "已被删除的文件清单", "No deleted files" : "无已删除文件", "Files and folders you have deleted will show up here" : "此处将显示您删除的文件和文件夹", - "This application enables users to restore files that were deleted from the system." : "此应用允许用户恢复从系统中删除的文件。", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此应用允许用户恢复从系统中删除的文件。它会在 web 界面上显示已删除文件的列表,且可以选择将这些已删除文件恢复到用户的文件目录中或者将其永久地从系统删除。如果版本应用启用的话,恢复文件同时也会恢复相关的文件副本。当文件从共享中删除时,它可以用同样的方法恢复,但它不会再被共享。默认情况下,这些文件将会在回收站中保留 30 天。\n为防止用户把磁盘空间用完,文件删除应用用于保存已删除文件的空间将不会超过当前可用空闲配额的 50%。当已删除文件的容量超过这一限制时,应用将删除最旧的文件直到容量低于限制。更多信息请参考文件删除应用文档。", - "You will be able to recover deleted files from here" : "您可以在此处恢复已删除的文件", - "No entries found in this folder" : "此文件夹中无项目", - "Select all" : "全部选择", - "Name" : "名称", - "Actions" : "操作" + "All files have been permanently deleted" : "所有文件已被永久删除", + "Failed to empty deleted files" : "无法清空回收站", + "Deletion cancelled" : "已取消删除" }, "nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/zh_CN.json b/apps/files_trashbin/l10n/zh_CN.json index 5d4b334ad7c..6c8cec547ef 100644 --- a/apps/files_trashbin/l10n/zh_CN.json +++ b/apps/files_trashbin/l10n/zh_CN.json @@ -5,21 +5,24 @@ "This application enables people to restore files that were deleted from the system." : "此应用程序使人们能够恢复从系统中删除的文件。", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此应用程序使人们能够恢复从系统中删除的文件。它在web界面中显示已删除文件的列表,并可以选择将这些已删除的文件还原回人员文件目录或从系统中永久删除这些文件。如果启用了版本应用程序,恢复文件也会恢复相关的文件版本。当文件从共享中删除时,可以以相同的方式恢复,尽管不再共享。默认情况下,这些文件将在垃圾桶中保留30天。\n为了防止帐户磁盘空间不足,“已删除文件”应用程序将不会为已删除文件使用超过当前可用可用配额的50%。如果删除的文件超过此限制,应用程序将删除最旧的文件,直到其低于此限制。有关详细信息,请参阅“已删除的文件”文档。", "Restore" : "恢复", + "Not enough free space to restore the file/folder" : "空间不足,无法恢复文件/文件夹", + "Empty deleted files" : "清空回收站", + "Confirm permanent deletion" : "确认永久删除", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "是否确定要永久删除回收站中的所有文件和文件夹?此操作无法撤销。", + "Cancel" : "取消", + "Original location" : "初始位置", + "Deleted by" : "删除者", + "Deleted" : "已删除", + "few seconds ago" : "几秒钟前", + "A long time ago" : "很久之前", "Unknown" : "未知", "All files" : "全部文件", "You" : "你", - "Deleted by" : "删除者", - "Deleted" : "已删除", - "A long time ago" : "很久以前", "List of files that have been deleted." : "已被删除的文件清单", "No deleted files" : "无已删除文件", "Files and folders you have deleted will show up here" : "此处将显示您删除的文件和文件夹", - "This application enables users to restore files that were deleted from the system." : "此应用允许用户恢复从系统中删除的文件。", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此应用允许用户恢复从系统中删除的文件。它会在 web 界面上显示已删除文件的列表,且可以选择将这些已删除文件恢复到用户的文件目录中或者将其永久地从系统删除。如果版本应用启用的话,恢复文件同时也会恢复相关的文件副本。当文件从共享中删除时,它可以用同样的方法恢复,但它不会再被共享。默认情况下,这些文件将会在回收站中保留 30 天。\n为防止用户把磁盘空间用完,文件删除应用用于保存已删除文件的空间将不会超过当前可用空闲配额的 50%。当已删除文件的容量超过这一限制时,应用将删除最旧的文件直到容量低于限制。更多信息请参考文件删除应用文档。", - "You will be able to recover deleted files from here" : "您可以在此处恢复已删除的文件", - "No entries found in this folder" : "此文件夹中无项目", - "Select all" : "全部选择", - "Name" : "名称", - "Actions" : "操作" + "All files have been permanently deleted" : "所有文件已被永久删除", + "Failed to empty deleted files" : "无法清空回收站", + "Deletion cancelled" : "已取消删除" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/zh_HK.js b/apps/files_trashbin/l10n/zh_HK.js index e814191ed1b..bb1a97eb0dd 100644 --- a/apps/files_trashbin/l10n/zh_HK.js +++ b/apps/files_trashbin/l10n/zh_HK.js @@ -5,24 +5,26 @@ OC.L10N.register( "Deleted files" : "回收桶", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "已刪除回收桶中的檔案與資料夾(若您的儲存空間不足,導出過程中可能會過期)", "This application enables people to restore files that were deleted from the system." : "此應用程式讓人仕可以還原他們在系統當中刪除的檔案", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路界面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到用戶的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免帳戶耗盡磁碟空間,「已刪除檔案」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「已刪除檔案」的文件中提供。", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路界面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到用戶的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免帳戶耗盡磁碟空間,「已刪除檔案」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「已刪除檔案」的說明書中提供。", "Restore" : "還原", - "Unknown" : "不詳", - "All files" : "所有檔案", - "You" : "您", + "Not enough free space to restore the file/folder" : "空間不足,不能還原檔案/資料夾", + "Empty deleted files" : "清空已刪除的檔案", + "Confirm permanent deletion" : "確認永久刪除", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "您確定要永久刪除回收桶中的所有檔案與資料夾嗎?這無法還原。", + "Cancel" : "取消", "Original location" : "原先的位置", "Deleted by" : "被以下人仕刪除", "Deleted" : "已刪除", + "few seconds ago" : "幾秒前", "A long time ago" : "很久以前", + "Unknown" : "不詳", + "All files" : "所有檔案", + "You" : "您", "List of files that have been deleted." : "已被刪除檔案的清單。", "No deleted files" : "沒有已刪除的檔案", "Files and folders you have deleted will show up here" : "您已刪除的檔案與資料夾將會在此處顯示", - "This application enables users to restore files that were deleted from the system." : "此應用程式讓用戶可以還原他們在系統當中刪除的檔案", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路界面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到用戶的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免用戶耗盡磁碟空間,「已刪除檔案」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「已刪除檔案」的文件中提供。", - "You will be able to recover deleted files from here" : "您可以從這裡還原已刪除的檔案", - "No entries found in this folder" : "在此資料夾中沒有任何項目", - "Select all" : "全選", - "Name" : "名稱", - "Actions" : "操作" + "All files have been permanently deleted" : "所有檔案都已被永久刪除", + "Failed to empty deleted files" : "清空已刪除的檔案失敗", + "Deletion cancelled" : "刪除已取消" }, "nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/zh_HK.json b/apps/files_trashbin/l10n/zh_HK.json index 31404b7ca07..43f5422bd89 100644 --- a/apps/files_trashbin/l10n/zh_HK.json +++ b/apps/files_trashbin/l10n/zh_HK.json @@ -3,24 +3,26 @@ "Deleted files" : "回收桶", "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "已刪除回收桶中的檔案與資料夾(若您的儲存空間不足,導出過程中可能會過期)", "This application enables people to restore files that were deleted from the system." : "此應用程式讓人仕可以還原他們在系統當中刪除的檔案", - "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路界面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到用戶的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免帳戶耗盡磁碟空間,「已刪除檔案」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「已刪除檔案」的文件中提供。", + "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路界面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到用戶的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免帳戶耗盡磁碟空間,「已刪除檔案」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「已刪除檔案」的說明書中提供。", "Restore" : "還原", - "Unknown" : "不詳", - "All files" : "所有檔案", - "You" : "您", + "Not enough free space to restore the file/folder" : "空間不足,不能還原檔案/資料夾", + "Empty deleted files" : "清空已刪除的檔案", + "Confirm permanent deletion" : "確認永久刪除", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "您確定要永久刪除回收桶中的所有檔案與資料夾嗎?這無法還原。", + "Cancel" : "取消", "Original location" : "原先的位置", "Deleted by" : "被以下人仕刪除", "Deleted" : "已刪除", + "few seconds ago" : "幾秒前", "A long time ago" : "很久以前", + "Unknown" : "不詳", + "All files" : "所有檔案", + "You" : "您", "List of files that have been deleted." : "已被刪除檔案的清單。", "No deleted files" : "沒有已刪除的檔案", "Files and folders you have deleted will show up here" : "您已刪除的檔案與資料夾將會在此處顯示", - "This application enables users to restore files that were deleted from the system." : "此應用程式讓用戶可以還原他們在系統當中刪除的檔案", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路界面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到用戶的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免用戶耗盡磁碟空間,「已刪除檔案」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「已刪除檔案」的文件中提供。", - "You will be able to recover deleted files from here" : "您可以從這裡還原已刪除的檔案", - "No entries found in this folder" : "在此資料夾中沒有任何項目", - "Select all" : "全選", - "Name" : "名稱", - "Actions" : "操作" + "All files have been permanently deleted" : "所有檔案都已被永久刪除", + "Failed to empty deleted files" : "清空已刪除的檔案失敗", + "Deletion cancelled" : "刪除已取消" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_trashbin/l10n/zh_TW.js b/apps/files_trashbin/l10n/zh_TW.js index e87a619dda6..6d5c70d7a5c 100644 --- a/apps/files_trashbin/l10n/zh_TW.js +++ b/apps/files_trashbin/l10n/zh_TW.js @@ -2,27 +2,29 @@ OC.L10N.register( "files_trashbin", { "restored" : "已還原", - "Deleted files" : "回收桶", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "已刪除回收桶中的檔案與資料夾(若您的儲存空間不足,匯出過程中可能會過期)", + "Deleted files" : "刪除的檔案", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "垃圾桶中刪除的檔案與資料夾(若您的儲存空間不足,匯出過程中可能會過期)", "This application enables people to restore files that were deleted from the system." : "此應用程式讓使用者可以還原他們在系統當中刪除的檔案", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路介面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到使用者的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免使用者耗盡磁碟空間,「回收桶」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「回收桶」的文件中提供。", "Restore" : "還原", - "Unknown" : "未知", - "All files" : "所有檔案", - "You" : "您", + "Not enough free space to restore the file/folder" : "空間不足,無法還原檔案/資料夾", + "Empty deleted files" : "清空已刪除的檔案", + "Confirm permanent deletion" : "確認永久刪除", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "您確定您想要永久刪除回收桶中的所有檔案與資料夾嗎?這無法還原。", + "Cancel" : "取消", "Original location" : "原始位置", "Deleted by" : "刪除者", "Deleted" : "已刪除", + "few seconds ago" : "幾秒前", "A long time ago" : "很久以前", - "List of files that have been deleted." : "已被刪除的檔案清單。", - "No deleted files" : "沒有已刪除的檔案", - "Files and folders you have deleted will show up here" : "您已刪除的檔案與資料夾將會在此處顯示", - "This application enables users to restore files that were deleted from the system." : "此應用程式讓使用者可以還原他們在系統當中刪除的檔案", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路介面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到使用者的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免使用者耗盡磁碟空間,「回收桶」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「回收桶」的文件中提供。", - "You will be able to recover deleted files from here" : "您可以從這裡還原已刪除的檔案", - "No entries found in this folder" : "此資料夾中沒有任何項目", - "Select all" : "全選", - "Name" : "名稱", - "Actions" : "動作" + "Unknown" : "未知", + "All files" : "所有檔案", + "You" : "您", + "List of files that have been deleted." : "刪除的檔案清單。", + "No deleted files" : "沒有刪除的檔案", + "Files and folders you have deleted will show up here" : "您刪除的檔案與資料夾將會在此處顯示", + "All files have been permanently deleted" : "所有檔案都已被永久刪除", + "Failed to empty deleted files" : "清空已刪除的檔案失敗", + "Deletion cancelled" : "刪除已取消" }, "nplurals=1; plural=0;"); diff --git a/apps/files_trashbin/l10n/zh_TW.json b/apps/files_trashbin/l10n/zh_TW.json index 797989b9122..50ce8a4e5aa 100644 --- a/apps/files_trashbin/l10n/zh_TW.json +++ b/apps/files_trashbin/l10n/zh_TW.json @@ -1,26 +1,28 @@ { "translations": { "restored" : "已還原", - "Deleted files" : "回收桶", - "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "已刪除回收桶中的檔案與資料夾(若您的儲存空間不足,匯出過程中可能會過期)", + "Deleted files" : "刪除的檔案", + "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "垃圾桶中刪除的檔案與資料夾(若您的儲存空間不足,匯出過程中可能會過期)", "This application enables people to restore files that were deleted from the system." : "此應用程式讓使用者可以還原他們在系統當中刪除的檔案", "This application enables people to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the people file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent an account from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路介面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到使用者的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免使用者耗盡磁碟空間,「回收桶」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「回收桶」的文件中提供。", "Restore" : "還原", - "Unknown" : "未知", - "All files" : "所有檔案", - "You" : "您", + "Not enough free space to restore the file/folder" : "空間不足,無法還原檔案/資料夾", + "Empty deleted files" : "清空已刪除的檔案", + "Confirm permanent deletion" : "確認永久刪除", + "Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone." : "您確定您想要永久刪除回收桶中的所有檔案與資料夾嗎?這無法還原。", + "Cancel" : "取消", "Original location" : "原始位置", "Deleted by" : "刪除者", "Deleted" : "已刪除", + "few seconds ago" : "幾秒前", "A long time ago" : "很久以前", - "List of files that have been deleted." : "已被刪除的檔案清單。", - "No deleted files" : "沒有已刪除的檔案", - "Files and folders you have deleted will show up here" : "您已刪除的檔案與資料夾將會在此處顯示", - "This application enables users to restore files that were deleted from the system." : "此應用程式讓使用者可以還原他們在系統當中刪除的檔案", - "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "此應用程式讓使用可以還原從系統中刪除的檔案。其會在網路介面中顯示已刪除的檔案列表,並有選項可以復原那些檔案到使用者的檔案目錄,或是將它們從系統中永久移除。若啟用了版本應用程式,復原檔案也會復原相關的檔案版本。當檔案從分享中刪除時,雖然不再共享,但可以用相同的方式來還原。預設情況下,這些檔案會在回收桶中保留30天。\n為了避免使用者耗盡磁碟空間,「回收桶」應用程式將不會用於超過目前可用配額 50% 的已刪除檔案。如果已刪除的檔案超過此限制,應用程式將會刪除最舊的檔案,直到低於此限制為止。更多資訊在「回收桶」的文件中提供。", - "You will be able to recover deleted files from here" : "您可以從這裡還原已刪除的檔案", - "No entries found in this folder" : "此資料夾中沒有任何項目", - "Select all" : "全選", - "Name" : "名稱", - "Actions" : "動作" + "Unknown" : "未知", + "All files" : "所有檔案", + "You" : "您", + "List of files that have been deleted." : "刪除的檔案清單。", + "No deleted files" : "沒有刪除的檔案", + "Files and folders you have deleted will show up here" : "您刪除的檔案與資料夾將會在此處顯示", + "All files have been permanently deleted" : "所有檔案都已被永久刪除", + "Failed to empty deleted files" : "清空已刪除的檔案失敗", + "Deletion cancelled" : "刪除已取消" },"pluralForm" :"nplurals=1; plural=0;" }
\ No newline at end of file diff --git a/apps/files_trashbin/lib/AppInfo/Application.php b/apps/files_trashbin/lib/AppInfo/Application.php index e1a8e02afaf..76d566f4286 100644 --- a/apps/files_trashbin/lib/AppInfo/Application.php +++ b/apps/files_trashbin/lib/AppInfo/Application.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -8,19 +9,27 @@ namespace OCA\Files_Trashbin\AppInfo; use OCA\DAV\Connector\Sabre\Principal; use OCA\Files\Event\LoadAdditionalScriptsEvent; +use OCA\Files_Sharing\Event\BeforeTemplateRenderedEvent; use OCA\Files_Trashbin\Capabilities; use OCA\Files_Trashbin\Events\BeforeNodeRestoredEvent; use OCA\Files_Trashbin\Expiration; +use OCA\Files_Trashbin\Listener\EventListener; +use OCA\Files_Trashbin\Listeners\BeforeTemplateRendered; use OCA\Files_Trashbin\Listeners\LoadAdditionalScripts; use OCA\Files_Trashbin\Listeners\SyncLivePhotosListener; use OCA\Files_Trashbin\Trash\ITrashManager; use OCA\Files_Trashbin\Trash\TrashManager; +use OCA\Files_Trashbin\Trashbin; use OCA\Files_Trashbin\UserMigration\TrashbinMigrator; use OCP\App\IAppManager; use OCP\AppFramework\App; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Bootstrap\IBootstrap; use OCP\AppFramework\Bootstrap\IRegistrationContext; +use OCP\Files\Events\BeforeFileSystemSetupEvent; +use OCP\Files\Events\Node\BeforeNodeDeletedEvent; +use OCP\Files\Events\Node\NodeWrittenEvent; +use OCP\User\Events\BeforeUserDeletedEvent; use Psr\Container\ContainerInterface; use Psr\Log\LoggerInterface; @@ -46,24 +55,27 @@ class Application extends App implements IBootstrap { LoadAdditionalScripts::class ); + $context->registerEventListener( + BeforeTemplateRenderedEvent::class, + BeforeTemplateRendered::class + ); + $context->registerEventListener(BeforeNodeRestoredEvent::class, SyncLivePhotosListener::class); + + $context->registerEventListener(NodeWrittenEvent::class, EventListener::class); + $context->registerEventListener(BeforeUserDeletedEvent::class, EventListener::class); + $context->registerEventListener(BeforeFileSystemSetupEvent::class, EventListener::class); + + // pre and post-rename, disable trash logic for the copy+unlink case + $context->registerEventListener(BeforeNodeDeletedEvent::class, Trashbin::class); } public function boot(IBootContext $context): void { $context->injectFn([$this, 'registerTrashBackends']); - - // create storage wrapper on setup - \OCP\Util::connectHook('OC_Filesystem', 'preSetup', 'OCA\Files_Trashbin\Storage', 'setupStorage'); - //Listen to delete user signal - \OCP\Util::connectHook('OC_User', 'pre_deleteUser', 'OCA\Files_Trashbin\Hooks', 'deleteUser_hook'); - //Listen to post write hook - \OCP\Util::connectHook('OC_Filesystem', 'post_write', 'OCA\Files_Trashbin\Hooks', 'post_write_hook'); - // pre and post-rename, disable trash logic for the copy+unlink case - \OCP\Util::connectHook('OC_Filesystem', 'delete', 'OCA\Files_Trashbin\Trashbin', 'ensureFileScannedHook'); } public function registerTrashBackends(ContainerInterface $serverContainer, LoggerInterface $logger, IAppManager $appManager, ITrashManager $trashManager): void { - foreach ($appManager->getInstalledApps() as $app) { + foreach ($appManager->getEnabledApps() as $app) { $appInfo = $appManager->getAppInfo($app); if (isset($appInfo['trash'])) { $backends = $appInfo['trash']; diff --git a/apps/files_trashbin/lib/BackgroundJob/ExpireTrash.php b/apps/files_trashbin/lib/BackgroundJob/ExpireTrash.php index e458039bf4f..bb383dab78d 100644 --- a/apps/files_trashbin/lib/BackgroundJob/ExpireTrash.php +++ b/apps/files_trashbin/lib/BackgroundJob/ExpireTrash.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -6,41 +7,31 @@ */ namespace OCA\Files_Trashbin\BackgroundJob; +use OC\Files\View; use OCA\Files_Trashbin\Expiration; use OCA\Files_Trashbin\Helper; use OCA\Files_Trashbin\Trashbin; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\TimedJob; -use OCP\IConfig; -use OCP\IUser; +use OCP\IAppConfig; use OCP\IUserManager; +use Psr\Log\LoggerInterface; class ExpireTrash extends TimedJob { - private IConfig $config; - private Expiration $expiration; - private IUserManager $userManager; - public function __construct( - IConfig $config, - IUserManager $userManager, - Expiration $expiration, - ITimeFactory $time + private IAppConfig $appConfig, + private IUserManager $userManager, + private Expiration $expiration, + private LoggerInterface $logger, + ITimeFactory $time, ) { parent::__construct($time); // Run once per 30 minutes $this->setInterval(60 * 30); - - $this->config = $config; - $this->userManager = $userManager; - $this->expiration = $expiration; } - /** - * @param $argument - * @throws \Exception - */ protected function run($argument) { - $backgroundJob = $this->config->getAppValue('files_trashbin', 'background_job_expire_trash', 'yes'); + $backgroundJob = $this->appConfig->getValueString('files_trashbin', 'background_job_expire_trash', 'yes'); if ($backgroundJob === 'no') { return; } @@ -50,15 +41,32 @@ class ExpireTrash extends TimedJob { return; } - $this->userManager->callForSeenUsers(function (IUser $user) { - $uid = $user->getUID(); - if (!$this->setupFS($uid)) { + $stopTime = time() + 60 * 30; // Stops after 30 minutes. + $offset = $this->appConfig->getValueInt('files_trashbin', 'background_job_expire_trash_offset', 0); + $users = $this->userManager->getSeenUsers($offset); + + foreach ($users as $user) { + try { + $uid = $user->getUID(); + if (!$this->setupFS($uid)) { + continue; + } + $dirContent = Helper::getTrashFiles('/', $uid, 'mtime'); + Trashbin::deleteExpiredFiles($dirContent, $uid); + } catch (\Throwable $e) { + $this->logger->error('Error while expiring trashbin for user ' . $user->getUID(), ['exception' => $e]); + } + + $offset++; + + if ($stopTime < time()) { + $this->appConfig->setValueInt('files_trashbin', 'background_job_expire_trash_offset', $offset); + \OC_Util::tearDownFS(); return; } - $dirContent = Helper::getTrashFiles('/', $uid, 'mtime'); - Trashbin::deleteExpiredFiles($dirContent, $uid); - }); + } + $this->appConfig->setValueInt('files_trashbin', 'background_job_expire_trash_offset', 0); \OC_Util::tearDownFS(); } @@ -70,7 +78,7 @@ class ExpireTrash extends TimedJob { \OC_Util::setupFS($user); // Check if this user has a trashbin directory - $view = new \OC\Files\View('/' . $user); + $view = new View('/' . $user); if (!$view->is_dir('/files_trashbin/files')) { return false; } diff --git a/apps/files_trashbin/lib/Capabilities.php b/apps/files_trashbin/lib/Capabilities.php index 863d3692fb6..53c17a475ff 100644 --- a/apps/files_trashbin/lib/Capabilities.php +++ b/apps/files_trashbin/lib/Capabilities.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -6,6 +7,7 @@ */ namespace OCA\Files_Trashbin; +use OCA\Files_Trashbin\Service\ConfigService; use OCP\Capabilities\ICapability; /** @@ -18,12 +20,18 @@ class Capabilities implements ICapability { /** * Return this classes capabilities * - * @return array{files: array{undelete: bool}} + * @return array{ + * files: array{ + * undelete: bool, + * delete_from_trash: bool + * } + * } */ public function getCapabilities() { return [ 'files' => [ - 'undelete' => true + 'undelete' => true, + 'delete_from_trash' => ConfigService::getDeleteFromTrashEnabled(), ] ]; } diff --git a/apps/files_trashbin/lib/Command/CleanUp.php b/apps/files_trashbin/lib/Command/CleanUp.php index 405abd3015a..e9b4fa8ae60 100644 --- a/apps/files_trashbin/lib/Command/CleanUp.php +++ b/apps/files_trashbin/lib/Command/CleanUp.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -10,6 +11,7 @@ use OCP\Files\IRootFolder; use OCP\IDBConnection; use OCP\IUserBackend; use OCP\IUserManager; +use OCP\Util; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Exception\InvalidOptionException; use Symfony\Component\Console\Input\InputArgument; @@ -19,25 +21,12 @@ use Symfony\Component\Console\Output\OutputInterface; class CleanUp extends Command { - /** @var IUserManager */ - protected $userManager; - - /** @var IRootFolder */ - protected $rootFolder; - - /** @var \OCP\IDBConnection */ - protected $dbConnection; - - /** - * @param IRootFolder $rootFolder - * @param IUserManager $userManager - * @param IDBConnection $dbConnection - */ - public function __construct(IRootFolder $rootFolder, IUserManager $userManager, IDBConnection $dbConnection) { + public function __construct( + protected IRootFolder $rootFolder, + protected IUserManager $userManager, + protected IDBConnection $dbConnection, + ) { parent::__construct(); - $this->userManager = $userManager; - $this->rootFolder = $rootFolder; - $this->dbConnection = $dbConnection; } protected function configure() { @@ -108,18 +97,18 @@ class CleanUp extends Command { $node = $this->rootFolder->get($path); if ($verbose) { - $output->writeln("Deleting <info>" . \OC_Helper::humanFileSize($node->getSize()) . "</info> in trash for <info>$uid</info>."); + $output->writeln('Deleting <info>' . Util::humanFileSize($node->getSize()) . "</info> in trash for <info>$uid</info>."); } $node->delete(); if ($this->rootFolder->nodeExists($path)) { - $output->writeln("<error>Trash folder sill exists after attempting to delete it</error>"); + $output->writeln('<error>Trash folder sill exists after attempting to delete it</error>'); return; } $query = $this->dbConnection->getQueryBuilder(); $query->delete('files_trash') ->where($query->expr()->eq('user', $query->createParameter('uid'))) ->setParameter('uid', $uid); - $query->execute(); + $query->executeStatement(); } else { if ($verbose) { $output->writeln("No trash found for <info>$uid</info>"); diff --git a/apps/files_trashbin/lib/Command/Expire.php b/apps/files_trashbin/lib/Command/Expire.php index b31e540ee38..73a42cd4749 100644 --- a/apps/files_trashbin/lib/Command/Expire.php +++ b/apps/files_trashbin/lib/Command/Expire.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -9,24 +10,22 @@ namespace OCA\Files_Trashbin\Command; use OC\Command\FileAccess; use OCA\Files_Trashbin\Trashbin; use OCP\Command\ICommand; +use OCP\IUserManager; +use OCP\Server; class Expire implements ICommand { use FileAccess; /** - * @var string - */ - private $user; - - /** * @param string $user */ - public function __construct($user) { - $this->user = $user; + public function __construct( + private $user, + ) { } public function handle() { - $userManager = \OC::$server->getUserManager(); + $userManager = Server::get(IUserManager::class); if (!$userManager->userExists($this->user)) { // User has been deleted already return; diff --git a/apps/files_trashbin/lib/Command/ExpireTrash.php b/apps/files_trashbin/lib/Command/ExpireTrash.php index be5bd15d5e6..422d8379984 100644 --- a/apps/files_trashbin/lib/Command/ExpireTrash.php +++ b/apps/files_trashbin/lib/Command/ExpireTrash.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud GmbH. @@ -6,11 +7,12 @@ */ namespace OCA\Files_Trashbin\Command; +use OC\Files\View; use OCA\Files_Trashbin\Expiration; -use OCA\Files_Trashbin\Helper; use OCA\Files_Trashbin\Trashbin; use OCP\IUser; use OCP\IUserManager; +use Psr\Log\LoggerInterface; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Helper\ProgressBar; use Symfony\Component\Console\Input\InputArgument; @@ -20,25 +22,15 @@ use Symfony\Component\Console\Output\OutputInterface; class ExpireTrash extends Command { /** - * @var Expiration - */ - private $expiration; - - /** - * @var IUserManager - */ - private $userManager; - - /** * @param IUserManager|null $userManager * @param Expiration|null $expiration */ - public function __construct(?IUserManager $userManager = null, - ?Expiration $expiration = null) { + public function __construct( + private LoggerInterface $logger, + private ?IUserManager $userManager = null, + private ?Expiration $expiration = null, + ) { parent::__construct(); - - $this->userManager = $userManager; - $this->expiration = $expiration; } protected function configure() { @@ -53,9 +45,10 @@ class ExpireTrash extends Command { } protected function execute(InputInterface $input, OutputInterface $output): int { + $minAge = $this->expiration->getMinAgeAsTimestamp(); $maxAge = $this->expiration->getMaxAgeAsTimestamp(); - if (!$maxAge) { - $output->writeln("Auto expiration is configured - keeps files and folders in the trash bin for 30 days and automatically deletes anytime after that if space is needed (note: files may not be deleted if space is not needed)"); + if ($minAge === false && $maxAge === false) { + $output->writeln('Auto expiration is configured - keeps files and folders in the trash bin for 30 days and automatically deletes anytime after that if space is needed (note: files may not be deleted if space is not needed)'); return 1; } @@ -74,10 +67,12 @@ class ExpireTrash extends Command { } else { $p = new ProgressBar($output); $p->start(); - $this->userManager->callForSeenUsers(function (IUser $user) use ($p) { + + $users = $this->userManager->getSeenUsers(); + foreach ($users as $user) { $p->advance(); $this->expireTrashForUser($user); - }); + } $p->finish(); $output->writeln(''); } @@ -85,12 +80,15 @@ class ExpireTrash extends Command { } public function expireTrashForUser(IUser $user) { - $uid = $user->getUID(); - if (!$this->setupFS($uid)) { - return; + try { + $uid = $user->getUID(); + if (!$this->setupFS($uid)) { + return; + } + Trashbin::expire($uid); + } catch (\Throwable $e) { + $this->logger->error('Error while expiring trashbin for user ' . $user->getUID(), ['exception' => $e]); } - $dirContent = Helper::getTrashFiles('/', $uid, 'mtime'); - Trashbin::deleteExpiredFiles($dirContent, $uid); } /** @@ -103,7 +101,7 @@ class ExpireTrash extends Command { \OC_Util::setupFS($user); // Check if this user has a trashbin directory - $view = new \OC\Files\View('/' . $user); + $view = new View('/' . $user); if (!$view->is_dir('/files_trashbin/files')) { return false; } diff --git a/apps/files_trashbin/lib/Command/RestoreAllFiles.php b/apps/files_trashbin/lib/Command/RestoreAllFiles.php index dbfb4ed4cfd..ce31f759c0e 100644 --- a/apps/files_trashbin/lib/Command/RestoreAllFiles.php +++ b/apps/files_trashbin/lib/Command/RestoreAllFiles.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2021 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-only @@ -7,6 +8,7 @@ namespace OCA\Files_Trashbin\Command; use OC\Core\Command\Base; use OCA\Files_Trashbin\Trash\ITrashManager; +use OCA\Files_Trashbin\Trash\TrashItem; use OCP\Files\IRootFolder; use OCP\IDBConnection; use OCP\IL10N; @@ -31,17 +33,6 @@ class RestoreAllFiles extends Base { 'all' => self::SCOPE_ALL ]; - /** @var IUserManager */ - protected $userManager; - - /** @var IRootFolder */ - protected $rootFolder; - - /** @var \OCP\IDBConnection */ - protected $dbConnection; - - protected ITrashManager $trashManager; - /** @var IL10N */ protected $l10n; @@ -52,12 +43,14 @@ class RestoreAllFiles extends Base { * @param ITrashManager $trashManager * @param IFactory $l10nFactory */ - public function __construct(IRootFolder $rootFolder, IUserManager $userManager, IDBConnection $dbConnection, ITrashManager $trashManager, IFactory $l10nFactory) { + public function __construct( + protected IRootFolder $rootFolder, + protected IUserManager $userManager, + protected IDBConnection $dbConnection, + protected ITrashManager $trashManager, + IFactory $l10nFactory, + ) { parent::__construct(); - $this->userManager = $userManager; - $this->rootFolder = $rootFolder; - $this->dbConnection = $dbConnection; - $this->trashManager = $trashManager; $this->l10n = $l10nFactory->get('files_trashbin'); } @@ -88,13 +81,13 @@ class RestoreAllFiles extends Base { 'since', null, InputOption::VALUE_OPTIONAL, - 'Only restore files deleted after the given timestamp' + 'Only restore files deleted after the given date and time, see https://www.php.net/manual/en/function.strtotime.php for more information on supported formats' ) ->addOption( 'until', null, InputOption::VALUE_OPTIONAL, - 'Only restore files deleted before the given timestamp' + 'Only restore files deleted before the given date and time, see https://www.php.net/manual/en/function.strtotime.php for more information on supported formats' ) ->addOption( 'dry-run', @@ -167,13 +160,13 @@ class RestoreAllFiles extends Base { $trashCount = count($userTrashItems); if ($trashCount == 0) { - $output->writeln("User has no deleted files in the trashbin matching the given filters"); + $output->writeln('User has no deleted files in the trashbin matching the given filters'); return; } $prepMsg = $dryRun ? 'Would restore' : 'Preparing to restore'; $output->writeln("$prepMsg <info>$trashCount</info> files..."); $count = 0; - foreach($userTrashItems as $trashItem) { + foreach ($userTrashItems as $trashItem) { $filename = $trashItem->getName(); $humanTime = $this->l10n->l('datetime', $trashItem->getDeletedTime()); // We use getTitle() here instead of getOriginalLocation() because @@ -191,13 +184,13 @@ class RestoreAllFiles extends Base { try { $trashItem->getTrashBackend()->restoreItem($trashItem); } catch (\Throwable $e) { - $output->writeln(" <error>Failed: " . $e->getMessage() . "</error>"); - $output->writeln(" <error>" . $e->getTraceAsString() . "</error>", OutputInterface::VERBOSITY_VERY_VERBOSE); + $output->writeln(' <error>Failed: ' . $e->getMessage() . '</error>'); + $output->writeln(' <error>' . $e->getTraceAsString() . '</error>', OutputInterface::VERBOSITY_VERY_VERBOSE); continue; } $count++; - $output->writeln(" <info>success</info>"); + $output->writeln(' <info>success</info>'); } if (!$dryRun) { @@ -246,8 +239,8 @@ class RestoreAllFiles extends Base { $trashItemClass = get_class($trashItem); // Check scope with exact class name for locally deleted files - if ($scope === self::SCOPE_USER && $trashItemClass !== \OCA\Files_Trashbin\Trash\TrashItem::class) { - $output->writeln("Skipping <info>" . $trashItem->getName() . "</info> because it is not a user trash item", OutputInterface::VERBOSITY_VERBOSE); + if ($scope === self::SCOPE_USER && $trashItemClass !== TrashItem::class) { + $output->writeln('Skipping <info>' . $trashItem->getName() . '</info> because it is not a user trash item', OutputInterface::VERBOSITY_VERBOSE); continue; } @@ -257,19 +250,19 @@ class RestoreAllFiles extends Base { * @psalm-suppress RedundantCondition */ if ($scope === self::SCOPE_GROUPFOLDERS && $trashItemClass !== 'OCA\GroupFolders\Trash\GroupTrashItem') { - $output->writeln("Skipping <info>" . $trashItem->getName() . "</info> because it is not a groupfolders trash item", OutputInterface::VERBOSITY_VERBOSE); + $output->writeln('Skipping <info>' . $trashItem->getName() . '</info> because it is not a groupfolders trash item', OutputInterface::VERBOSITY_VERBOSE); continue; } // Check left timestamp boundary if ($since !== null && $trashItem->getDeletedTime() <= $since) { - $output->writeln("Skipping <info>" . $trashItem->getName() . "</info> because it was deleted before the 'since' timestamp", OutputInterface::VERBOSITY_VERBOSE); + $output->writeln('Skipping <info>' . $trashItem->getName() . "</info> because it was deleted before the 'since' timestamp", OutputInterface::VERBOSITY_VERBOSE); continue; } // Check right timestamp boundary if ($until !== null && $trashItem->getDeletedTime() >= $until) { - $output->writeln("Skipping <info>" . $trashItem->getName() . "</info> because it was deleted after the 'until' timestamp", OutputInterface::VERBOSITY_VERBOSE); + $output->writeln('Skipping <info>' . $trashItem->getName() . "</info> because it was deleted after the 'until' timestamp", OutputInterface::VERBOSITY_VERBOSE); continue; } diff --git a/apps/files_trashbin/lib/Command/Size.php b/apps/files_trashbin/lib/Command/Size.php index 6d0e745bf5c..9c19d4d92b3 100644 --- a/apps/files_trashbin/lib/Command/Size.php +++ b/apps/files_trashbin/lib/Command/Size.php @@ -13,26 +13,19 @@ use OCP\Command\IBus; use OCP\IConfig; use OCP\IUser; use OCP\IUserManager; +use OCP\Util; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Input\InputOption; use Symfony\Component\Console\Output\OutputInterface; class Size extends Base { - private $config; - private $userManager; - private $commandBus; - public function __construct( - IConfig $config, - IUserManager $userManager, - IBus $commandBus + private IConfig $config, + private IUserManager $userManager, + private IBus $commandBus, ) { parent::__construct(); - - $this->config = $config; - $this->userManager = $userManager; - $this->commandBus = $commandBus; } protected function configure() { @@ -53,9 +46,9 @@ class Size extends Base { $size = $input->getArgument('size'); if ($size) { - $parsedSize = \OC_Helper::computerFileSize($size); + $parsedSize = Util::computerFileSize($size); if ($parsedSize === false) { - $output->writeln("<error>Failed to parse input size</error>"); + $output->writeln('<error>Failed to parse input size</error>'); return -1; } if ($user) { @@ -63,8 +56,8 @@ class Size extends Base { $this->commandBus->push(new Expire($user)); } else { $this->config->setAppValue('files_trashbin', 'trashbin_size', (string)$parsedSize); - $output->writeln("<info>Warning: changing the default trashbin size will automatically trigger cleanup of existing trashbins,</info>"); - $output->writeln("<info>a users trashbin can exceed the configured size until they move a new file to the trashbin.</info>"); + $output->writeln('<info>Warning: changing the default trashbin size will automatically trigger cleanup of existing trashbins,</info>'); + $output->writeln('<info>a users trashbin can exceed the configured size until they move a new file to the trashbin.</info>'); } } else { $this->printTrashbinSize($input, $output, $user); @@ -76,9 +69,9 @@ class Size extends Base { private function printTrashbinSize(InputInterface $input, OutputInterface $output, ?string $user) { $globalSize = (int)$this->config->getAppValue('files_trashbin', 'trashbin_size', '-1'); if ($globalSize < 0) { - $globalHumanSize = "default (50% of available space)"; + $globalHumanSize = 'default (50% of available space)'; } else { - $globalHumanSize = \OC_Helper::humanFileSize($globalSize); + $globalHumanSize = Util::humanFileSize($globalSize); } if ($user) { @@ -87,7 +80,7 @@ class Size extends Base { if ($userSize < 0) { $userHumanSize = ($globalSize < 0) ? $globalHumanSize : "default($globalHumanSize)"; } else { - $userHumanSize = \OC_Helper::humanFileSize($userSize); + $userHumanSize = Util::humanFileSize($userSize); } if ($input->getOption('output') == self::OUTPUT_FORMAT_PLAIN) { @@ -103,21 +96,21 @@ class Size extends Base { } } else { $users = []; - $this->userManager->callForSeenUsers(function (IUser $user) use (&$users) { + $this->userManager->callForSeenUsers(function (IUser $user) use (&$users): void { $users[] = $user->getUID(); }); $userValues = $this->config->getUserValueForUsers('files_trashbin', 'trashbin_size', $users); if ($input->getOption('output') == self::OUTPUT_FORMAT_PLAIN) { $output->writeln("Default size: $globalHumanSize"); - $output->writeln(""); + $output->writeln(''); if (count($userValues)) { - $output->writeln("Per-user sizes:"); + $output->writeln('Per-user sizes:'); $this->writeArrayInOutputFormat($input, $output, array_map(function ($size) { - return \OC_Helper::humanFileSize($size); + return Util::humanFileSize($size); }, $userValues)); } else { - $output->writeln("No per-user sizes configured"); + $output->writeln('No per-user sizes configured'); } } else { $globalValue = ($globalSize < 0) ? 'default' : $globalSize; diff --git a/apps/files_trashbin/lib/Controller/PreviewController.php b/apps/files_trashbin/lib/Controller/PreviewController.php index b5b0dbcc1dd..a4e911d88ef 100644 --- a/apps/files_trashbin/lib/Controller/PreviewController.php +++ b/apps/files_trashbin/lib/Controller/PreviewController.php @@ -11,7 +11,11 @@ namespace OCA\Files_Trashbin\Controller; use OCA\Files_Trashbin\Trash\ITrashManager; use OCP\AppFramework\Controller; use OCP\AppFramework\Http; +use OCP\AppFramework\Http\Attribute\NoAdminRequired; +use OCP\AppFramework\Http\Attribute\NoCSRFRequired; +use OCP\AppFramework\Http\Attribute\OpenAPI; use OCP\AppFramework\Http\DataResponse; +use OCP\AppFramework\Http\FileDisplayResponse; use OCP\AppFramework\Utility\ITimeFactory; use OCP\Files\Folder; use OCP\Files\IMimeTypeDetector; @@ -21,49 +25,22 @@ use OCP\IPreview; use OCP\IRequest; use OCP\IUserSession; +#[OpenAPI(scope: OpenAPI::SCOPE_DEFAULT)] class PreviewController extends Controller { - /** @var IRootFolder */ - private $rootFolder; - - /** @var ITrashManager */ - private $trashManager; - - /** @var IUserSession */ - private $userSession; - - /** @var IMimeTypeDetector */ - private $mimeTypeDetector; - - /** @var IPreview */ - private $previewManager; - - /** @var ITimeFactory */ - private $time; - public function __construct( string $appName, IRequest $request, - IRootFolder $rootFolder, - ITrashManager $trashManager, - IUserSession $userSession, - IMimeTypeDetector $mimeTypeDetector, - IPreview $previewManager, - ITimeFactory $time + private IRootFolder $rootFolder, + private ITrashManager $trashManager, + private IUserSession $userSession, + private IMimeTypeDetector $mimeTypeDetector, + private IPreview $previewManager, + private ITimeFactory $time, ) { parent::__construct($appName, $request); - - $this->trashManager = $trashManager; - $this->rootFolder = $rootFolder; - $this->userSession = $userSession; - $this->mimeTypeDetector = $mimeTypeDetector; - $this->previewManager = $previewManager; - $this->time = $time; } /** - * @NoAdminRequired - * @NoCSRFRequired - * * Get the preview for a file * * @param int $fileId ID of the file @@ -71,12 +48,14 @@ class PreviewController extends Controller { * @param int $y Height of the preview * @param bool $a Whether to not crop the preview * - * @return Http\FileDisplayResponse<Http::STATUS_OK, array{Content-Type: string}>|DataResponse<Http::STATUS_BAD_REQUEST|Http::STATUS_NOT_FOUND, array<empty>, array{}> + * @return Http\FileDisplayResponse<Http::STATUS_OK, array{Content-Type: string}>|DataResponse<Http::STATUS_BAD_REQUEST|Http::STATUS_NOT_FOUND, list<empty>, array{}> * * 200: Preview returned * 400: Getting preview is not possible * 404: Preview not found */ + #[NoAdminRequired] + #[NoCSRFRequired] public function getPreview( int $fileId = -1, int $x = 32, @@ -110,7 +89,7 @@ class PreviewController extends Controller { } $f = $this->previewManager->getPreview($file, $x, $y, !$a, IPreview::MODE_FILL, $mimeType); - $response = new Http\FileDisplayResponse($f, Http::STATUS_OK, ['Content-Type' => $f->getMimeType()]); + $response = new FileDisplayResponse($f, Http::STATUS_OK, ['Content-Type' => $f->getMimeType()]); // Cache previews for 24H $response->cacheFor(3600 * 24); diff --git a/apps/files_trashbin/lib/Events/BeforeNodeRestoredEvent.php b/apps/files_trashbin/lib/Events/BeforeNodeRestoredEvent.php index 2aabd101d28..0bc6b37c35b 100644 --- a/apps/files_trashbin/lib/Events/BeforeNodeRestoredEvent.php +++ b/apps/files_trashbin/lib/Events/BeforeNodeRestoredEvent.php @@ -16,7 +16,11 @@ use OCP\Files\Node; * @since 28.0.0 */ class BeforeNodeRestoredEvent extends AbstractNodesEvent { - public function __construct(Node $source, Node $target, private bool &$run) { + public function __construct( + Node $source, + Node $target, + private bool &$run, + ) { parent::__construct($source, $target); } diff --git a/apps/files_trashbin/lib/Events/MoveToTrashEvent.php b/apps/files_trashbin/lib/Events/MoveToTrashEvent.php index ff54c67e178..0d776b606b1 100644 --- a/apps/files_trashbin/lib/Events/MoveToTrashEvent.php +++ b/apps/files_trashbin/lib/Events/MoveToTrashEvent.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -21,12 +22,10 @@ class MoveToTrashEvent extends Event { /** @var bool */ private $moveToTrashBin; - /** @var Node */ - private $node; - - public function __construct(Node $node) { + public function __construct( + private Node $node, + ) { $this->moveToTrashBin = true; - $this->node = $node; } /** diff --git a/apps/files_trashbin/lib/Exceptions/CopyRecursiveException.php b/apps/files_trashbin/lib/Exceptions/CopyRecursiveException.php index 9da2631c97b..3ea1293e5d7 100644 --- a/apps/files_trashbin/lib/Exceptions/CopyRecursiveException.php +++ b/apps/files_trashbin/lib/Exceptions/CopyRecursiveException.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only diff --git a/apps/files_trashbin/lib/Expiration.php b/apps/files_trashbin/lib/Expiration.php index 26826f63931..0bbe39a9314 100644 --- a/apps/files_trashbin/lib/Expiration.php +++ b/apps/files_trashbin/lib/Expiration.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -15,9 +16,6 @@ class Expiration { public const DEFAULT_RETENTION_OBLIGATION = 30; public const NO_OBLIGATION = -1; - /** @var ITimeFactory */ - private $timeFactory; - /** @var string */ private $retentionObligation; @@ -30,8 +28,10 @@ class Expiration { /** @var bool */ private $canPurgeToSaveSpace; - public function __construct(IConfig $config, ITimeFactory $timeFactory) { - $this->timeFactory = $timeFactory; + public function __construct( + IConfig $config, + private ITimeFactory $timeFactory, + ) { $this->setRetentionObligation($config->getSystemValue('trashbin_retention_obligation', 'auto')); } @@ -95,6 +95,20 @@ class Expiration { } /** + * Get minimal retention obligation as a timestamp + * + * @return int|false + */ + public function getMinAgeAsTimestamp() { + $minAge = false; + if ($this->isEnabled() && $this->minAge !== self::NO_OBLIGATION) { + $time = $this->timeFactory->getTime(); + $minAge = $time - ($this->minAge * 86400); + } + return $minAge; + } + + /** * @return bool|int */ public function getMaxAgeAsTimestamp() { diff --git a/apps/files_trashbin/lib/Helper.php b/apps/files_trashbin/lib/Helper.php index e08753b1783..746832e9280 100644 --- a/apps/files_trashbin/lib/Helper.php +++ b/apps/files_trashbin/lib/Helper.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -7,15 +8,18 @@ namespace OCA\Files_Trashbin; use OC\Files\FileInfo; +use OC\Files\View; use OCP\Constants; use OCP\Files\Cache\ICacheEntry; +use OCP\Files\IMimeTypeDetector; +use OCP\Server; class Helper { /** * Retrieves the contents of a trash bin directory. * * @param string $dir path to the directory inside the trashbin - * or empty to retrieve the root of the trashbin + * or empty to retrieve the root of the trashbin * @param string $user * @param string $sortAttribute attribute to sort on or empty to disable sorting * @param bool $sortDescending true for descending sort, false otherwise @@ -25,7 +29,7 @@ class Helper { $result = []; $timestamp = null; - $view = new \OC\Files\View('/' . $user . '/files_trashbin/files'); + $view = new View('/' . $user . '/files_trashbin/files'); if (ltrim($dir, '/') !== '' && !$view->is_dir($dir)) { throw new \Exception('Directory does not exists'); @@ -36,7 +40,7 @@ class Helper { $absoluteDir = $view->getAbsolutePath($dir); $internalPath = $mount->getInternalPath($absoluteDir); - $extraData = \OCA\Files_Trashbin\Trashbin::getExtraData($user); + $extraData = Trashbin::getExtraData($user); $dirContent = $storage->getCache()->getFolderContents($mount->getInternalPath($view->getAbsolutePath($dir))); foreach ($dirContent as $entry) { $entryName = $entry->getName(); @@ -62,7 +66,7 @@ class Helper { $i = [ 'name' => $name, 'mtime' => $timestamp, - 'mimetype' => $type === 'dir' ? 'httpd/unix-directory' : \OC::$server->getMimeTypeDetector()->detectPath($name), + 'mimetype' => $type === 'dir' ? 'httpd/unix-directory' : Server::get(IMimeTypeDetector::class)->detectPath($name), 'type' => $type, 'directory' => ($dir === '/') ? '' : $dir, 'size' => $entry->getSize(), @@ -98,7 +102,7 @@ class Helper { $entry = \OCA\Files\Helper::formatFileInfo($i); $entry['id'] = $i->getId(); $entry['etag'] = $entry['mtime']; // add fake etag, it is only needed to identify the preview image - $entry['permissions'] = \OCP\Constants::PERMISSION_READ; + $entry['permissions'] = Constants::PERMISSION_READ; $files[] = $entry; } return $files; diff --git a/apps/files_trashbin/lib/Hooks.php b/apps/files_trashbin/lib/Hooks.php deleted file mode 100644 index 1e2a8d41098..00000000000 --- a/apps/files_trashbin/lib/Hooks.php +++ /dev/null @@ -1,29 +0,0 @@ -<?php -/** - * SPDX-FileCopyrightText: 2021-2024 Nextcloud GmbH and Nextcloud contributors - * SPDX-FileCopyrightText: 2016 ownCloud, Inc. - * SPDX-License-Identifier: AGPL-3.0-only - */ -namespace OCA\Files_Trashbin; - -class Hooks { - - /** - * clean up user specific settings if user gets deleted - * @param array $params array with uid - * - * This function is connected to the pre_deleteUser signal of OC_Users - * to remove the used space for the trash bin stored in the database - */ - public static function deleteUser_hook($params) { - $uid = $params['uid']; - Trashbin::deleteUser($uid); - } - - public static function post_write_hook($params) { - $user = \OC_User::getUser(); - if (!empty($user)) { - Trashbin::resizeTrash($user); - } - } -} diff --git a/apps/files_trashbin/lib/Listener/EventListener.php b/apps/files_trashbin/lib/Listener/EventListener.php new file mode 100644 index 00000000000..63ecc9c81f7 --- /dev/null +++ b/apps/files_trashbin/lib/Listener/EventListener.php @@ -0,0 +1,44 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ + +namespace OCA\Files_Trashbin\Listener; + +use OCA\Files_Trashbin\Storage; +use OCA\Files_Trashbin\Trashbin; +use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IEventListener; +use OCP\Files\Events\BeforeFileSystemSetupEvent; +use OCP\Files\Events\Node\NodeWrittenEvent; +use OCP\User\Events\BeforeUserDeletedEvent; + +/** @template-implements IEventListener<NodeWrittenEvent|BeforeUserDeletedEvent|BeforeFileSystemSetupEvent> */ +class EventListener implements IEventListener { + public function __construct( + private ?string $userId = null, + ) { + } + + public function handle(Event $event): void { + if ($event instanceof NodeWrittenEvent) { + // Resize trash + if (!empty($this->userId)) { + Trashbin::resizeTrash($this->userId); + } + } + + // Clean up user specific settings if user gets deleted + if ($event instanceof BeforeUserDeletedEvent) { + Trashbin::deleteUser($event->getUser()->getUID()); + } + + if ($event instanceof BeforeFileSystemSetupEvent) { + Storage::setupStorage(); + } + } +} diff --git a/apps/files_trashbin/lib/Listeners/BeforeTemplateRendered.php b/apps/files_trashbin/lib/Listeners/BeforeTemplateRendered.php new file mode 100644 index 00000000000..d62618583f7 --- /dev/null +++ b/apps/files_trashbin/lib/Listeners/BeforeTemplateRendered.php @@ -0,0 +1,32 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\Files_Trashbin\Listeners; + +use OCA\Files_Sharing\Event\BeforeTemplateRenderedEvent; +use OCA\Files_Trashbin\Service\ConfigService; +use OCP\AppFramework\Services\IInitialState; +use OCP\EventDispatcher\Event; +use OCP\EventDispatcher\IEventListener; + +/** @template-implements IEventListener<BeforeTemplateRenderedEvent> */ +class BeforeTemplateRendered implements IEventListener { + public function __construct( + private IInitialState $initialState, + ) { + } + + public function handle(Event $event): void { + if (!($event instanceof BeforeTemplateRenderedEvent)) { + return; + } + + ConfigService::injectInitialState($this->initialState); + } +} diff --git a/apps/files_trashbin/lib/Listeners/LoadAdditionalScripts.php b/apps/files_trashbin/lib/Listeners/LoadAdditionalScripts.php index 192dac97dd3..7940b934ace 100644 --- a/apps/files_trashbin/lib/Listeners/LoadAdditionalScripts.php +++ b/apps/files_trashbin/lib/Listeners/LoadAdditionalScripts.php @@ -10,17 +10,26 @@ namespace OCA\Files_Trashbin\Listeners; use OCA\Files\Event\LoadAdditionalScriptsEvent; use OCA\Files_Trashbin\AppInfo\Application; +use OCA\Files_Trashbin\Service\ConfigService; +use OCP\AppFramework\Services\IInitialState; use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventListener; use OCP\Util; /** @template-implements IEventListener<LoadAdditionalScriptsEvent> */ class LoadAdditionalScripts implements IEventListener { + public function __construct( + private IInitialState $initialState, + ) { + } + public function handle(Event $event): void { if (!($event instanceof LoadAdditionalScriptsEvent)) { return; } - Util::addScript(Application::APP_ID, 'main'); + Util::addInitScript(Application::APP_ID, 'init'); + + ConfigService::injectInitialState($this->initialState); } } diff --git a/apps/files_trashbin/lib/Listeners/SyncLivePhotosListener.php b/apps/files_trashbin/lib/Listeners/SyncLivePhotosListener.php index cf76c8f3616..2cb3a94aa1d 100644 --- a/apps/files_trashbin/lib/Listeners/SyncLivePhotosListener.php +++ b/apps/files_trashbin/lib/Listeners/SyncLivePhotosListener.php @@ -76,7 +76,7 @@ class SyncLivePhotosListener implements IEventListener { unset($this->pendingRestores[$peerFile->getId()]); return; } else { - $event->abortOperation(new NotPermittedException("Cannot restore the video part of a live photo")); + $event->abortOperation(new NotPermittedException('Cannot restore the video part of a live photo')); } } else { $user = $this->userSession?->getUser(); @@ -112,9 +112,9 @@ class SyncLivePhotosListener implements IEventListener { * TODO: This should be replaced by a proper method in the TrashManager. */ private function getTrashItem(array $trashFolder, string $path): ?ITrashItem { - foreach($trashFolder as $trashItem) { - if (str_starts_with($path, "files_trashbin/files".$trashItem->getTrashPath())) { - if ($path === "files_trashbin/files".$trashItem->getTrashPath()) { + foreach ($trashFolder as $trashItem) { + if (str_starts_with($path, 'files_trashbin/files' . $trashItem->getTrashPath())) { + if ($path === 'files_trashbin/files' . $trashItem->getTrashPath()) { return $trashItem; } diff --git a/apps/files_trashbin/lib/Migration/Version1020Date20240403003535.php b/apps/files_trashbin/lib/Migration/Version1020Date20240403003535.php index a977f5be43a..3e85edf40b6 100644 --- a/apps/files_trashbin/lib/Migration/Version1020Date20240403003535.php +++ b/apps/files_trashbin/lib/Migration/Version1020Date20240403003535.php @@ -12,9 +12,12 @@ namespace OCA\Files_Trashbin\Migration; use Closure; use OCP\DB\ISchemaWrapper; use OCP\DB\Types; +use OCP\Migration\Attributes\AddColumn; +use OCP\Migration\Attributes\ColumnType; use OCP\Migration\IOutput; use OCP\Migration\SimpleMigrationStep; +#[AddColumn(table: 'files_trash', name: 'deleted_by', type: ColumnType::STRING)] class Version1020Date20240403003535 extends SimpleMigrationStep { /** diff --git a/apps/files_trashbin/lib/Sabre/AbstractTrash.php b/apps/files_trashbin/lib/Sabre/AbstractTrash.php index e46a7d5d638..f032395437b 100644 --- a/apps/files_trashbin/lib/Sabre/AbstractTrash.php +++ b/apps/files_trashbin/lib/Sabre/AbstractTrash.php @@ -8,21 +8,18 @@ declare(strict_types=1); */ namespace OCA\Files_Trashbin\Sabre; +use OCA\Files_Trashbin\Service\ConfigService; use OCA\Files_Trashbin\Trash\ITrashItem; use OCA\Files_Trashbin\Trash\ITrashManager; use OCP\Files\FileInfo; use OCP\IUser; +use Sabre\DAV\Exception\Forbidden; abstract class AbstractTrash implements ITrash { - /** @var ITrashItem */ - protected $data; - - /** @var ITrashManager */ - protected $trashManager; - - public function __construct(ITrashManager $trashManager, ITrashItem $data) { - $this->trashManager = $trashManager; - $this->data = $data; + public function __construct( + protected ITrashManager $trashManager, + protected ITrashItem $data, + ) { } public function getFilename(): string { @@ -78,6 +75,10 @@ abstract class AbstractTrash implements ITrash { } public function delete() { + if (!ConfigService::getDeleteFromTrashEnabled()) { + throw new Forbidden('Not allowed to delete items from the trash bin'); + } + $this->trashManager->removeItem($this->data); } diff --git a/apps/files_trashbin/lib/Sabre/RootCollection.php b/apps/files_trashbin/lib/Sabre/RootCollection.php index f626bfd7ee1..8886dae0895 100644 --- a/apps/files_trashbin/lib/Sabre/RootCollection.php +++ b/apps/files_trashbin/lib/Sabre/RootCollection.php @@ -10,22 +10,19 @@ namespace OCA\Files_Trashbin\Sabre; use OCA\Files_Trashbin\Trash\ITrashManager; use OCP\IConfig; +use OCP\IUserSession; +use OCP\Server; use Sabre\DAV\INode; use Sabre\DAVACL\AbstractPrincipalCollection; use Sabre\DAVACL\PrincipalBackend; class RootCollection extends AbstractPrincipalCollection { - /** @var ITrashManager */ - private $trashManager; - public function __construct( - ITrashManager $trashManager, + private ITrashManager $trashManager, PrincipalBackend\BackendInterface $principalBackend, - IConfig $config + IConfig $config, ) { parent::__construct($principalBackend, 'principals/users'); - - $this->trashManager = $trashManager; $this->disableListing = !$config->getSystemValue('debug', false); } @@ -41,7 +38,7 @@ class RootCollection extends AbstractPrincipalCollection { */ public function getChildForPrincipal(array $principalInfo): TrashHome { [, $name] = \Sabre\Uri\split($principalInfo['uri']); - $user = \OC::$server->getUserSession()->getUser(); + $user = Server::get(IUserSession::class)->getUser(); if (is_null($user) || $name !== $user->getUID()) { throw new \Sabre\DAV\Exception\Forbidden(); } diff --git a/apps/files_trashbin/lib/Sabre/TrashHome.php b/apps/files_trashbin/lib/Sabre/TrashHome.php index edea2744e6f..fc291c76f17 100644 --- a/apps/files_trashbin/lib/Sabre/TrashHome.php +++ b/apps/files_trashbin/lib/Sabre/TrashHome.php @@ -15,23 +15,11 @@ use Sabre\DAV\Exception\NotFound; use Sabre\DAV\ICollection; class TrashHome implements ICollection { - /** @var ITrashManager */ - private $trashManager; - - /** @var array */ - private $principalInfo; - - /** @var IUser */ - private $user; - public function __construct( - array $principalInfo, - ITrashManager $trashManager, - IUser $user + private array $principalInfo, + private ITrashManager $trashManager, + private IUser $user, ) { - $this->principalInfo = $principalInfo; - $this->trashManager = $trashManager; - $this->user = $user; } public function delete() { diff --git a/apps/files_trashbin/lib/Sabre/TrashRoot.php b/apps/files_trashbin/lib/Sabre/TrashRoot.php index ff2ea3aaa02..dd89583d9a1 100644 --- a/apps/files_trashbin/lib/Sabre/TrashRoot.php +++ b/apps/files_trashbin/lib/Sabre/TrashRoot.php @@ -8,8 +8,10 @@ declare(strict_types=1); */ namespace OCA\Files_Trashbin\Sabre; +use OCA\Files_Trashbin\Service\ConfigService; use OCA\Files_Trashbin\Trash\ITrashItem; use OCA\Files_Trashbin\Trash\ITrashManager; +use OCA\Files_Trashbin\Trashbin; use OCP\Files\FileInfo; use OCP\IUser; use Sabre\DAV\Exception\Forbidden; @@ -18,19 +20,18 @@ use Sabre\DAV\ICollection; class TrashRoot implements ICollection { - /** @var IUser */ - private $user; - - /** @var ITrashManager */ - private $trashManager; - - public function __construct(IUser $user, ITrashManager $trashManager) { - $this->user = $user; - $this->trashManager = $trashManager; + public function __construct( + private IUser $user, + private ITrashManager $trashManager, + ) { } public function delete() { - \OCA\Files_Trashbin\Trashbin::deleteAll(); + if (!ConfigService::getDeleteFromTrashEnabled()) { + throw new Forbidden('Not allowed to delete items from the trash bin'); + } + + Trashbin::deleteAll(); foreach ($this->trashManager->listTrashRoot($this->user) as $trashItem) { $this->trashManager->removeItem($trashItem); } diff --git a/apps/files_trashbin/lib/Sabre/TrashbinPlugin.php b/apps/files_trashbin/lib/Sabre/TrashbinPlugin.php index ffa6aa6ae6d..54bb1326966 100644 --- a/apps/files_trashbin/lib/Sabre/TrashbinPlugin.php +++ b/apps/files_trashbin/lib/Sabre/TrashbinPlugin.php @@ -8,8 +8,12 @@ declare(strict_types=1); */ namespace OCA\Files_Trashbin\Sabre; +use OC\Files\FileInfo; +use OC\Files\View; use OCA\DAV\Connector\Sabre\FilesPlugin; +use OCA\Files_Trashbin\Trash\ITrashItem; use OCP\IPreview; +use Psr\Log\LoggerInterface; use Sabre\DAV\INode; use Sabre\DAV\PropFind; use Sabre\DAV\Server; @@ -24,17 +28,15 @@ class TrashbinPlugin extends ServerPlugin { public const TRASHBIN_TITLE = '{http://nextcloud.org/ns}trashbin-title'; public const TRASHBIN_DELETED_BY_ID = '{http://nextcloud.org/ns}trashbin-deleted-by-id'; public const TRASHBIN_DELETED_BY_DISPLAY_NAME = '{http://nextcloud.org/ns}trashbin-deleted-by-display-name'; + public const TRASHBIN_BACKEND = '{http://nextcloud.org/ns}trashbin-backend'; /** @var Server */ private $server; - /** @var IPreview */ - private $previewManager; - public function __construct( - IPreview $previewManager + private IPreview $previewManager, + private View $view, ) { - $this->previewManager = $previewManager; } public function initialize(Server $server) { @@ -42,6 +44,7 @@ class TrashbinPlugin extends ServerPlugin { $this->server->on('propFind', [$this, 'propFind']); $this->server->on('afterMethod:GET', [$this,'httpGet']); + $this->server->on('beforeMove', [$this, 'beforeMove']); } @@ -74,6 +77,11 @@ class TrashbinPlugin extends ServerPlugin { return $node->getDeletedBy()?->getDisplayName(); }); + // Pass the real filename as the DAV display name + $propFind->handle(FilesPlugin::DISPLAYNAME_PROPERTYNAME, function () use ($node) { + return $node->getFilename(); + }); + $propFind->handle(FilesPlugin::SIZE_PROPERTYNAME, function () use ($node) { return $node->getSize(); }); @@ -96,13 +104,21 @@ class TrashbinPlugin extends ServerPlugin { return $node->getFileId(); }); - $propFind->handle(FilesPlugin::HAS_PREVIEW_PROPERTYNAME, function () use ($node) { - return $this->previewManager->isAvailable($node->getFileInfo()); + $propFind->handle(FilesPlugin::HAS_PREVIEW_PROPERTYNAME, function () use ($node): string { + return $this->previewManager->isAvailable($node->getFileInfo()) ? 'true' : 'false'; }); $propFind->handle(FilesPlugin::MOUNT_TYPE_PROPERTYNAME, function () { return ''; }); + + $propFind->handle(self::TRASHBIN_BACKEND, function () use ($node) { + $fileInfo = $node->getFileInfo(); + if (!($fileInfo instanceof ITrashItem)) { + return ''; + } + return $fileInfo->getTrashBackend()::class; + }); } /** @@ -118,4 +134,47 @@ class TrashbinPlugin extends ServerPlugin { $response->addHeader('Content-Disposition', 'attachment; filename="' . $node->getFilename() . '"'); } } + + /** + * Check if a user has available space before attempting to + * restore from trashbin unless they have unlimited quota. + * + * @param string $sourcePath + * @param string $destinationPath + * @return bool + */ + public function beforeMove(string $sourcePath, string $destinationPath): bool { + try { + $node = $this->server->tree->getNodeForPath($sourcePath); + $destinationNodeParent = $this->server->tree->getNodeForPath(dirname($destinationPath)); + } catch (\Sabre\DAV\Exception $e) { + \OCP\Server::get(LoggerInterface::class) + ->error($e->getMessage(), ['app' => 'files_trashbin', 'exception' => $e]); + return true; + } + + // Check if a file is being restored before proceeding + if (!$node instanceof ITrash || !$destinationNodeParent instanceof RestoreFolder) { + return true; + } + + $fileInfo = $node->getFileInfo(); + if (!$fileInfo instanceof ITrashItem) { + return true; + } + $restoreFolder = dirname($fileInfo->getOriginalLocation()); + $freeSpace = $this->view->free_space($restoreFolder); + if ($freeSpace === FileInfo::SPACE_NOT_COMPUTED + || $freeSpace === FileInfo::SPACE_UNKNOWN + || $freeSpace === FileInfo::SPACE_UNLIMITED) { + return true; + } + $filesize = $fileInfo->getSize(); + if ($freeSpace < $filesize) { + $this->server->httpResponse->setStatus(507); + return false; + } + + return true; + } } diff --git a/apps/files_trashbin/lib/Service/ConfigService.php b/apps/files_trashbin/lib/Service/ConfigService.php new file mode 100644 index 00000000000..9e7826fe580 --- /dev/null +++ b/apps/files_trashbin/lib/Service/ConfigService.php @@ -0,0 +1,27 @@ +<?php + +declare(strict_types=1); + +namespace OCA\Files_Trashbin\Service; + +use OCP\AppFramework\Services\IInitialState; +use OCP\IConfig; +use OCP\Server; + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +class ConfigService { + public static function getDeleteFromTrashEnabled(): bool { + return Server::get(IConfig::class)->getSystemValueBool('files.trash.delete', true); + } + + public static function injectInitialState(IInitialState $initialState): void { + $initialState->provideLazyInitialState('config', function () { + return [ + 'allow_delete' => ConfigService::getDeleteFromTrashEnabled(), + ]; + }); + } +} diff --git a/apps/files_trashbin/lib/Storage.php b/apps/files_trashbin/lib/Storage.php index 5cfa05dd5e5..82b7af5a934 100644 --- a/apps/files_trashbin/lib/Storage.php +++ b/apps/files_trashbin/lib/Storage.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -10,66 +11,47 @@ use OC\Files\Filesystem; use OC\Files\Storage\Wrapper\Wrapper; use OCA\Files_Trashbin\Events\MoveToTrashEvent; use OCA\Files_Trashbin\Trash\ITrashManager; +use OCP\App\IAppManager; use OCP\Encryption\Exceptions\GenericEncryptionException; use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\IRootFolder; use OCP\Files\Node; use OCP\Files\Storage\IStorage; +use OCP\IRequest; use OCP\IUserManager; +use OCP\Server; use Psr\Log\LoggerInterface; class Storage extends Wrapper { private string $mountPoint; - private IUserManager$userManager; - private LoggerInterface $logger; - private IEventDispatcher $eventDispatcher; - private IRootFolder $rootFolder; - private ITrashManager $trashManager; private bool $trashEnabled = true; /** * Storage constructor. - * * @param array $parameters - * @param ITrashManager|null $trashManager - * @param IUserManager|null $userManager - * @param LoggerInterface|null $logger - * @param IEventDispatcher|null $eventDispatcher - * @param IRootFolder|null $rootFolder */ public function __construct( $parameters, - ?ITrashManager $trashManager = null, - ?IUserManager $userManager = null, - ?LoggerInterface $logger = null, - ?IEventDispatcher $eventDispatcher = null, - ?IRootFolder $rootFolder = null + private ?ITrashManager $trashManager = null, + private ?IUserManager $userManager = null, + private ?LoggerInterface $logger = null, + private ?IEventDispatcher $eventDispatcher = null, + private ?IRootFolder $rootFolder = null, + private ?IRequest $request = null, ) { $this->mountPoint = $parameters['mountPoint']; - $this->trashManager = $trashManager; - $this->userManager = $userManager; - $this->logger = $logger; - $this->eventDispatcher = $eventDispatcher; - $this->rootFolder = $rootFolder; parent::__construct($parameters); } - /** - * Deletes the given file by moving it into the trashbin. - * - * @param string $path path of file or folder to delete - * - * @return bool true if the operation succeeded, false otherwise - */ - public function unlink($path) { + public function unlink(string $path): bool { if ($this->trashEnabled) { try { return $this->doDelete($path, 'unlink'); } catch (GenericEncryptionException $e) { // in case of a encryption exception we delete the file right away $this->logger->info( - "Can't move file " . $path . - " to the trash bin, therefore it was deleted right away"); + "Can't move file " . $path + . ' to the trash bin, therefore it was deleted right away'); return $this->storage->unlink($path); } @@ -78,14 +60,7 @@ class Storage extends Wrapper { } } - /** - * Deletes the given folder by moving it into the trashbin. - * - * @param string $path path of folder to delete - * - * @return bool true if the operation succeeded, false otherwise - */ - public function rmdir($path) { + public function rmdir(string $path): bool { if ($this->trashEnabled) { return $this->doDelete($path, 'rmdir'); } else { @@ -96,11 +71,8 @@ class Storage extends Wrapper { /** * check if it is a file located in data/user/files only files in the * 'files' directory should be moved to the trash - * - * @param $path - * @return bool */ - protected function shouldMoveToTrash($path) { + protected function shouldMoveToTrash(string $path): bool { $normalized = Filesystem::normalizePath($this->mountPoint . '/' . $path); $parts = explode('/', $normalized); if (count($parts) < 4 || strpos($normalized, '/appdata_') === 0) { @@ -138,7 +110,7 @@ class Storage extends Wrapper { * @param Node $node * @return MoveToTrashEvent */ - protected function createMoveToTrashEvent(Node $node) { + protected function createMoveToTrashEvent(Node $node): MoveToTrashEvent { return new MoveToTrashEvent($node); } @@ -150,41 +122,42 @@ class Storage extends Wrapper { * * @return bool true if the operation succeeded, false otherwise */ - private function doDelete($path, $method) { - if ( - !\OC::$server->getAppManager()->isEnabledForUser('files_trashbin') - || (pathinfo($path, PATHINFO_EXTENSION) === 'part') - || $this->shouldMoveToTrash($path) === false - ) { - return call_user_func([$this->storage, $method], $path); - } + private function doDelete(string $path, string $method): bool { + $isTrashbinEnabled = Server::get(IAppManager::class)->isEnabledForUser('files_trashbin'); + $isPartFile = pathinfo($path, PATHINFO_EXTENSION) === 'part'; + $isSkipTrashHeaderSet = $this->request !== null && $this->request->getHeader('X-NC-Skip-Trashbin') === 'true'; + // We keep the shouldMoveToTrash call at the end to prevent emitting unnecessary event. + $shouldMoveToTrash = $isTrashbinEnabled && !$isPartFile && !$isSkipTrashHeaderSet && $this->shouldMoveToTrash($path); + + if ($shouldMoveToTrash) { + // check permissions before we continue, this is especially important for + // shared files + if (!$this->isDeletable($path)) { + return false; + } - // check permissions before we continue, this is especially important for - // shared files - if (!$this->isDeletable($path)) { - return false; + $isMovedToTrash = $this->trashManager->moveToTrash($this, $path); + if ($isMovedToTrash) { + return true; + } } - $isMovedToTrash = $this->trashManager->moveToTrash($this, $path); - if (!$isMovedToTrash) { - return call_user_func([$this->storage, $method], $path); - } else { - return true; - } + return call_user_func([$this->storage, $method], $path); } /** * Setup the storage wrapper callback */ - public static function setupStorage() { - $trashManager = \OC::$server->get(ITrashManager::class); - $userManager = \OC::$server->get(IUserManager::class); - $logger = \OC::$server->get(LoggerInterface::class); - $eventDispatcher = \OC::$server->get(IEventDispatcher::class); - $rootFolder = \OC::$server->get(IRootFolder::class); + public static function setupStorage(): void { + $trashManager = Server::get(ITrashManager::class); + $userManager = Server::get(IUserManager::class); + $logger = Server::get(LoggerInterface::class); + $eventDispatcher = Server::get(IEventDispatcher::class); + $rootFolder = Server::get(IRootFolder::class); + $request = Server::get(IRequest::class); Filesystem::addStorageWrapper( 'oc_trashbin', - function (string $mountPoint, IStorage $storage) use ($trashManager, $userManager, $logger, $eventDispatcher, $rootFolder) { + function (string $mountPoint, IStorage $storage) use ($trashManager, $userManager, $logger, $eventDispatcher, $rootFolder, $request) { return new Storage( ['storage' => $storage, 'mountPoint' => $mountPoint], $trashManager, @@ -192,6 +165,7 @@ class Storage extends Wrapper { $logger, $eventDispatcher, $rootFolder, + $request, ); }, 1); @@ -201,7 +175,7 @@ class Storage extends Wrapper { return $this->mountPoint; } - public function moveFromStorage(IStorage $sourceStorage, $sourceInternalPath, $targetInternalPath) { + public function moveFromStorage(IStorage $sourceStorage, string $sourceInternalPath, string $targetInternalPath): bool { $sourceIsTrashbin = $sourceStorage->instanceOfStorage(Storage::class); try { // the fallback for moving between storage involves a copy+delete @@ -225,11 +199,11 @@ class Storage extends Wrapper { } } - protected function disableTrash() { + protected function disableTrash(): void { $this->trashEnabled = false; } - protected function enableTrash() { + protected function enableTrash(): void { $this->trashEnabled = true; } } diff --git a/apps/files_trashbin/lib/Trash/BackendNotFoundException.php b/apps/files_trashbin/lib/Trash/BackendNotFoundException.php index 8e23a04851a..292b6ee293c 100644 --- a/apps/files_trashbin/lib/Trash/BackendNotFoundException.php +++ b/apps/files_trashbin/lib/Trash/BackendNotFoundException.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/apps/files_trashbin/lib/Trash/ITrashBackend.php b/apps/files_trashbin/lib/Trash/ITrashBackend.php index f5d4657bfbc..11b3132bfba 100644 --- a/apps/files_trashbin/lib/Trash/ITrashBackend.php +++ b/apps/files_trashbin/lib/Trash/ITrashBackend.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/apps/files_trashbin/lib/Trash/ITrashItem.php b/apps/files_trashbin/lib/Trash/ITrashItem.php index f67276e6f54..299cac49a69 100644 --- a/apps/files_trashbin/lib/Trash/ITrashItem.php +++ b/apps/files_trashbin/lib/Trash/ITrashItem.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/apps/files_trashbin/lib/Trash/ITrashManager.php b/apps/files_trashbin/lib/Trash/ITrashManager.php index 4a2eaead11b..743ea01358a 100644 --- a/apps/files_trashbin/lib/Trash/ITrashManager.php +++ b/apps/files_trashbin/lib/Trash/ITrashManager.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php b/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php index 862c746c239..204defde35c 100644 --- a/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php +++ b/apps/files_trashbin/lib/Trash/LegacyTrashBackend.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -92,7 +93,7 @@ class LegacyTrashBackend implements ITrashBackend { $this->deletedFiles[$normalized] = $normalized; if ($filesPath = $view->getRelativePath($normalized)) { $filesPath = trim($filesPath, '/'); - $result = \OCA\Files_Trashbin\Trashbin::move2trash($filesPath); + $result = Trashbin::move2trash($filesPath); } else { $result = false; } diff --git a/apps/files_trashbin/lib/Trash/TrashItem.php b/apps/files_trashbin/lib/Trash/TrashItem.php index 31dbb10def2..2ae999a2069 100644 --- a/apps/files_trashbin/lib/Trash/TrashItem.php +++ b/apps/files_trashbin/lib/Trash/TrashItem.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later diff --git a/apps/files_trashbin/lib/Trash/TrashManager.php b/apps/files_trashbin/lib/Trash/TrashManager.php index bf3eaebdc2a..521a576c00a 100644 --- a/apps/files_trashbin/lib/Trash/TrashManager.php +++ b/apps/files_trashbin/lib/Trash/TrashManager.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2018 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -60,8 +61,8 @@ class TrashManager implements ITrashManager { $fullType = get_class($storage); $foundType = array_reduce(array_keys($this->backends), function ($type, $registeredType) use ($storage) { if ( - $storage->instanceOfStorage($registeredType) && - ($type === '' || is_subclass_of($registeredType, $type)) + $storage->instanceOfStorage($registeredType) + && ($type === '' || is_subclass_of($registeredType, $type)) ) { return $registeredType; } else { diff --git a/apps/files_trashbin/lib/Trashbin.php b/apps/files_trashbin/lib/Trashbin.php index 831bf0686ce..667066c2fca 100644 --- a/apps/files_trashbin/lib/Trashbin.php +++ b/apps/files_trashbin/lib/Trashbin.php @@ -1,4 +1,5 @@ <?php + /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -11,45 +12,58 @@ use OC\Files\Cache\Cache; use OC\Files\Cache\CacheEntry; use OC\Files\Cache\CacheQueryBuilder; use OC\Files\Filesystem; -use OC\Files\Node\File; -use OC\Files\Node\Folder; use OC\Files\Node\NonExistingFile; use OC\Files\Node\NonExistingFolder; -use OC\Files\ObjectStore\ObjectStoreStorage; use OC\Files\View; +use OC\User\NoUserException; use OC_User; use OCA\Files_Trashbin\AppInfo\Application; use OCA\Files_Trashbin\Command\Expire; use OCA\Files_Trashbin\Events\BeforeNodeRestoredEvent; use OCA\Files_Trashbin\Events\NodeRestoredEvent; +use OCA\Files_Trashbin\Exceptions\CopyRecursiveException; +use OCA\Files_Versions\Storage; use OCP\App\IAppManager; use OCP\AppFramework\Utility\ITimeFactory; +use OCP\Command\IBus; +use OCP\EventDispatcher\Event; use OCP\EventDispatcher\IEventDispatcher; +use OCP\EventDispatcher\IEventListener; +use OCP\Files\Events\Node\BeforeNodeDeletedEvent; +use OCP\Files\File; +use OCP\Files\Folder; +use OCP\Files\IMimeTypeLoader; use OCP\Files\IRootFolder; use OCP\Files\Node; use OCP\Files\NotFoundException; use OCP\Files\NotPermittedException; +use OCP\Files\Storage\ILockingStorage; +use OCP\Files\Storage\IStorage; use OCP\FilesMetadata\IFilesMetadataManager; use OCP\IConfig; +use OCP\IDBConnection; +use OCP\IURLGenerator; +use OCP\IUserManager; use OCP\Lock\ILockingProvider; use OCP\Lock\LockedException; +use OCP\Server; +use OCP\Util; use Psr\Log\LoggerInterface; -class Trashbin { +/** @template-implements IEventListener<BeforeNodeDeletedEvent> */ +class Trashbin implements IEventListener { // unit: percentage; 50% of available disk space/quota public const DEFAULTMAXSIZE = 50; /** * Ensure we don't need to scan the file during the move to trash * by triggering the scan in the pre-hook - * - * @param array $params */ - public static function ensureFileScannedHook($params) { + public static function ensureFileScannedHook(Node $node): void { try { - self::getUidAndFilename($params['path']); + self::getUidAndFilename($node->getPath()); } catch (NotFoundException $e) { - // nothing to scan for non existing files + // Nothing to scan for non existing files } } @@ -59,11 +73,11 @@ class Trashbin { * * @param string $filename * @return array - * @throws \OC\User\NoUserException + * @throws NoUserException */ public static function getUidAndFilename($filename) { $uid = Filesystem::getOwner($filename); - $userManager = \OC::$server->getUserManager(); + $userManager = Server::get(IUserManager::class); // if the user with the UID doesn't exists, e.g. because the UID points // to a remote user with a federated cloud ID we use the current logged-in // user. We need a valid local user to move the file to the right trash bin @@ -94,7 +108,7 @@ class Trashbin { * @return array<string, array<string, array{location: string, deletedBy: string}>> */ public static function getExtraData($user) { - $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->select('id', 'timestamp', 'location', 'deleted_by') ->from('files_trash') ->where($query->expr()->eq('user', $query->createNamedParameter($user))); @@ -116,10 +130,10 @@ class Trashbin { * @param string $user * @param string $filename * @param string $timestamp - * @return string original location + * @return string|false original location */ public static function getLocation($user, $filename, $timestamp) { - $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->select('location') ->from('files_trash') ->where($query->expr()->eq('user', $query->createNamedParameter($user))) @@ -137,7 +151,8 @@ class Trashbin { } } - private static function setUpTrash($user) { + /** @param string $user */ + private static function setUpTrash($user): void { $view = new View('/' . $user); if (!$view->is_dir('files_trashbin')) { $view->mkdir('files_trashbin'); @@ -160,10 +175,10 @@ class Trashbin { * @param string $sourcePath * @param string $owner * @param string $targetPath - * @param $user + * @param string $user * @param int $timestamp */ - private static function copyFilesToUser($sourcePath, $owner, $targetPath, $user, $timestamp) { + private static function copyFilesToUser($sourcePath, $owner, $targetPath, $user, $timestamp): void { self::setUpTrash($owner); $targetFilename = basename($targetPath); @@ -184,7 +199,7 @@ class Trashbin { if ($view->file_exists($target)) { - $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->insert('files_trash') ->setValue('id', $query->createNamedParameter($targetFilename)) ->setValue('timestamp', $query->createNamedParameter($timestamp)) @@ -193,7 +208,7 @@ class Trashbin { ->setValue('deleted_by', $query->createNamedParameter($user)); $result = $query->executeStatement(); if (!$result) { - \OC::$server->get(LoggerInterface::class)->error('trash bin database couldn\'t be updated for the files owner', ['app' => 'files_trashbin']); + Server::get(LoggerInterface::class)->error('trash bin database couldn\'t be updated for the files owner', ['app' => 'files_trashbin']); } } } @@ -243,20 +258,19 @@ class Trashbin { $filename = $path_parts['basename']; $location = $path_parts['dirname']; /** @var ITimeFactory $timeFactory */ - $timeFactory = \OC::$server->query(ITimeFactory::class); + $timeFactory = Server::get(ITimeFactory::class); $timestamp = $timeFactory->getTime(); - $lockingProvider = \OC::$server->getLockingProvider(); + $lockingProvider = Server::get(ILockingProvider::class); // disable proxy to prevent recursive calls $trashPath = '/files_trashbin/files/' . static::getTrashFilename($filename, $timestamp); $gotLock = false; - while (!$gotLock) { + do { + /** @var ILockingStorage & IStorage $trashStorage */ + [$trashStorage, $trashInternalPath] = $ownerView->resolvePath($trashPath); try { - /** @var \OC\Files\Storage\Storage $trashStorage */ - [$trashStorage, $trashInternalPath] = $ownerView->resolvePath($trashPath); - $trashStorage->acquireLock($trashInternalPath, ILockingProvider::LOCK_EXCLUSIVE, $lockingProvider); $gotLock = true; } catch (LockedException $e) { @@ -267,7 +281,7 @@ class Trashbin { $trashPath = '/files_trashbin/files/' . static::getTrashFilename($filename, $timestamp); } - } + } while (!$gotLock); $sourceStorage = $sourceInfo->getStorage(); $sourceInternalPath = $sourceInfo->getInternalPath(); @@ -281,21 +295,19 @@ class Trashbin { return false; } - $trashStorage->getUpdater()->renameFromStorage($sourceStorage, $sourceInternalPath, $trashInternalPath); - try { $moveSuccessful = true; - // when moving within the same object store, the cache update done above is enough to move the file - if (!($trashStorage->instanceOfStorage(ObjectStoreStorage::class) && $trashStorage->getId() === $sourceStorage->getId())) { - $trashStorage->moveFromStorage($sourceStorage, $sourceInternalPath, $trashInternalPath); + $trashStorage->moveFromStorage($sourceStorage, $sourceInternalPath, $trashInternalPath); + if ($sourceStorage->getCache()->inCache($sourceInternalPath)) { + $trashStorage->getUpdater()->renameFromStorage($sourceStorage, $sourceInternalPath, $trashInternalPath); } - } catch (\OCA\Files_Trashbin\Exceptions\CopyRecursiveException $e) { + } catch (CopyRecursiveException $e) { $moveSuccessful = false; if ($trashStorage->file_exists($trashInternalPath)) { $trashStorage->unlink($trashInternalPath); } - \OC::$server->get(LoggerInterface::class)->error('Couldn\'t move ' . $file_path . ' to the trash bin', ['app' => 'files_trashbin']); + Server::get(LoggerInterface::class)->error('Couldn\'t move ' . $file_path . ' to the trash bin', ['app' => 'files_trashbin']); } if ($sourceStorage->file_exists($sourceInternalPath)) { // failed to delete the original file, abort @@ -315,7 +327,7 @@ class Trashbin { } if ($moveSuccessful) { - $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->insert('files_trash') ->setValue('id', $query->createNamedParameter($filename)) ->setValue('timestamp', $query->createNamedParameter($timestamp)) @@ -324,9 +336,9 @@ class Trashbin { ->setValue('deleted_by', $query->createNamedParameter($user)); $result = $query->executeStatement(); if (!$result) { - \OC::$server->get(LoggerInterface::class)->error('trash bin database couldn\'t be updated', ['app' => 'files_trashbin']); + Server::get(LoggerInterface::class)->error('trash bin database couldn\'t be updated', ['app' => 'files_trashbin']); } - \OCP\Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_moveToTrash', ['filePath' => Filesystem::normalizePath($file_path), + Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_moveToTrash', ['filePath' => Filesystem::normalizePath($file_path), 'trashPath' => Filesystem::normalizePath(static::getTrashFilename($filename, $timestamp))]); self::retainVersions($filename, $owner, $ownerPath, $timestamp); @@ -350,14 +362,14 @@ class Trashbin { } private static function getConfiguredTrashbinSize(string $user): int|float { - $config = \OC::$server->get(IConfig::class); + $config = Server::get(IConfig::class); $userTrashbinSize = $config->getUserValue($user, 'files_trashbin', 'trashbin_size', '-1'); if (is_numeric($userTrashbinSize) && ($userTrashbinSize > -1)) { - return \OCP\Util::numericToNumber($userTrashbinSize); + return Util::numericToNumber($userTrashbinSize); } $systemTrashbinSize = $config->getAppValue('files_trashbin', 'trashbin_size', '-1'); if (is_numeric($systemTrashbinSize)) { - return \OCP\Util::numericToNumber($systemTrashbinSize); + return Util::numericToNumber($systemTrashbinSize); } return -1; } @@ -371,7 +383,7 @@ class Trashbin { * @param int $timestamp when the file was deleted */ private static function retainVersions($filename, $owner, $ownerPath, $timestamp) { - if (\OCP\Server::get(IAppManager::class)->isEnabledForUser('files_versions') && !empty($ownerPath)) { + if (Server::get(IAppManager::class)->isEnabledForUser('files_versions') && !empty($ownerPath)) { $user = OC_User::getUser(); $rootView = new View('/'); @@ -380,7 +392,7 @@ class Trashbin { self::copy_recursive($owner . '/files_versions/' . $ownerPath, $owner . '/files_trashbin/versions/' . static::getTrashFilename(basename($ownerPath), $timestamp), $rootView); } self::move($rootView, $owner . '/files_versions/' . $ownerPath, $user . '/files_trashbin/versions/' . static::getTrashFilename($filename, $timestamp)); - } elseif ($versions = \OCA\Files_Versions\Storage::getVersions($owner, $ownerPath)) { + } elseif ($versions = Storage::getVersions($owner, $ownerPath)) { foreach ($versions as $v) { if ($owner !== $user) { self::copy($rootView, $owner . '/files_versions' . $v['path'] . '.v' . $v['version'], $owner . '/files_trashbin/versions/' . static::getTrashFilename($v['name'] . '.v' . $v['version'], $timestamp)); @@ -439,7 +451,7 @@ class Trashbin { * Restore a file or folder from trash bin * * @param string $file path to the deleted file/folder relative to "files_trashbin/files/", - * including the timestamp suffix ".d12345678" + * including the timestamp suffix ".d12345678" * @param string $filename name of the file/folder * @param int $timestamp time when the file/folder was deleted * @@ -453,12 +465,12 @@ class Trashbin { if ($timestamp) { $location = self::getLocation($user, $filename, $timestamp); if ($location === false) { - \OC::$server->get(LoggerInterface::class)->error('trash bin database inconsistent! ($user: ' . $user . ' $filename: ' . $filename . ', $timestamp: ' . $timestamp . ')', ['app' => 'files_trashbin']); + Server::get(LoggerInterface::class)->error('trash bin database inconsistent! ($user: ' . $user . ' $filename: ' . $filename . ', $timestamp: ' . $timestamp . ')', ['app' => 'files_trashbin']); } else { // if location no longer exists, restore file in the root directory - if ($location !== '/' && - (!$view->is_dir('files/' . $location) || - !$view->isCreatable('files/' . $location)) + if ($location !== '/' + && (!$view->is_dir('files/' . $location) + || !$view->isCreatable('files/' . $location)) ) { $location = ''; } @@ -487,7 +499,7 @@ class Trashbin { $targetNode = self::getNodeForPath($targetPath); $run = true; $event = new BeforeNodeRestoredEvent($sourceNode, $targetNode, $run); - $dispatcher = \OC::$server->get(IEventDispatcher::class); + $dispatcher = Server::get(IEventDispatcher::class); $dispatcher->dispatchTyped($event); if (!$run) { @@ -502,18 +514,18 @@ class Trashbin { $view->chroot('/' . $user . '/files'); $view->touch('/' . $location . '/' . $uniqueFilename, $mtime); $view->chroot($fakeRoot); - \OCP\Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_restore', ['filePath' => $targetPath, 'trashPath' => $sourcePath]); + Util::emitHook('\OCA\Files_Trashbin\Trashbin', 'post_restore', ['filePath' => $targetPath, 'trashPath' => $sourcePath]); $sourceNode = self::getNodeForPath($sourcePath); $targetNode = self::getNodeForPath($targetPath); $event = new NodeRestoredEvent($sourceNode, $targetNode); - $dispatcher = \OC::$server->get(IEventDispatcher::class); + $dispatcher = Server::get(IEventDispatcher::class); $dispatcher->dispatchTyped($event); self::restoreVersions($view, $file, $filename, $uniqueFilename, $location, $timestamp); if ($timestamp) { - $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->delete('files_trash') ->where($query->expr()->eq('user', $query->createNamedParameter($user))) ->andWhere($query->expr()->eq('id', $query->createNamedParameter($filename))) @@ -539,7 +551,7 @@ class Trashbin { * @return false|null */ private static function restoreVersions(View $view, $file, $filename, $uniqueFilename, $location, $timestamp) { - if (\OCP\Server::get(IAppManager::class)->isEnabledForUser('files_versions')) { + if (Server::get(IAppManager::class)->isEnabledForUser('files_versions')) { $user = OC_User::getUser(); $rootView = new View('/'); @@ -605,7 +617,7 @@ class Trashbin { // actual file deletion $trash->delete(); - $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->delete('files_trash') ->where($query->expr()->eq('user', $query->createNamedParameter($user))); $query->executeStatement(); @@ -657,7 +669,7 @@ class Trashbin { $size = 0; if ($timestamp) { - $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->delete('files_trash') ->where($query->expr()->eq('user', $query->createNamedParameter($user))) ->andWhere($query->expr()->eq('id', $query->createNamedParameter($filename))) @@ -697,7 +709,7 @@ class Trashbin { */ private static function deleteVersions(View $view, $file, $filename, $timestamp, string $user): int|float { $size = 0; - if (\OCP\Server::get(IAppManager::class)->isEnabledForUser('files_versions')) { + if (Server::get(IAppManager::class)->isEnabledForUser('files_versions')) { if ($view->is_dir('files_trashbin/versions/' . $file)) { $size += self::calculateSize(new View('/' . $user . '/files_trashbin/versions/' . $file)); $view->unlink('files_trashbin/versions/' . $file); @@ -742,10 +754,10 @@ class Trashbin { * @return bool result of db delete operation */ public static function deleteUser($uid) { - $query = \OC::$server->getDatabaseConnection()->getQueryBuilder(); + $query = Server::get(IDBConnection::class)->getQueryBuilder(); $query->delete('files_trash') ->where($query->expr()->eq('user', $query->createNamedParameter($uid))); - return (bool) $query->executeStatement(); + return (bool)$query->executeStatement(); } /** @@ -761,7 +773,7 @@ class Trashbin { return $configuredTrashbinSize - $trashbinSize; } - $userObject = \OC::$server->getUserManager()->get($user); + $userObject = Server::get(IUserManager::class)->get($user); if (is_null($userObject)) { return 0; } @@ -775,7 +787,7 @@ class Trashbin { $quota = PHP_INT_MAX; } } else { - $quota = \OCP\Util::computerFileSize($quota); + $quota = Util::computerFileSize($quota); // invalid quota if ($quota === false) { $quota = PHP_INT_MAX; @@ -799,7 +811,7 @@ class Trashbin { $availableSpace = $quota; } - return \OCP\Util::numericToNumber($availableSpace); + return Util::numericToNumber($availableSpace); } /** @@ -843,10 +855,10 @@ class Trashbin { private static function scheduleExpire($user) { // let the admin disable auto expire /** @var Application $application */ - $application = \OC::$server->query(Application::class); + $application = Server::get(Application::class); $expiration = $application->getContainer()->query('Expiration'); if ($expiration->isEnabled()) { - \OC::$server->getCommandBus()->push(new Expire($user)); + Server::get(IBus::class)->push(new Expire($user)); } } @@ -861,7 +873,7 @@ class Trashbin { */ protected static function deleteFiles(array $files, string $user, int|float $availableSpace): int|float { /** @var Application $application */ - $application = \OC::$server->query(Application::class); + $application = Server::get(Application::class); $expiration = $application->getContainer()->query('Expiration'); $size = 0; @@ -869,7 +881,13 @@ class Trashbin { foreach ($files as $file) { if ($availableSpace < 0 && $expiration->isExpired($file['mtime'], true)) { $tmp = self::delete($file['name'], $user, $file['mtime']); - \OC::$server->get(LoggerInterface::class)->info('remove "' . $file['name'] . '" (' . $tmp . 'B) to meet the limit of trash bin size (50% of available quota)', ['app' => 'files_trashbin']); + Server::get(LoggerInterface::class)->info( + 'remove "' . $file['name'] . '" (' . $tmp . 'B) to meet the limit of trash bin size (50% of available quota) for user "{user}"', + [ + 'app' => 'files_trashbin', + 'user' => $user, + ] + ); $availableSpace += $tmp; $size += $tmp; } else { @@ -889,7 +907,7 @@ class Trashbin { */ public static function deleteExpiredFiles($files, $user) { /** @var Expiration $expiration */ - $expiration = \OC::$server->query(Expiration::class); + $expiration = Server::get(Expiration::class); $size = 0; $count = 0; foreach ($files as $file) { @@ -899,17 +917,21 @@ class Trashbin { try { $size += self::delete($filename, $user, $timestamp); $count++; - } catch (\OCP\Files\NotPermittedException $e) { - \OC::$server->get(LoggerInterface::class)->warning('Removing "' . $filename . '" from trashbin failed.', + } catch (NotPermittedException $e) { + Server::get(LoggerInterface::class)->warning('Removing "' . $filename . '" from trashbin failed for user "{user}"', [ 'exception' => $e, 'app' => 'files_trashbin', + 'user' => $user, ] ); } - \OC::$server->get(LoggerInterface::class)->info( - 'Remove "' . $filename . '" from trashbin because it exceeds max retention obligation term.', - ['app' => 'files_trashbin'] + Server::get(LoggerInterface::class)->info( + 'Remove "' . $filename . '" from trashbin for user "{user}" because it exceeds max retention obligation term.', + [ + 'app' => 'files_trashbin', + 'user' => $user, + ], ); } else { break; @@ -941,7 +963,7 @@ class Trashbin { $size += $view->filesize($pathDir); $result = $view->copy($pathDir, $destination . '/' . $i['name']); if (!$result) { - throw new \OCA\Files_Trashbin\Exceptions\CopyRecursiveException(); + throw new CopyRecursiveException(); } $view->touch($destination . '/' . $i['name'], $view->filemtime($pathDir)); } @@ -950,7 +972,7 @@ class Trashbin { $size += $view->filesize($source); $result = $view->copy($source, $destination); if (!$result) { - throw new \OCA\Files_Trashbin\Exceptions\CopyRecursiveException(); + throw new CopyRecursiveException(); } $view->touch($destination, $view->filemtime($source)); } @@ -970,10 +992,10 @@ class Trashbin { /** @var \OC\Files\Storage\Storage $storage */ [$storage,] = $view->resolvePath('/'); - $pattern = \OC::$server->getDatabaseConnection()->escapeLikeParameter(basename($filename)); + $pattern = Server::get(IDBConnection::class)->escapeLikeParameter(basename($filename)); if ($timestamp) { // fetch for old versions - $escapedTimestamp = \OC::$server->getDatabaseConnection()->escapeLikeParameter($timestamp); + $escapedTimestamp = Server::get(IDBConnection::class)->escapeLikeParameter((string)$timestamp); $pattern .= '.v%.d' . $escapedTimestamp; $offset = -strlen($escapedTimestamp) - 2; } else { @@ -983,12 +1005,10 @@ class Trashbin { // Manually fetch all versions from the file cache to be able to filter them by their parent $cache = $storage->getCache(''); $query = new CacheQueryBuilder( - \OC::$server->getDatabaseConnection(), - \OC::$server->getSystemConfig(), - \OC::$server->get(LoggerInterface::class), - \OC::$server->get(IFilesMetadataManager::class), + Server::get(IDBConnection::class)->getQueryBuilder(), + Server::get(IFilesMetadataManager::class), ); - $normalizedParentPath = ltrim(Filesystem::normalizePath(dirname('files_trashbin/versions/'. $filename)), '/'); + $normalizedParentPath = ltrim(Filesystem::normalizePath(dirname('files_trashbin/versions/' . $filename)), '/'); $parentId = $cache->getId($normalizedParentPath); if ($parentId === -1) { return []; @@ -1005,7 +1025,7 @@ class Trashbin { /** @var CacheEntry[] $matches */ $matches = array_map(function (array $data) { - return Cache::cacheEntryFromData($data, \OC::$server->getMimeTypeLoader()); + return Cache::cacheEntryFromData($data, Server::get(IMimeTypeLoader::class)); }, $entries); foreach ($matches as $ma) { @@ -1032,7 +1052,7 @@ class Trashbin { private static function getUniqueFilename($location, $filename, View $view) { $ext = pathinfo($filename, PATHINFO_EXTENSION); $name = pathinfo($filename, PATHINFO_FILENAME); - $l = \OCP\Util::getL10N('files_trashbin'); + $l = Util::getL10N('files_trashbin'); $location = '/' . trim($location, '/'); @@ -1043,9 +1063,9 @@ class Trashbin { if ($view->file_exists('files' . $location . '/' . $filename)) { $i = 2; - $uniqueName = $name . " (" . $l->t("restored") . ")" . $ext; + $uniqueName = $name . ' (' . $l->t('restored') . ')' . $ext; while ($view->file_exists('files' . $location . '/' . $uniqueName)) { - $uniqueName = $name . " (" . $l->t("restored") . " " . $i . ")" . $ext; + $uniqueName = $name . ' (' . $l->t('restored') . ' ' . $i . ')' . $ext; $i++; } @@ -1062,7 +1082,7 @@ class Trashbin { * @return int|float size of the folder */ private static function calculateSize(View $view): int|float { - $root = \OC::$server->getConfig()->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . $view->getAbsolutePath(''); + $root = Server::get(IConfig::class)->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . $view->getAbsolutePath(''); if (!file_exists($root)) { return 0; } @@ -1107,7 +1127,7 @@ class Trashbin { public static function isEmpty($user) { $view = new View('/' . $user . '/files_trashbin'); if ($view->is_dir('/files') && $dh = $view->opendir('/files')) { - while ($file = readdir($dh)) { + while (($file = readdir($dh)) !== false) { if (!Filesystem::isIgnoredDir($file)) { return false; } @@ -1121,7 +1141,7 @@ class Trashbin { * @return string */ public static function preview_icon($path) { - return \OC::$server->getURLGenerator()->linkToRoute('core_ajax_trashbin_preview', ['x' => 32, 'y' => 32, 'file' => $path]); + return Server::get(IURLGenerator::class)->linkToRoute('core_ajax_trashbin_preview', ['x' => 32, 'y' => 32, 'file' => $path]); } /** @@ -1145,7 +1165,7 @@ class Trashbin { private static function getNodeForPath(string $path): Node { $user = OC_User::getUser(); - $rootFolder = \OC::$server->get(IRootFolder::class); + $rootFolder = Server::get(IRootFolder::class); if ($user !== false) { $userFolder = $rootFolder->getUserFolder($user); @@ -1157,7 +1177,7 @@ class Trashbin { } } - $view = \OC::$server->get(View::class); + $view = Server::get(View::class); $fsView = Filesystem::getView(); if ($fsView === null) { throw new Exception('View should not be null'); @@ -1171,4 +1191,10 @@ class Trashbin { return new NonExistingFile($rootFolder, $view, $fullPath); } } + + public function handle(Event $event): void { + if ($event instanceof BeforeNodeDeletedEvent) { + self::ensureFileScannedHook($event->getNode()); + } + } } diff --git a/apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php b/apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php index b0eb1cda797..baff1ef6032 100644 --- a/apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php +++ b/apps/files_trashbin/lib/UserMigration/TrashbinMigrator.php @@ -10,6 +10,7 @@ declare(strict_types=1); namespace OCA\Files_Trashbin\UserMigration; use OCA\Files_Trashbin\AppInfo\Application; +use OCA\Files_Trashbin\Trashbin; use OCP\Files\Folder; use OCP\Files\IRootFolder; use OCP\Files\NotFoundException; @@ -28,23 +29,14 @@ class TrashbinMigrator implements IMigrator, ISizeEstimationMigrator { use TMigratorBasicVersionHandling; - protected const PATH_FILES_FOLDER = Application::APP_ID.'/files'; - protected const PATH_LOCATIONS_FILE = Application::APP_ID.'/locations.json'; - - protected IRootFolder $root; - - protected IDBConnection $dbc; - - protected IL10N $l10n; + protected const PATH_FILES_FOLDER = Application::APP_ID . '/files'; + protected const PATH_LOCATIONS_FILE = Application::APP_ID . '/locations.json'; public function __construct( - IRootFolder $rootFolder, - IDBConnection $dbc, - IL10N $l10n + protected IRootFolder $root, + protected IDBConnection $dbc, + protected IL10N $l10n, ) { - $this->root = $rootFolder; - $this->dbc = $dbc; - $this->l10n = $l10n; } /** @@ -54,7 +46,7 @@ class TrashbinMigrator implements IMigrator, ISizeEstimationMigrator { $uid = $user->getUID(); try { - $trashbinFolder = $this->root->get('/'.$uid.'/files_trashbin'); + $trashbinFolder = $this->root->get('/' . $uid . '/files_trashbin'); if (!$trashbinFolder instanceof Folder) { return 0; } @@ -73,15 +65,15 @@ class TrashbinMigrator implements IMigrator, ISizeEstimationMigrator { $uid = $user->getUID(); try { - $trashbinFolder = $this->root->get('/'.$uid.'/files_trashbin'); + $trashbinFolder = $this->root->get('/' . $uid . '/files_trashbin'); if (!$trashbinFolder instanceof Folder) { - throw new UserMigrationException('/'.$uid.'/files_trashbin is not a folder'); + throw new UserMigrationException('/' . $uid . '/files_trashbin is not a folder'); } - $output->writeln("Exporting trashbin files…"); + $output->writeln('Exporting trashbin files…'); $exportDestination->copyFolder($trashbinFolder, static::PATH_FILES_FOLDER); $originalLocations = []; // TODO Export all extra data and bump migrator to v2 - foreach (\OCA\Files_Trashbin\Trashbin::getExtraData($uid) as $filename => $extraData) { + foreach (Trashbin::getExtraData($uid) as $filename => $extraData) { $locationData = []; foreach ($extraData as $timestamp => ['location' => $location]) { $locationData[$timestamp] = $location; @@ -90,9 +82,9 @@ class TrashbinMigrator implements IMigrator, ISizeEstimationMigrator { } $exportDestination->addFileContents(static::PATH_LOCATIONS_FILE, json_encode($originalLocations)); } catch (NotFoundException $e) { - $output->writeln("No trashbin to export…"); + $output->writeln('No trashbin to export…'); } catch (\Throwable $e) { - throw new UserMigrationException("Could not export trashbin: ".$e->getMessage(), 0, $e); + throw new UserMigrationException('Could not export trashbin: ' . $e->getMessage(), 0, $e); } } @@ -111,18 +103,18 @@ class TrashbinMigrator implements IMigrator, ISizeEstimationMigrator { if ($importSource->pathExists(static::PATH_FILES_FOLDER)) { try { - $trashbinFolder = $this->root->get('/'.$uid.'/files_trashbin'); + $trashbinFolder = $this->root->get('/' . $uid . '/files_trashbin'); if (!$trashbinFolder instanceof Folder) { - throw new UserMigrationException('Could not import trashbin, /'.$uid.'/files_trashbin is not a folder'); + throw new UserMigrationException('Could not import trashbin, /' . $uid . '/files_trashbin is not a folder'); } } catch (NotFoundException $e) { - $trashbinFolder = $this->root->newFolder('/'.$uid.'/files_trashbin'); + $trashbinFolder = $this->root->newFolder('/' . $uid . '/files_trashbin'); } - $output->writeln("Importing trashbin files…"); + $output->writeln('Importing trashbin files…'); try { $importSource->copyToFolder($trashbinFolder, static::PATH_FILES_FOLDER); } catch (\Throwable $e) { - throw new UserMigrationException("Could not import trashbin.", 0, $e); + throw new UserMigrationException('Could not import trashbin.', 0, $e); } $locations = json_decode($importSource->getFileContents(static::PATH_LOCATIONS_FILE), true, 512, JSON_THROW_ON_ERROR); $qb = $this->dbc->getQueryBuilder(); @@ -145,7 +137,7 @@ class TrashbinMigrator implements IMigrator, ISizeEstimationMigrator { } } } else { - $output->writeln("No trashbin to import…"); + $output->writeln('No trashbin to import…'); } } diff --git a/apps/files_trashbin/openapi.json b/apps/files_trashbin/openapi.json index 2103047c282..716d34db641 100644 --- a/apps/files_trashbin/openapi.json +++ b/apps/files_trashbin/openapi.json @@ -29,11 +29,15 @@ "files": { "type": "object", "required": [ - "undelete" + "undelete", + "delete_from_trash" ], "properties": { "undelete": { "type": "boolean" + }, + "delete_from_trash": { + "type": "boolean" } } } @@ -135,4 +139,4 @@ } }, "tags": [] -}
\ No newline at end of file +} diff --git a/apps/files_trashbin/src/columns.ts b/apps/files_trashbin/src/columns.ts deleted file mode 100644 index d7c453f63e2..00000000000 --- a/apps/files_trashbin/src/columns.ts +++ /dev/null @@ -1,126 +0,0 @@ -/** - * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -import moment from '@nextcloud/moment' -import { Column, Node } from '@nextcloud/files' -import { getCurrentUser } from '@nextcloud/auth' -import { dirname } from '@nextcloud/paths' -import { translate as t } from '@nextcloud/l10n' - -import Vue from 'vue' -import NcUserBubble from '@nextcloud/vue/dist/Components/NcUserBubble.js' - -const parseOriginalLocation = (node: Node): string => { - const path = node.attributes?.['trashbin-original-location'] !== undefined ? String(node.attributes?.['trashbin-original-location']) : null - if (!path) { - return t('files_trashbin', 'Unknown') - } - const dir = dirname(path) - if (dir === path) { // Node is in root folder - return t('files_trashbin', 'All files') - } - return dir.replace(/^\//, '') -} - -interface DeletedBy { - userId: null | string - displayName: null | string - label: null | string -} - -const generateLabel = (userId: null | string, displayName: null | string) => { - const currentUserId = getCurrentUser()?.uid - if (userId === currentUserId) { - return t('files_trashbin', 'You') - } - if (!userId && !displayName) { - return t('files_trashbin', 'Unknown') - } - return null -} - -const parseDeletedBy = (node: Node): DeletedBy => { - const userId = node.attributes?.['trashbin-deleted-by-id'] !== undefined ? String(node.attributes?.['trashbin-deleted-by-id']) : null - const displayName = node.attributes?.['trashbin-deleted-by-display-name'] !== undefined ? String(node.attributes?.['trashbin-deleted-by-display-name']) : null - const label = generateLabel(userId, displayName) - return { - userId, - displayName, - label, - } -} - -const originalLocation = new Column({ - id: 'original-location', - title: t('files_trashbin', 'Original location'), - render(node) { - const originalLocation = parseOriginalLocation(node) - const span = document.createElement('span') - span.title = originalLocation - span.textContent = originalLocation - return span - }, - sort(nodeA, nodeB) { - const locationA = parseOriginalLocation(nodeA) - const locationB = parseOriginalLocation(nodeB) - return locationA.localeCompare(locationB) - }, -}) - -const deletedBy = new Column({ - id: 'deleted-by', - title: t('files_trashbin', 'Deleted by'), - render(node) { - const { userId, displayName, label } = parseDeletedBy(node) - if (label) { - const span = document.createElement('span') - span.textContent = label - return span - } - - const UserBubble = Vue.extend(NcUserBubble) - const propsData = { - size: 32, - user: userId ?? undefined, - displayName: displayName ?? t('files_trashbin', 'Unknown'), - } - const userBubble = new UserBubble({ propsData }).$mount().$el - return userBubble as HTMLElement - }, - sort(nodeA, nodeB) { - const deletedByA = parseDeletedBy(nodeA).label ?? parseDeletedBy(nodeA).displayName ?? t('files_trashbin', 'Unknown') - const deletedByB = parseDeletedBy(nodeB).label ?? parseDeletedBy(nodeB).displayName ?? t('files_trashbin', 'Unknown') - return deletedByA.localeCompare(deletedByB) - }, -}) - -const deleted = new Column({ - id: 'deleted', - title: t('files_trashbin', 'Deleted'), - render(node) { - const deletionTime = node.attributes?.['trashbin-deletion-time'] - const span = document.createElement('span') - if (deletionTime) { - span.title = moment.unix(deletionTime).format('LLL') - span.textContent = moment.unix(deletionTime).fromNow() - return span - } - - // Unknown deletion time - span.textContent = t('files_trashbin', 'A long time ago') - return span - }, - sort(nodeA, nodeB) { - const deletionTimeA = nodeA.attributes?.['trashbin-deletion-time'] || nodeA?.mtime || 0 - const deletionTimeB = nodeB.attributes?.['trashbin-deletion-time'] || nodeB?.mtime || 0 - return deletionTimeB - deletionTimeA - }, -}) - -export const columns = [ - originalLocation, - deletedBy, - deleted, -] diff --git a/apps/files_trashbin/src/files-init.ts b/apps/files_trashbin/src/files-init.ts new file mode 100644 index 00000000000..edb09027804 --- /dev/null +++ b/apps/files_trashbin/src/files-init.ts @@ -0,0 +1,17 @@ +/** + * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { getNavigation, registerFileAction, registerFileListAction } from '@nextcloud/files' +import { restoreAction } from './files_actions/restoreAction.ts' +import { emptyTrashAction } from './files_listActions/emptyTrashAction.ts' +import { trashbinView } from './files_views/trashbinView.ts' + +import './trashbin.scss' + +const Navigation = getNavigation() +Navigation.register(trashbinView) + +registerFileListAction(emptyTrashAction) +registerFileAction(restoreAction) diff --git a/apps/files_trashbin/src/files_actions/restoreAction.spec.ts b/apps/files_trashbin/src/files_actions/restoreAction.spec.ts new file mode 100644 index 00000000000..4863eb6d00a --- /dev/null +++ b/apps/files_trashbin/src/files_actions/restoreAction.spec.ts @@ -0,0 +1,145 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { Folder } from '@nextcloud/files' +import { beforeEach, describe, expect, it, vi } from 'vitest' +import * as ncEventBus from '@nextcloud/event-bus' +import isSvg from 'is-svg' + +import { trashbinView } from '../files_views/trashbinView.ts' +import { restoreAction } from './restoreAction.ts' +import { PERMISSION_ALL, PERMISSION_NONE } from '../../../../core/src/OC/constants.js' + +const axiosMock = vi.hoisted(() => ({ + request: vi.fn(), +})) +vi.mock('@nextcloud/axios', () => ({ default: axiosMock })) +vi.mock('@nextcloud/auth') + +describe('files_trashbin: file actions - restore action', () => { + it('has id set', () => { + expect(restoreAction.id).toBe('restore') + }) + + it('has order set', () => { + // very high priority! + expect(restoreAction.order).toBe(1) + }) + + it('is an inline action', () => { + const node = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/' }) + + expect(restoreAction.inline).toBeTypeOf('function') + expect(restoreAction.inline!(node, trashbinView)).toBe(true) + }) + + it('has the display name set', () => { + const node = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/' }) + + expect(restoreAction.displayName([node], trashbinView)).toBe('Restore') + }) + + it('has an icon set', () => { + const node = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/' }) + + const icon = restoreAction.iconSvgInline([node], trashbinView) + expect(icon).toBeTypeOf('string') + expect(isSvg(icon)).toBe(true) + }) + + it('is enabled for trashbin view', () => { + const nodes = [ + new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/', permissions: PERMISSION_ALL }), + ] + + expect(restoreAction.enabled).toBeTypeOf('function') + expect(restoreAction.enabled!(nodes, trashbinView)).toBe(true) + }) + + it('is not enabled when permissions are missing', () => { + const nodes = [ + new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/', permissions: PERMISSION_NONE }), + ] + + expect(restoreAction.enabled).toBeTypeOf('function') + expect(restoreAction.enabled!(nodes, trashbinView)).toBe(false) + }) + + it('is not enabled when no nodes are selected', () => { + expect(restoreAction.enabled).toBeTypeOf('function') + expect(restoreAction.enabled!([], trashbinView)).toBe(false) + }) + + it('is not enabled for other views', () => { + const nodes = [ + new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/', permissions: PERMISSION_ALL }), + ] + + const otherView = new Proxy(trashbinView, { + get(target, p) { + if (p === 'id') { + return 'other-view' + } + return target[p] + }, + }) + + expect(restoreAction.enabled).toBeTypeOf('function') + expect(restoreAction.enabled!(nodes, otherView)).toBe(false) + }) + + describe('execute', () => { + beforeEach(() => { + axiosMock.request.mockReset() + }) + + it('send restore request', async () => { + const node = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/', permissions: PERMISSION_ALL }) + + expect(await restoreAction.exec(node, trashbinView, '/')).toBe(true) + expect(axiosMock.request).toBeCalled() + expect(axiosMock.request.mock.calls[0][0].method).toBe('MOVE') + expect(axiosMock.request.mock.calls[0][0].url).toBe(node.encodedSource) + expect(axiosMock.request.mock.calls[0][0].headers.destination).toContain('/restore/') + }) + + it('deletes node from current view after successfull request', async () => { + const node = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/', permissions: PERMISSION_ALL }) + + const emitSpy = vi.spyOn(ncEventBus, 'emit') + + expect(await restoreAction.exec(node, trashbinView, '/')).toBe(true) + expect(axiosMock.request).toBeCalled() + expect(emitSpy).toBeCalled() + expect(emitSpy).toBeCalledWith('files:node:deleted', node) + }) + + it('does not delete node from view if reuest failed', async () => { + const node = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/', permissions: PERMISSION_ALL }) + + axiosMock.request.mockImplementationOnce(() => { throw new Error() }) + const emitSpy = vi.spyOn(ncEventBus, 'emit') + + expect(await restoreAction.exec(node, trashbinView, '/')).toBe(false) + expect(axiosMock.request).toBeCalled() + expect(emitSpy).not.toBeCalled() + }) + + it('batch: only returns success if all requests worked', async () => { + const node = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/', permissions: PERMISSION_ALL }) + + expect(await restoreAction.execBatch!([node, node], trashbinView, '/')).toStrictEqual([true, true]) + expect(axiosMock.request).toBeCalledTimes(2) + }) + + it('batch: only returns success if all requests worked - one failed', async () => { + const node = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/', permissions: PERMISSION_ALL }) + + axiosMock.request.mockImplementationOnce(() => { throw new Error() }) + expect(await restoreAction.execBatch!([node, node], trashbinView, '/')).toStrictEqual([false, true]) + expect(axiosMock.request).toBeCalledTimes(2) + }) + }) +}) diff --git a/apps/files_trashbin/src/actions/restoreAction.ts b/apps/files_trashbin/src/files_actions/restoreAction.ts index cda82fda466..3aeeceea7b3 100644 --- a/apps/files_trashbin/src/actions/restoreAction.ts +++ b/apps/files_trashbin/src/files_actions/restoreAction.ts @@ -2,40 +2,45 @@ * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later */ +import { getCurrentUser } from '@nextcloud/auth' +import { showError } from '@nextcloud/dialogs' import { emit } from '@nextcloud/event-bus' +import { Permission, Node, View, FileAction } from '@nextcloud/files' +import { t } from '@nextcloud/l10n' +import { encodePath } from '@nextcloud/paths' import { generateRemoteUrl } from '@nextcloud/router' -import { getCurrentUser } from '@nextcloud/auth' -import { Permission, Node, View, registerFileAction, FileAction } from '@nextcloud/files' -import { translate as t } from '@nextcloud/l10n' import axios from '@nextcloud/axios' -import History from '@mdi/svg/svg/history.svg?raw' +import svgHistory from '@mdi/svg/svg/history.svg?raw' -import logger from '../../../files/src/logger.js' -import { encodePath } from '@nextcloud/paths' +import { TRASHBIN_VIEW_ID } from '../files_views/trashbinView.ts' +import logger from '../../../files/src/logger.ts' -registerFileAction(new FileAction({ +export const restoreAction = new FileAction({ id: 'restore', + displayName() { return t('files_trashbin', 'Restore') }, - iconSvgInline: () => History, + + iconSvgInline: () => svgHistory, enabled(nodes: Node[], view) { // Only available in the trashbin view - if (view.id !== 'trashbin') { + if (view.id !== TRASHBIN_VIEW_ID) { return false } // Only available if all nodes have read permission - return nodes.length > 0 && nodes - .map(node => node.permissions) - .every(permission => (permission & Permission.READ) !== 0) + return nodes.length > 0 + && nodes + .map((node) => node.permissions) + .every((permission) => Boolean(permission & Permission.READ)) }, async exec(node: Node) { try { - const destination = generateRemoteUrl(encodePath(`dav/trashbin/${getCurrentUser()?.uid}/restore/${node.basename}`)) - await axios({ + const destination = generateRemoteUrl(encodePath(`dav/trashbin/${getCurrentUser()!.uid}/restore/${node.basename}`)) + await axios.request({ method: 'MOVE', url: node.encodedSource, headers: { @@ -48,14 +53,19 @@ registerFileAction(new FileAction({ emit('files:node:deleted', node) return true } catch (error) { - logger.error(error) + if (error.response?.status === 507) { + showError(t('files_trashbin', 'Not enough free space to restore the file/folder')) + } + logger.error('Failed to restore node', { error, node }) return false } }, + async execBatch(nodes: Node[], view: View, dir: string) { return Promise.all(nodes.map(node => this.exec(node, view, dir))) }, order: 1, + inline: () => true, -})) +}) diff --git a/apps/files_trashbin/src/files_listActions/emptyTrashAction.spec.ts b/apps/files_trashbin/src/files_listActions/emptyTrashAction.spec.ts new file mode 100644 index 00000000000..399c0f60043 --- /dev/null +++ b/apps/files_trashbin/src/files_listActions/emptyTrashAction.spec.ts @@ -0,0 +1,174 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { Folder } from '@nextcloud/files' +import { beforeEach, describe, expect, it, vi } from 'vitest' +import { emptyTrashAction } from './emptyTrashAction.ts' +import { trashbinView } from '../files_views/trashbinView.ts' +import * as ncDialogs from '@nextcloud/dialogs' +import * as ncEventBus from '@nextcloud/event-bus' +import * as ncInitialState from '@nextcloud/initial-state' +import * as api from '../services/api.ts' + +describe('files_trashbin: file list actions - empty trashbin', () => { + it('has id set', () => { + expect(emptyTrashAction.id).toBe('empty-trash') + }) + + it('has display name set', () => { + expect(emptyTrashAction.displayName(trashbinView)).toBe('Empty deleted files') + }) + + it('has order set', () => { + // expect highest priority! + expect(emptyTrashAction.order).toBe(0) + }) + + it('is enabled on trashbin view', () => { + const spy = vi.spyOn(ncInitialState, 'loadState').mockImplementationOnce(() => ({ allow_delete: true })) + + const root = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/', root: '/trashbin/test/' }) + const nodes = [ + new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/' }), + ] + + expect(emptyTrashAction.enabled).toBeTypeOf('function') + expect(emptyTrashAction.enabled!(trashbinView, nodes, root)).toBe(true) + expect(spy).toHaveBeenCalled() + expect(spy).toHaveBeenCalledWith('files_trashbin', 'config') + }) + + it('is not enabled on another view enabled', () => { + vi.spyOn(ncInitialState, 'loadState').mockImplementationOnce(() => ({ allow_delete: true })) + + const root = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/', root: '/trashbin/test/' }) + const nodes = [ + new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/' }), + ] + + const otherView = new Proxy(trashbinView, { + get(target, p) { + if (p === 'id') { + return 'other-view' + } + return target[p] + }, + }) + + expect(emptyTrashAction.enabled).toBeTypeOf('function') + expect(emptyTrashAction.enabled!(otherView, nodes, root)).toBe(false) + }) + + it('is not enabled when deletion is forbidden', () => { + const spy = vi.spyOn(ncInitialState, 'loadState').mockImplementationOnce(() => ({ allow_delete: false })) + + const root = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/', root: '/trashbin/test/' }) + const nodes = [ + new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/' }), + ] + + expect(emptyTrashAction.enabled).toBeTypeOf('function') + expect(emptyTrashAction.enabled!(trashbinView, nodes, root)).toBe(false) + expect(spy).toHaveBeenCalled() + expect(spy).toHaveBeenCalledWith('files_trashbin', 'config') + }) + + it('is not enabled when not in trashbin root', () => { + vi.spyOn(ncInitialState, 'loadState').mockImplementationOnce(() => ({ allow_delete: true })) + + const root = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/other-folder', root: '/trashbin/test/' }) + const nodes = [ + new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/' }), + ] + + expect(emptyTrashAction.enabled).toBeTypeOf('function') + expect(emptyTrashAction.enabled!(trashbinView, nodes, root)).toBe(false) + }) + + describe('execute', () => { + const root = new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/', root: '/trashbin/test/' }) + const nodes = [ + new Folder({ owner: 'test', source: 'https://example.com/remote.php/dav/trashbin/test/folder', root: '/trashbin/test/' }), + ] + + let dialogBuilder = { + setSeverity: vi.fn(), + setText: vi.fn(), + setButtons: vi.fn(), + build: vi.fn(), + } + + beforeEach(() => { + dialogBuilder = { + setSeverity: vi.fn(() => dialogBuilder), + setText: vi.fn(() => dialogBuilder), + setButtons: vi.fn(() => dialogBuilder), + build: vi.fn(() => dialogBuilder), + } + + vi.spyOn(ncDialogs, 'getDialogBuilder') + // @ts-expect-error This is a mock + .mockImplementationOnce(() => dialogBuilder) + }) + + it('can cancel the deletion by closing the dialog', async () => { + const apiSpy = vi.spyOn(api, 'emptyTrash') + + dialogBuilder.build.mockImplementationOnce(() => ({ show: async () => false })) + expect(await emptyTrashAction.exec(trashbinView, nodes, root)).toBe(null) + expect(apiSpy).not.toBeCalled() + }) + + it('can cancel the deletion', async () => { + const apiSpy = vi.spyOn(api, 'emptyTrash') + + dialogBuilder.build.mockImplementationOnce(() => ({ + show: async () => { + const buttons = dialogBuilder.setButtons.mock.calls[0][0] + const cancel = buttons.find(({ label }) => label === 'Cancel') + await cancel.callback() + }, + })) + expect(await emptyTrashAction.exec(trashbinView, nodes, root)).toBe(null) + expect(apiSpy).not.toBeCalled() + }) + + it('will trigger the API request if confirmed', async () => { + const apiSpy = vi.spyOn(api, 'emptyTrash').mockImplementationOnce(async () => true) + const dialogSpy = vi.spyOn(ncDialogs, 'showInfo') + const eventBusSpy = vi.spyOn(ncEventBus, 'emit') + + dialogBuilder.build.mockImplementationOnce(() => ({ + show: async () => { + const buttons = dialogBuilder.setButtons.mock.calls[0][0] + const cancel = buttons.find(({ label }) => label === 'Empty deleted files') + await cancel.callback() + }, + })) + expect(await emptyTrashAction.exec(trashbinView, nodes, root)).toBe(null) + expect(apiSpy).toBeCalled() + expect(dialogSpy).not.toBeCalled() + expect(eventBusSpy).toBeCalledWith('files:node:deleted', nodes[0]) + }) + + it('will not emit files deleted event if API request failed', async () => { + const apiSpy = vi.spyOn(api, 'emptyTrash').mockImplementationOnce(async () => false) + const dialogSpy = vi.spyOn(ncDialogs, 'showInfo') + const eventBusSpy = vi.spyOn(ncEventBus, 'emit') + + dialogBuilder.build.mockImplementationOnce(() => ({ + show: async () => { + const buttons = dialogBuilder.setButtons.mock.calls[0][0] + const cancel = buttons.find(({ label }) => label === 'Empty deleted files') + await cancel.callback() + }, + })) + expect(await emptyTrashAction.exec(trashbinView, nodes, root)).toBe(null) + expect(apiSpy).toBeCalled() + expect(dialogSpy).not.toBeCalled() + expect(eventBusSpy).not.toBeCalled() + }) + }) +}) diff --git a/apps/files_trashbin/src/files_listActions/emptyTrashAction.ts b/apps/files_trashbin/src/files_listActions/emptyTrashAction.ts new file mode 100644 index 00000000000..2b6ff171adf --- /dev/null +++ b/apps/files_trashbin/src/files_listActions/emptyTrashAction.ts @@ -0,0 +1,75 @@ +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +import type { Node, View, Folder } from '@nextcloud/files' + +import { emit } from '@nextcloud/event-bus' +import { FileListAction } from '@nextcloud/files' +import { loadState } from '@nextcloud/initial-state' +import { t } from '@nextcloud/l10n' +import { + DialogSeverity, + getDialogBuilder, +} from '@nextcloud/dialogs' +import { emptyTrash } from '../services/api.ts' +import { TRASHBIN_VIEW_ID } from '../files_views/trashbinView.ts' + +export type FilesTrashbinConfigState = { + allow_delete: boolean; +} + +export const emptyTrashAction = new FileListAction({ + id: 'empty-trash', + + displayName: () => t('files_trashbin', 'Empty deleted files'), + order: 0, + + enabled(view: View, nodes: Node[], folder: Folder) { + if (view.id !== TRASHBIN_VIEW_ID) { + return false + } + + const config = loadState<FilesTrashbinConfigState>('files_trashbin', 'config') + if (!config.allow_delete) { + return false + } + + return nodes.length > 0 && folder.path === '/' + }, + + async exec(view: View, nodes: Node[]): Promise<null> { + const askConfirmation = new Promise<boolean>((resolve) => { + const dialog = getDialogBuilder(t('files_trashbin', 'Confirm permanent deletion')) + .setSeverity(DialogSeverity.Warning) + // TODO Add note for groupfolders + .setText(t('files_trashbin', 'Are you sure you want to permanently delete all files and folders in the trash? This cannot be undone.')) + .setButtons([ + { + label: t('files_trashbin', 'Cancel'), + type: 'secondary', + callback: () => resolve(false), + }, + { + label: t('files_trashbin', 'Empty deleted files'), + type: 'error', + callback: () => resolve(true), + }, + ]) + .build() + dialog.show().then(() => { + resolve(false) + }) + }) + + const result = await askConfirmation + if (result === true) { + if (await emptyTrash()) { + nodes.forEach((node) => emit('files:node:deleted', node)) + } + return null + } + + return null + }, +}) diff --git a/apps/files_trashbin/src/files_views/columns.spec.ts b/apps/files_trashbin/src/files_views/columns.spec.ts new file mode 100644 index 00000000000..a22ef17ea6b --- /dev/null +++ b/apps/files_trashbin/src/files_views/columns.spec.ts @@ -0,0 +1,217 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { File } from '@nextcloud/files' +import { afterAll, beforeEach, describe, expect, it, vi } from 'vitest' +import { deleted, deletedBy, originalLocation } from './columns.ts' +import { trashbinView } from './trashbinView.ts' +import * as ncAuth from '@nextcloud/auth' + +vi.mock('@nextcloud/l10n', async (originalModule) => ({ + ...(await originalModule()), + getLanguage: () => 'en', + getCanonicalLocale: () => 'en-US', +})) + +describe('files_trashbin: file list columns', () => { + + describe('column: original location', () => { + it('has id set', () => { + expect(originalLocation.id).toBe('files_trashbin--original-location') + }) + + it('has title set', () => { + expect(originalLocation.title).toBe('Original location') + }) + + it('correctly sorts nodes by original location', () => { + const nodeA = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-original-location': 'z-folder/a.txt' } }) + const nodeB = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/b.txt', mime: 'text/plain', attributes: { 'trashbin-original-location': 'folder/b.txt' } }) + + expect(originalLocation.sort).toBeTypeOf('function') + expect(originalLocation.sort!(nodeA, nodeB)).toBeGreaterThan(0) + expect(originalLocation.sort!(nodeB, nodeA)).toBeLessThan(0) + }) + + it('renders a node with original location', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-original-location': 'folder/a.txt' } }) + const el: HTMLElement = originalLocation.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toBe('folder') + expect(el.title).toBe('folder') + }) + + it('renders a node when original location is missing', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain' }) + const el: HTMLElement = originalLocation.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toBe('Unknown') + expect(el.title).toBe('Unknown') + }) + + it('renders a node when original location is the root', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-original-location': 'a.txt' } }) + const el: HTMLElement = originalLocation.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toBe('All files') + expect(el.title).toBe('All files') + }) + }) + + describe('column: deleted time', () => { + it('has id set', () => { + expect(deleted.id).toBe('files_trashbin--deleted') + }) + + it('has title set', () => { + expect(deleted.title).toBe('Deleted') + }) + + it('correctly sorts nodes by deleted time', () => { + const nodeA = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deletion-time': 1741684522 } }) + const nodeB = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/b.txt', mime: 'text/plain', attributes: { 'trashbin-deletion-time': 1741684422 } }) + + expect(deleted.sort).toBeTypeOf('function') + expect(deleted.sort!(nodeA, nodeB)).toBeLessThan(0) + expect(deleted.sort!(nodeB, nodeA)).toBeGreaterThan(0) + }) + + it('correctly sorts nodes by deleted time and falls back to mtime', () => { + const nodeA = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deletion-time': 1741684522 } }) + const nodeB = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/b.txt', mime: 'text/plain', mtime: new Date(1741684422000) }) + + expect(deleted.sort).toBeTypeOf('function') + expect(deleted.sort!(nodeA, nodeB)).toBeLessThan(0) + expect(deleted.sort!(nodeB, nodeA)).toBeGreaterThan(0) + }) + + it('correctly sorts nodes even if no deletion date is provided', () => { + const nodeA = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain' }) + const nodeB = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/b.txt', mime: 'text/plain', mtime: new Date(1741684422000) }) + + expect(deleted.sort).toBeTypeOf('function') + expect(deleted.sort!(nodeA, nodeB)).toBeGreaterThan(0) + expect(deleted.sort!(nodeB, nodeA)).toBeLessThan(0) + }) + + describe('rendering', () => { + afterAll(() => { + vi.useRealTimers() + }) + + beforeEach(() => { + vi.useFakeTimers({ now: 1741684582000 }) + }) + + it('renders a node with deletion date', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deletion-time': (Date.now() / 1000) - 120 } }) + const el: HTMLElement = deleted.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toBe('2 minutes ago') + expect(el.title).toBe('March 11, 2025 at 9:14 AM') + }) + + it('renders a node when deletion date is missing and falls back to mtime', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', mtime: new Date(Date.now() - 60000) }) + const el: HTMLElement = deleted.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toBe('1 minute ago') + expect(el.title).toBe('March 11, 2025 at 9:15 AM') + }) + + it('renders a node when deletion date is missing', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain' }) + const el: HTMLElement = deleted.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toBe('A long time ago') + }) + }) + + describe('column: deleted by', () => { + it('has id set', () => { + expect(deletedBy.id).toBe('files_trashbin--deleted-by') + }) + + it('has title set', () => { + expect(deletedBy.title).toBe('Deleted by') + }) + + it('correctly sorts nodes by user-id of deleting user', () => { + const nodeA = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-id': 'zzz' } }) + const nodeB = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/b.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-id': 'aaa' } }) + + expect(deletedBy.sort).toBeTypeOf('function') + expect(deletedBy.sort!(nodeA, nodeB)).toBeGreaterThan(0) + expect(deletedBy.sort!(nodeB, nodeA)).toBeLessThan(0) + }) + + it('correctly sorts nodes by display name of deleting user', () => { + const nodeA = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-display-name': 'zzz' } }) + const nodeB = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/b.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-display-name': 'aaa' } }) + + expect(deletedBy.sort).toBeTypeOf('function') + expect(deletedBy.sort!(nodeA, nodeB)).toBeGreaterThan(0) + expect(deletedBy.sort!(nodeB, nodeA)).toBeLessThan(0) + }) + + it('correctly sorts nodes by display name of deleting user before user id', () => { + const nodeA = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-display-name': '000', 'trashbin-deleted-by-id': 'zzz' } }) + const nodeB = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/b.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-display-name': 'aaa', 'trashbin-deleted-by-id': '999' } }) + + expect(deletedBy.sort).toBeTypeOf('function') + expect(deletedBy.sort!(nodeA, nodeB)).toBeLessThan(0) + expect(deletedBy.sort!(nodeB, nodeA)).toBeGreaterThan(0) + }) + + it('correctly sorts nodes even when one is missing', () => { + const nodeA = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-id': 'aaa' } }) + const nodeB = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-id': 'zzz' } }) + const nodeC = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/b.txt', mime: 'text/plain' }) + + expect(deletedBy.sort).toBeTypeOf('function') + // aaa is less then "Unknown" + expect(deletedBy.sort!(nodeA, nodeC)).toBeLessThan(0) + // zzz is greater than "Unknown" + expect(deletedBy.sort!(nodeB, nodeC)).toBeGreaterThan(0) + }) + + it('renders a node with deleting user', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-id': 'user-id' } }) + const el: HTMLElement = deletedBy.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toMatch(/\suser-id\s/) + }) + + it('renders a node with deleting user display name', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-display-name': 'user-name', 'trashbin-deleted-by-id': 'user-id' } }) + const el: HTMLElement = deletedBy.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toMatch(/\suser-name\s/) + }) + + it('renders a node even when information is missing', () => { + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain' }) + const el: HTMLElement = deletedBy.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toBe('Unknown') + }) + + it('renders a node when current user is the deleting user', () => { + vi.spyOn(ncAuth, 'getCurrentUser').mockImplementationOnce(() => ({ + uid: 'user-id', + displayName: 'user-display-name', + isAdmin: false, + })) + + const node = new File({ owner: 'test', source: 'https://example.com/remote.php/dav/files/test/a.txt', mime: 'text/plain', attributes: { 'trashbin-deleted-by-id': 'user-id' } }) + const el: HTMLElement = deletedBy.render(node, trashbinView) + expect(el).toBeInstanceOf(HTMLElement) + expect(el.textContent).toBe('You') + }) + }) + + }) + +}) diff --git a/apps/files_trashbin/src/files_views/columns.ts b/apps/files_trashbin/src/files_views/columns.ts new file mode 100644 index 00000000000..085d22c67a6 --- /dev/null +++ b/apps/files_trashbin/src/files_views/columns.ts @@ -0,0 +1,144 @@ +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { getCurrentUser } from '@nextcloud/auth' +import { Column, Node } from '@nextcloud/files' +import { formatRelativeTime, getCanonicalLocale, getLanguage, t } from '@nextcloud/l10n' +import { dirname } from '@nextcloud/paths' + +import Vue from 'vue' +import NcUserBubble from '@nextcloud/vue/components/NcUserBubble' + +export const originalLocation = new Column({ + id: 'files_trashbin--original-location', + title: t('files_trashbin', 'Original location'), + render(node) { + const originalLocation = parseOriginalLocation(node) + const span = document.createElement('span') + span.title = originalLocation + span.textContent = originalLocation + return span + }, + sort(nodeA, nodeB) { + const locationA = parseOriginalLocation(nodeA) + const locationB = parseOriginalLocation(nodeB) + return locationA.localeCompare(locationB, [getLanguage(), getCanonicalLocale()], { numeric: true, usage: 'sort' }) + }, +}) + +export const deletedBy = new Column({ + id: 'files_trashbin--deleted-by', + title: t('files_trashbin', 'Deleted by'), + render(node) { + const { userId, displayName, label } = parseDeletedBy(node) + if (label) { + const span = document.createElement('span') + span.textContent = label + return span + } + + const UserBubble = Vue.extend(NcUserBubble) + const propsData = { + size: 32, + user: userId ?? undefined, + displayName: displayName ?? userId, + } + const userBubble = new UserBubble({ propsData }).$mount().$el + return userBubble as HTMLElement + }, + sort(nodeA, nodeB) { + const deletedByA = parseDeletedBy(nodeA) + const deletedbyALabel = deletedByA.label ?? deletedByA.displayName ?? deletedByA.userId + const deletedByB = parseDeletedBy(nodeB) + const deletedByBLabel = deletedByB.label ?? deletedByB.displayName ?? deletedByB.userId + // label is set if uid and display name are unset - if label is unset at least uid or display name is set. + return deletedbyALabel!.localeCompare(deletedByBLabel!, [getLanguage(), getCanonicalLocale()], { numeric: true, usage: 'sort' }) + }, +}) + +export const deleted = new Column({ + id: 'files_trashbin--deleted', + title: t('files_trashbin', 'Deleted'), + + render(node) { + const deletionTime = node.attributes?.['trashbin-deletion-time'] || ((node?.mtime?.getTime() ?? 0) / 1000) + const span = document.createElement('span') + if (deletionTime) { + const formatter = Intl.DateTimeFormat([getCanonicalLocale()], { dateStyle: 'long', timeStyle: 'short' }) + const timestamp = new Date(deletionTime * 1000) + + span.title = formatter.format(timestamp) + span.textContent = formatRelativeTime(timestamp, { ignoreSeconds: t('files', 'few seconds ago') }) + return span + } + + // Unknown deletion time + span.textContent = t('files_trashbin', 'A long time ago') + return span + }, + + sort(nodeA, nodeB) { + // deletion time is a unix timestamp while mtime is a JS Date -> we need to align the numbers (seconds vs milliseconds) + const deletionTimeA = nodeA.attributes?.['trashbin-deletion-time'] || ((nodeA?.mtime?.getTime() ?? 0) / 1000) + const deletionTimeB = nodeB.attributes?.['trashbin-deletion-time'] || ((nodeB?.mtime?.getTime() ?? 0) / 1000) + return deletionTimeB - deletionTimeA + }, +}) + +/** + * Get the original file location of a trashbin file. + * + * @param node The node to parse + */ +function parseOriginalLocation(node: Node): string { + const path = stringOrNull(node.attributes?.['trashbin-original-location']) + if (!path) { + return t('files_trashbin', 'Unknown') + } + + const dir = dirname(path) + if (dir === path) { // Node is in root folder + return t('files_trashbin', 'All files') + } + + return dir.replace(/^\//, '') +} + +/** + * Parse a trashbin file to get information about the user that deleted the file. + * + * @param node The node to parse + */ +function parseDeletedBy(node: Node) { + const userId = stringOrNull(node.attributes?.['trashbin-deleted-by-id']) + const displayName = stringOrNull(node.attributes?.['trashbin-deleted-by-display-name']) + + let label: string|undefined + const currentUserId = getCurrentUser()?.uid + if (userId === currentUserId) { + label = t('files_trashbin', 'You') + } + if (!userId && !displayName) { + label = t('files_trashbin', 'Unknown') + } + + return { + userId, + displayName, + label, + } +} + +/** + * If the attribute is given it will be stringified and returned - otherwise null is returned. + * + * @param attribute The attribute to check + */ +function stringOrNull(attribute: unknown): string | null { + if (attribute) { + return String(attribute) + } + return null +} diff --git a/apps/files_trashbin/src/files_views/trashbinView.spec.ts b/apps/files_trashbin/src/files_views/trashbinView.spec.ts new file mode 100644 index 00000000000..7f5a45ee9cd --- /dev/null +++ b/apps/files_trashbin/src/files_views/trashbinView.spec.ts @@ -0,0 +1,52 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +import { describe, expect, it } from 'vitest' +import isSvg from 'is-svg' + +import { deleted, deletedBy, originalLocation } from './columns' +import { TRASHBIN_VIEW_ID, trashbinView } from './trashbinView.ts' +import { getContents } from '../services/trashbin.ts' + +describe('files_trasbin: trashbin files view', () => { + it('has correct strings', () => { + expect(trashbinView.id).toBe(TRASHBIN_VIEW_ID) + expect(trashbinView.name).toBe('Deleted files') + expect(trashbinView.caption).toBe('List of files that have been deleted.') + expect(trashbinView.emptyTitle).toBe('No deleted files') + expect(trashbinView.emptyCaption).toBe('Files and folders you have deleted will show up here') + }) + + it('sorts by deleted time', () => { + expect(trashbinView.defaultSortKey).toBe('deleted') + }) + + it('is sticky to the bottom in the view list', () => { + expect(trashbinView.sticky).toBe(true) + }) + + it('has order defined', () => { + expect(trashbinView.order).toBeTypeOf('number') + expect(trashbinView.order).toBe(50) + }) + + it('has valid icon', () => { + expect(trashbinView.icon).toBeTypeOf('string') + expect(isSvg(trashbinView.icon)).toBe(true) + }) + + it('has custom columns', () => { + expect(trashbinView.columns).toHaveLength(3) + expect(trashbinView.columns).toEqual([ + originalLocation, + deletedBy, + deleted, + ]) + }) + + it('has get content method', () => { + expect(trashbinView.getContents).toBeTypeOf('function') + expect(trashbinView.getContents).toBe(getContents) + }) +}) diff --git a/apps/files_trashbin/src/files_views/trashbinView.ts b/apps/files_trashbin/src/files_views/trashbinView.ts new file mode 100644 index 00000000000..f55c6b71595 --- /dev/null +++ b/apps/files_trashbin/src/files_views/trashbinView.ts @@ -0,0 +1,35 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +import { View } from '@nextcloud/files' +import { t } from '@nextcloud/l10n' +import { deleted, deletedBy, originalLocation } from './columns.ts' +import { getContents } from '../services/trashbin.ts' + +import svgDelete from '@mdi/svg/svg/delete-outline.svg?raw' + +export const TRASHBIN_VIEW_ID = 'trashbin' + +export const trashbinView = new View({ + id: TRASHBIN_VIEW_ID, + name: t('files_trashbin', 'Deleted files'), + caption: t('files_trashbin', 'List of files that have been deleted.'), + + emptyTitle: t('files_trashbin', 'No deleted files'), + emptyCaption: t('files_trashbin', 'Files and folders you have deleted will show up here'), + + icon: svgDelete, + order: 50, + sticky: true, + + defaultSortKey: 'deleted', + + columns: [ + originalLocation, + deletedBy, + deleted, + ], + + getContents, +}) diff --git a/apps/files_trashbin/src/logger.spec.ts b/apps/files_trashbin/src/logger.spec.ts new file mode 100644 index 00000000000..5558419ba9d --- /dev/null +++ b/apps/files_trashbin/src/logger.spec.ts @@ -0,0 +1,20 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { describe, expect, it, vi } from 'vitest' +import { logger } from './logger.ts' + +describe('files_trashbin: logger', () => { + // Rest of the logger is not under our responsibility but nextcloud-logger + it('has correct app name set up', () => { + const consoleSpy = vi.spyOn(globalThis.console, 'error').mockImplementationOnce(() => {}) + + logger.error('<message>') + expect(consoleSpy).toBeCalledTimes(1) + expect(consoleSpy.mock.calls[0][0]).toContain('<message>') + expect(consoleSpy.mock.calls[0][0]).toContain('files_trashbin') + expect(consoleSpy.mock.calls[0][1].app).toBe('files_trashbin') + }) +}) diff --git a/apps/files_trashbin/src/logger.ts b/apps/files_trashbin/src/logger.ts new file mode 100644 index 00000000000..064351c2fb5 --- /dev/null +++ b/apps/files_trashbin/src/logger.ts @@ -0,0 +1,11 @@ +/** + * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { getLoggerBuilder } from '@nextcloud/logger' + +export const logger = getLoggerBuilder() + .setApp('files_trashbin') + .detectUser() + .build() diff --git a/apps/files_trashbin/src/main.ts b/apps/files_trashbin/src/main.ts deleted file mode 100644 index ab5d293d136..00000000000 --- a/apps/files_trashbin/src/main.ts +++ /dev/null @@ -1,36 +0,0 @@ -/** - * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors - * SPDX-License-Identifier: AGPL-3.0-or-later - */ - -import './trashbin.scss' - -import { translate as t } from '@nextcloud/l10n' -import DeleteSvg from '@mdi/svg/svg/delete.svg?raw' - -import { getContents } from './services/trashbin' -import { columns } from './columns.ts' - -// Register restore action -import './actions/restoreAction' -import { View, getNavigation } from '@nextcloud/files' - -const Navigation = getNavigation() -Navigation.register(new View({ - id: 'trashbin', - name: t('files_trashbin', 'Deleted files'), - caption: t('files_trashbin', 'List of files that have been deleted.'), - - emptyTitle: t('files_trashbin', 'No deleted files'), - emptyCaption: t('files_trashbin', 'Files and folders you have deleted will show up here'), - - icon: DeleteSvg, - order: 50, - sticky: true, - - defaultSortKey: 'deleted', - - columns, - - getContents, -})) diff --git a/apps/files_trashbin/src/services/api.spec.ts b/apps/files_trashbin/src/services/api.spec.ts new file mode 100644 index 00000000000..b50a53b8e07 --- /dev/null +++ b/apps/files_trashbin/src/services/api.spec.ts @@ -0,0 +1,43 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { beforeEach, describe, expect, it, vi } from 'vitest' +import { emptyTrash } from './api.ts' +import * as ncAuth from '@nextcloud/auth' +import * as ncDialogs from '@nextcloud/dialogs' +import * as logger from '../logger.ts' + +const axiosMock = vi.hoisted(() => ({ + delete: vi.fn(), +})) +vi.mock('@nextcloud/axios', () => ({ default: axiosMock })) + +describe('files_trashbin: API - emptyTrash', () => { + beforeEach(() => { + vi.spyOn(ncAuth, 'getCurrentUser').mockImplementationOnce(() => ({ + uid: 'test', + displayName: 'Test', + isAdmin: false, + })) + }) + + it('shows success', async () => { + const dialogSpy = vi.spyOn(ncDialogs, 'showSuccess') + expect(await emptyTrash()).toBe(true) + expect(axiosMock.delete).toBeCalled() + expect(dialogSpy).toBeCalledWith('All files have been permanently deleted') + }) + + it('shows failure', async () => { + axiosMock.delete.mockImplementationOnce(() => { throw new Error() }) + const dialogSpy = vi.spyOn(ncDialogs, 'showError') + const loggerSpy = vi.spyOn(logger.logger, 'error').mockImplementationOnce(() => {}) + + expect(await emptyTrash()).toBe(false) + expect(axiosMock.delete).toBeCalled() + expect(dialogSpy).toBeCalledWith('Failed to empty deleted files') + expect(loggerSpy).toBeCalled() + }) +}) diff --git a/apps/files_trashbin/src/services/api.ts b/apps/files_trashbin/src/services/api.ts new file mode 100644 index 00000000000..b1f2e98b2d9 --- /dev/null +++ b/apps/files_trashbin/src/services/api.ts @@ -0,0 +1,28 @@ +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +import { getCurrentUser } from '@nextcloud/auth' +import { showError, showSuccess } from '@nextcloud/dialogs' +import { defaultRemoteURL } from '@nextcloud/files/dav' +import { t } from '@nextcloud/l10n' +import axios from '@nextcloud/axios' + +import { logger } from '../logger.ts' + +/** + * Send API request to empty the trashbin. + * Returns true if request succeeded - otherwise false is returned. + */ +export async function emptyTrash(): Promise<boolean> { + try { + await axios.delete(`${defaultRemoteURL}/trashbin/${getCurrentUser()!.uid}/trash`) + showSuccess(t('files_trashbin', 'All files have been permanently deleted')) + return true + } catch (error) { + showError(t('files_trashbin', 'Failed to empty deleted files')) + logger.error('Failed to empty deleted files', { error }) + return false + } +} diff --git a/apps/files_trashbin/src/services/client.ts b/apps/files_trashbin/src/services/client.ts index 25de3384c13..5ee25a6a94f 100644 --- a/apps/files_trashbin/src/services/client.ts +++ b/apps/files_trashbin/src/services/client.ts @@ -3,27 +3,10 @@ * SPDX-License-Identifier: AGPL-3.0-or-later */ -import { createClient } from 'webdav' -import { generateRemoteUrl } from '@nextcloud/router' -import { getCurrentUser, getRequestToken, onRequestTokenUpdate } from '@nextcloud/auth' +import { getCurrentUser } from '@nextcloud/auth' +import { davGetClient } from '@nextcloud/files' // init webdav client export const rootPath = `/trashbin/${getCurrentUser()?.uid}/trash` -export const rootUrl = generateRemoteUrl('dav' + rootPath) -const client = createClient(rootUrl) -// set CSRF token header -const setHeaders = (token: string | null) => { - client.setHeaders({ - // Add this so the server knows it is an request from the browser - 'X-Requested-With': 'XMLHttpRequest', - // Inject user auth - requesttoken: token ?? '', - }) -} - -// refresh headers when request token changes -onRequestTokenUpdate(setHeaders) -setHeaders(getRequestToken()) - -export default client +export const client = davGetClient() diff --git a/apps/files_trashbin/src/services/trashbin.ts b/apps/files_trashbin/src/services/trashbin.ts index 1f9f66140ae..9fef16d032f 100644 --- a/apps/files_trashbin/src/services/trashbin.ts +++ b/apps/files_trashbin/src/services/trashbin.ts @@ -5,16 +5,13 @@ import type { FileStat, ResponseDataDetailed } from 'webdav' import type { ContentsWithRoot } from '@nextcloud/files' -import { File, Folder, davParsePermissions, getDavNameSpaces, getDavProperties } from '@nextcloud/files' -import { generateRemoteUrl, generateUrl } from '@nextcloud/router' -import { getCurrentUser } from '@nextcloud/auth' - -import client, { rootPath } from './client' +import { File, Folder, davResultToNode, getDavNameSpaces, getDavProperties } from '@nextcloud/files' +import { client, rootPath } from './client' +import { generateUrl } from '@nextcloud/router' const data = `<?xml version="1.0"?> <d:propfind ${getDavNameSpaces()}> <d:prop> - <nc:trashbin-filename /> <nc:trashbin-deletion-time /> <nc:trashbin-original-location /> <nc:trashbin-title /> @@ -24,52 +21,24 @@ const data = `<?xml version="1.0"?> </d:prop> </d:propfind>` -const resultToNode = function(node: FileStat): File | Folder { - const permissions = davParsePermissions(node.props?.permissions) - const owner = getCurrentUser()?.uid as string - const previewUrl = generateUrl('/apps/files_trashbin/preview?fileId={fileid}&x=32&y=32', node.props) - - const nodeData = { - id: node.props?.fileid as number || 0, - source: generateRemoteUrl('dav' + rootPath + node.filename), - // do not show the mtime column - // mtime: new Date(node.lastmod), - mime: node.mime as string, - size: node.props?.size as number || 0, - permissions, - owner, - root: rootPath, - attributes: { - ...node, - ...node.props, - // Override displayed name on the list - displayName: node.props?.['trashbin-filename'], - previewUrl, - }, - } - - delete nodeData.attributes.props - - return node.type === 'file' - ? new File(nodeData) - : new Folder(nodeData) +const resultToNode = (stat: FileStat): File | Folder => { + const node = davResultToNode(stat, rootPath) + node.attributes.previewUrl = generateUrl('/apps/files_trashbin/preview?fileId={fileid}&x=32&y=32', { fileid: node.fileid }) + return node } export const getContents = async (path = '/'): Promise<ContentsWithRoot> => { - // TODO: use only one request when webdav-client supports it - // @see https://github.com/perry-mitchell/webdav-client/pull/334 - const rootResponse = await client.stat(path, { - details: true, - data, - }) as ResponseDataDetailed<FileStat> - - const contentsResponse = await client.getDirectoryContents(path, { + const contentsResponse = await client.getDirectoryContents(`${rootPath}${path}`, { details: true, data, + includeSelf: true, }) as ResponseDataDetailed<FileStat[]> + const contents = contentsResponse.data.map(resultToNode) + const [folder] = contents.splice(contents.findIndex((node) => node.path === path), 1) + return { - folder: resultToNode(rootResponse.data) as Folder, - contents: contentsResponse.data.map(resultToNode), + folder: folder as Folder, + contents, } } diff --git a/apps/files_trashbin/tests/BackgroundJob/ExpireTrashTest.php b/apps/files_trashbin/tests/BackgroundJob/ExpireTrashTest.php index b172f1f2715..9468fb7add0 100644 --- a/apps/files_trashbin/tests/BackgroundJob/ExpireTrashTest.php +++ b/apps/files_trashbin/tests/BackgroundJob/ExpireTrashTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -11,34 +13,28 @@ use OCA\Files_Trashbin\BackgroundJob\ExpireTrash; use OCA\Files_Trashbin\Expiration; use OCP\AppFramework\Utility\ITimeFactory; use OCP\BackgroundJob\IJobList; -use OCP\IConfig; +use OCP\IAppConfig; use OCP\IUserManager; use PHPUnit\Framework\MockObject\MockObject; +use Psr\Log\LoggerInterface; use Test\TestCase; class ExpireTrashTest extends TestCase { - /** @var IConfig|MockObject */ - private $config; - - /** @var IUserManager|MockObject */ - private $userManager; - - /** @var Expiration|MockObject */ - private $expiration; - - /** @var IJobList|MockObject */ - private $jobList; - - /** @var ITimeFactory|MockObject */ - private $time; + private IAppConfig&MockObject $appConfig; + private IUserManager&MockObject $userManager; + private Expiration&MockObject $expiration; + private IJobList&MockObject $jobList; + private LoggerInterface&MockObject $logger; + private ITimeFactory&MockObject $time; protected function setUp(): void { parent::setUp(); - $this->config = $this->createMock(IConfig::class); + $this->appConfig = $this->createMock(IAppConfig::class); $this->userManager = $this->createMock(IUserManager::class); $this->expiration = $this->createMock(Expiration::class); $this->jobList = $this->createMock(IJobList::class); + $this->logger = $this->createMock(LoggerInterface::class); $this->time = $this->createMock(ITimeFactory::class); $this->time->method('getTime') @@ -51,22 +47,25 @@ class ExpireTrashTest extends TestCase { } public function testConstructAndRun(): void { - $this->config->method('getAppValue') + $this->appConfig->method('getValueString') ->with('files_trashbin', 'background_job_expire_trash', 'yes') ->willReturn('yes'); + $this->appConfig->method('getValueInt') + ->with('files_trashbin', 'background_job_expire_trash_offset', 0) + ->willReturn(0); - $job = new ExpireTrash($this->config, $this->userManager, $this->expiration, $this->time); + $job = new ExpireTrash($this->appConfig, $this->userManager, $this->expiration, $this->logger, $this->time); $job->start($this->jobList); } public function testBackgroundJobDeactivated(): void { - $this->config->method('getAppValue') + $this->appConfig->method('getValueString') ->with('files_trashbin', 'background_job_expire_trash', 'yes') ->willReturn('no'); $this->expiration->expects($this->never()) ->method('getMaxAgeAsTimestamp'); - $job = new ExpireTrash($this->config, $this->userManager, $this->expiration, $this->time); + $job = new ExpireTrash($this->appConfig, $this->userManager, $this->expiration, $this->logger, $this->time); $job->start($this->jobList); } } diff --git a/apps/files_trashbin/tests/CapabilitiesTest.php b/apps/files_trashbin/tests/CapabilitiesTest.php index f5d3bdd9a9b..1c460cc5665 100644 --- a/apps/files_trashbin/tests/CapabilitiesTest.php +++ b/apps/files_trashbin/tests/CapabilitiesTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -9,19 +11,18 @@ use OCA\Files_Trashbin\Capabilities; use Test\TestCase; class CapabilitiesTest extends TestCase { - - /** @var Capabilities */ - private $capabilities; + private Capabilities $capabilities; protected function setUp(): void { parent::setUp(); $this->capabilities = new Capabilities(); } - - public function testGetCapabilities() { + + public function testGetCapabilities(): void { $capabilities = [ 'files' => [ - 'undelete' => true + 'undelete' => true, + 'delete_from_trash' => true, ] ]; diff --git a/apps/files_trashbin/tests/Command/CleanUpTest.php b/apps/files_trashbin/tests/Command/CleanUpTest.php index 278f800e1b6..41ed0e1e960 100644 --- a/apps/files_trashbin/tests/Command/CleanUpTest.php +++ b/apps/files_trashbin/tests/Command/CleanUpTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -6,10 +8,13 @@ */ namespace OCA\Files_Trashbin\Tests\Command; -use OC\User\Manager; use OCA\Files_Trashbin\Command\CleanUp; use OCP\Files\IRootFolder; use OCP\IDBConnection; +use OCP\IUserManager; +use OCP\Server; +use OCP\UserInterface; +use PHPUnit\Framework\MockObject\MockObject; use Symfony\Component\Console\Exception\InvalidOptionException; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Output\NullOutput; @@ -24,33 +29,19 @@ use Test\TestCase; * @package OCA\Files_Trashbin\Tests\Command */ class CleanUpTest extends TestCase { - - /** @var CleanUp */ - protected $cleanup; - - /** @var \PHPUnit\Framework\MockObject\MockObject | Manager */ - protected $userManager; - - /** @var \PHPUnit\Framework\MockObject\MockObject | IRootFolder */ - protected $rootFolder; - - /** @var IDBConnection */ - protected $dbConnection; - - /** @var string */ - protected $trashTable = 'files_trash'; - - /** @var string */ - protected $user0 = 'user0'; + protected IUserManager&MockObject $userManager; + protected IRootFolder&MockObject $rootFolder; + protected IDBConnection $dbConnection; + protected CleanUp $cleanup; + protected string $trashTable = 'files_trash'; + protected string $user0 = 'user0'; protected function setUp(): void { parent::setUp(); - $this->rootFolder = $this->getMockBuilder('OCP\Files\IRootFolder') - ->disableOriginalConstructor()->getMock(); - $this->userManager = $this->getMockBuilder('OC\User\Manager') - ->disableOriginalConstructor()->getMock(); + $this->rootFolder = $this->createMock(IRootFolder::class); + $this->userManager = $this->createMock(IUserManager::class); - $this->dbConnection = \OC::$server->getDatabaseConnection(); + $this->dbConnection = Server::get(IDBConnection::class); $this->cleanup = new CleanUp($this->rootFolder, $this->userManager, $this->dbConnection); } @@ -58,31 +49,28 @@ class CleanUpTest extends TestCase { /** * populate files_trash table with 10 dummy values */ - public function initTable() { + public function initTable(): void { $query = $this->dbConnection->getQueryBuilder(); - $query->delete($this->trashTable)->execute(); + $query->delete($this->trashTable)->executeStatement(); for ($i = 0; $i < 10; $i++) { $query->insert($this->trashTable) ->values([ - 'id' => $query->expr()->literal('file'.$i), + 'id' => $query->expr()->literal('file' . $i), 'timestamp' => $query->expr()->literal($i), 'location' => $query->expr()->literal('.'), - 'user' => $query->expr()->literal('user'.$i % 2) - ])->execute(); + 'user' => $query->expr()->literal('user' . $i % 2) + ])->executeStatement(); } $getAllQuery = $this->dbConnection->getQueryBuilder(); $result = $getAllQuery->select('id') ->from($this->trashTable) - ->execute() + ->executeQuery() ->fetchAll(); - $this->assertSame(10, count($result)); + $this->assertCount(10, $result); } - /** - * @dataProvider dataTestRemoveDeletedFiles - * @param boolean $nodeExists - */ - public function testRemoveDeletedFiles(bool $nodeExists) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestRemoveDeletedFiles')] + public function testRemoveDeletedFiles(bool $nodeExists): void { $this->initTable(); $this->rootFolder ->method('nodeExists') @@ -99,7 +87,7 @@ class CleanUpTest extends TestCase { $this->rootFolder->expects($this->never())->method('get'); $this->rootFolder->expects($this->never())->method('delete'); } - $this->invokePrivate($this->cleanup, 'removeDeletedFiles', [$this->user0, new NullOutput(), false]); + self::invokePrivate($this->cleanup, 'removeDeletedFiles', [$this->user0, new NullOutput(), false]); if ($nodeExists) { // if the delete operation was executed only files from user1 @@ -108,11 +96,11 @@ class CleanUpTest extends TestCase { $query->select('user') ->from($this->trashTable); - $qResult = $query->execute(); + $qResult = $query->executeQuery(); $result = $qResult->fetchAll(); $qResult->closeCursor(); - $this->assertSame(5, count($result)); + $this->assertCount(5, $result); foreach ($result as $r) { $this->assertSame('user1', $r['user']); } @@ -122,12 +110,12 @@ class CleanUpTest extends TestCase { $getAllQuery = $this->dbConnection->getQueryBuilder(); $result = $getAllQuery->select('id') ->from($this->trashTable) - ->execute() + ->executeQuery() ->fetchAll(); - $this->assertSame(10, count($result)); + $this->assertCount(10, $result); } } - public function dataTestRemoveDeletedFiles() { + public static function dataTestRemoveDeletedFiles(): array { return [ [true], [false] @@ -137,21 +125,20 @@ class CleanUpTest extends TestCase { /** * test remove deleted files from users given as parameter */ - public function testExecuteDeleteListOfUsers() { + public function testExecuteDeleteListOfUsers(): void { $userIds = ['user1', 'user2', 'user3']; - $instance = $this->getMockBuilder('OCA\Files_Trashbin\Command\CleanUp') - ->setMethods(['removeDeletedFiles']) + $instance = $this->getMockBuilder(CleanUp::class) + ->onlyMethods(['removeDeletedFiles']) ->setConstructorArgs([$this->rootFolder, $this->userManager, $this->dbConnection]) ->getMock(); $instance->expects($this->exactly(count($userIds))) ->method('removeDeletedFiles') - ->willReturnCallback(function ($user) use ($userIds) { + ->willReturnCallback(function ($user) use ($userIds): void { $this->assertTrue(in_array($user, $userIds)); }); $this->userManager->expects($this->exactly(count($userIds))) ->method('userExists')->willReturn(true); - $inputInterface = $this->getMockBuilder('\Symfony\Component\Console\Input\InputInterface') - ->disableOriginalConstructor()->getMock(); + $inputInterface = $this->createMock(\Symfony\Component\Console\Input\InputInterface::class); $inputInterface->method('getArgument') ->with('user_id') ->willReturn($userIds); @@ -160,28 +147,27 @@ class CleanUpTest extends TestCase { ['all-users', false], ['verbose', false], ]); - $outputInterface = $this->getMockBuilder('\Symfony\Component\Console\Output\OutputInterface') - ->disableOriginalConstructor()->getMock(); - $this->invokePrivate($instance, 'execute', [$inputInterface, $outputInterface]); + $outputInterface = $this->createMock(\Symfony\Component\Console\Output\OutputInterface::class); + self::invokePrivate($instance, 'execute', [$inputInterface, $outputInterface]); } /** * test remove deleted files of all users */ - public function testExecuteAllUsers() { + public function testExecuteAllUsers(): void { $userIds = []; $backendUsers = ['user1', 'user2']; - $instance = $this->getMockBuilder('OCA\Files_Trashbin\Command\CleanUp') - ->setMethods(['removeDeletedFiles']) + $instance = $this->getMockBuilder(CleanUp::class) + ->onlyMethods(['removeDeletedFiles']) ->setConstructorArgs([$this->rootFolder, $this->userManager, $this->dbConnection]) ->getMock(); - $backend = $this->createMock(\OCP\UserInterface::class); + $backend = $this->createMock(UserInterface::class); $backend->method('getUsers') ->with('', 500, 0) ->willReturn($backendUsers); $instance->expects($this->exactly(count($backendUsers))) ->method('removeDeletedFiles') - ->willReturnCallback(function ($user) use ($backendUsers) { + ->willReturnCallback(function ($user) use ($backendUsers): void { $this->assertTrue(in_array($user, $backendUsers)); }); $inputInterface = $this->createMock(InputInterface::class); @@ -197,10 +183,10 @@ class CleanUpTest extends TestCase { $this->userManager ->method('getBackends') ->willReturn([$backend]); - $this->invokePrivate($instance, 'execute', [$inputInterface, $outputInterface]); + self::invokePrivate($instance, 'execute', [$inputInterface, $outputInterface]); } - public function testExecuteNoUsersAndNoAllUsers() { + public function testExecuteNoUsersAndNoAllUsers(): void { $inputInterface = $this->createMock(InputInterface::class); $inputInterface->method('getArgument') ->with('user_id') @@ -215,10 +201,10 @@ class CleanUpTest extends TestCase { $this->expectException(InvalidOptionException::class); $this->expectExceptionMessage('Either specify a user_id or --all-users'); - $this->invokePrivate($this->cleanup, 'execute', [$inputInterface, $outputInterface]); + self::invokePrivate($this->cleanup, 'execute', [$inputInterface, $outputInterface]); } - public function testExecuteUsersAndAllUsers() { + public function testExecuteUsersAndAllUsers(): void { $inputInterface = $this->createMock(InputInterface::class); $inputInterface->method('getArgument') ->with('user_id') @@ -233,6 +219,6 @@ class CleanUpTest extends TestCase { $this->expectException(InvalidOptionException::class); $this->expectExceptionMessage('Either specify a user_id or --all-users'); - $this->invokePrivate($this->cleanup, 'execute', [$inputInterface, $outputInterface]); + self::invokePrivate($this->cleanup, 'execute', [$inputInterface, $outputInterface]); } } diff --git a/apps/files_trashbin/tests/Command/ExpireTest.php b/apps/files_trashbin/tests/Command/ExpireTest.php index 5a7f857adbe..5a66dac8c6e 100644 --- a/apps/files_trashbin/tests/Command/ExpireTest.php +++ b/apps/files_trashbin/tests/Command/ExpireTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2018-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -17,7 +19,7 @@ use Test\TestCase; * @package OCA\Files_Trashbin\Tests\Command */ class ExpireTest extends TestCase { - public function testExpireNonExistingUser() { + public function testExpireNonExistingUser(): void { $command = new Expire('test'); $command->handle(); diff --git a/apps/files_trashbin/tests/Command/ExpireTrashTest.php b/apps/files_trashbin/tests/Command/ExpireTrashTest.php new file mode 100644 index 00000000000..23bf0d8f121 --- /dev/null +++ b/apps/files_trashbin/tests/Command/ExpireTrashTest.php @@ -0,0 +1,156 @@ +<?php + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-only + */ +namespace OCA\Files_Trashbin\Tests\Command; + +use OCA\Files_Trashbin\Command\ExpireTrash; +use OCA\Files_Trashbin\Expiration; +use OCA\Files_Trashbin\Helper; +use OCP\AppFramework\Utility\ITimeFactory; +use OCP\Files\IRootFolder; +use OCP\Files\Node; +use OCP\IConfig; +use OCP\IUser; +use OCP\IUserManager; +use OCP\Server; +use Psr\Log\LoggerInterface; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; +use Test\TestCase; + +/** + * Class ExpireTrashTest + * + * @group DB + * + * @package OCA\Files_Trashbin\Tests\Command + */ +class ExpireTrashTest extends TestCase { + private Expiration $expiration; + private Node $userFolder; + private IConfig $config; + private IUserManager $userManager; + private IUser $user; + private ITimeFactory $timeFactory; + + + protected function setUp(): void { + parent::setUp(); + + $this->config = Server::get(IConfig::class); + $this->timeFactory = $this->createMock(ITimeFactory::class); + $this->expiration = Server::get(Expiration::class); + $this->invokePrivate($this->expiration, 'timeFactory', [$this->timeFactory]); + + $userId = self::getUniqueID('user'); + $this->userManager = Server::get(IUserManager::class); + $this->user = $this->userManager->createUser($userId, $userId); + + $this->loginAsUser($userId); + $this->userFolder = Server::get(IRootFolder::class)->getUserFolder($userId); + } + + protected function tearDown(): void { + $this->logout(); + + if (isset($this->user)) { + $this->user->delete(); + } + + $this->invokePrivate($this->expiration, 'timeFactory', [Server::get(ITimeFactory::class)]); + parent::tearDown(); + } + + /** + * @dataProvider retentionObligationProvider + */ + public function testRetentionObligation(string $obligation, string $quota, int $elapsed, int $fileSize, bool $shouldExpire): void { + $this->config->setSystemValues(['trashbin_retention_obligation' => $obligation]); + $this->expiration->setRetentionObligation($obligation); + + $this->user->setQuota($quota); + + $bytes = 'ABCDEFGHIKLMNOPQRSTUVWXYZ'; + + $file = 'foo.txt'; + $this->userFolder->newFile($file, substr($bytes, 0, $fileSize)); + + $filemtime = $this->userFolder->get($file)->getMTime(); + $this->timeFactory->expects($this->any()) + ->method('getTime') + ->willReturn($filemtime + $elapsed); + $this->userFolder->get($file)->delete(); + $this->userFolder->getStorage() + ->getCache() + ->put('files_trashbin', ['size' => $fileSize, 'unencrypted_size' => $fileSize]); + + $userId = $this->user->getUID(); + $trashFiles = Helper::getTrashFiles('/', $userId); + $this->assertEquals(1, count($trashFiles)); + + $outputInterface = $this->createMock(OutputInterface::class); + $inputInterface = $this->createMock(InputInterface::class); + $inputInterface->expects($this->any()) + ->method('getArgument') + ->with('user_id') + ->willReturn([$userId]); + + $command = new ExpireTrash( + Server::get(LoggerInterface::class), + Server::get(IUserManager::class), + $this->expiration + ); + + $this->invokePrivate($command, 'execute', [$inputInterface, $outputInterface]); + + $trashFiles = Helper::getTrashFiles('/', $userId); + $this->assertEquals($shouldExpire ? 0 : 1, count($trashFiles)); + } + + public function retentionObligationProvider(): array { + $hour = 3600; // 60 * 60 + + $oneDay = 24 * $hour; + $fiveDays = 24 * 5 * $hour; + $tenDays = 24 * 10 * $hour; + $elevenDays = 24 * 11 * $hour; + + return [ + ['disabled', '20 B', 0, 1, false], + + ['auto', '20 B', 0, 5, false], + ['auto', '20 B', 0, 21, true], + + ['0, auto', '20 B', 0, 21, true], + ['0, auto', '20 B', $oneDay, 5, false], + ['0, auto', '20 B', $oneDay, 19, true], + ['0, auto', '20 B', 0, 19, true], + + ['auto, 0', '20 B', $oneDay, 19, true], + ['auto, 0', '20 B', $oneDay, 21, true], + ['auto, 0', '20 B', 0, 5, false], + ['auto, 0', '20 B', 0, 19, true], + + ['1, auto', '20 B', 0, 5, false], + ['1, auto', '20 B', $fiveDays, 5, false], + ['1, auto', '20 B', $fiveDays, 21, true], + + ['auto, 1', '20 B', 0, 21, true], + ['auto, 1', '20 B', 0, 5, false], + ['auto, 1', '20 B', $fiveDays, 5, true], + ['auto, 1', '20 B', $oneDay, 5, false], + + ['2, 10', '20 B', $fiveDays, 5, false], + ['2, 10', '20 B', $fiveDays, 20, true], + ['2, 10', '20 B', $elevenDays, 5, true], + + ['10, 2', '20 B', $fiveDays, 5, false], + ['10, 2', '20 B', $fiveDays, 21, false], + ['10, 2', '20 B', $tenDays, 5, false], + ['10, 2', '20 B', $elevenDays, 5, true] + ]; + } +} diff --git a/apps/files_trashbin/tests/Controller/PreviewControllerTest.php b/apps/files_trashbin/tests/Controller/PreviewControllerTest.php index f834b324f2b..bb951c9c8c7 100644 --- a/apps/files_trashbin/tests/Controller/PreviewControllerTest.php +++ b/apps/files_trashbin/tests/Controller/PreviewControllerTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors * SPDX-License-Identifier: AGPL-3.0-or-later @@ -20,32 +22,18 @@ use OCP\IPreview; use OCP\IRequest; use OCP\IUser; use OCP\IUserSession; +use PHPUnit\Framework\MockObject\MockObject; use Test\TestCase; class PreviewControllerTest extends TestCase { - /** @var IRootFolder|\PHPUnit\Framework\MockObject\MockObject */ - private $rootFolder; - - /** @var string */ - private $userId; - - /** @var IMimeTypeDetector|\PHPUnit\Framework\MockObject\MockObject */ - private $mimeTypeDetector; - - /** @var IPreview|\PHPUnit\Framework\MockObject\MockObject */ - private $previewManager; - - /** @var ITimeFactory|\PHPUnit\Framework\MockObject\MockObject */ - private $time; - - /** @var PreviewController */ - private $controller; - - /** @var ITrashManager|\PHPUnit\Framework\MockObject\MockObject */ - private $trashManager; - - /** @var IUserSession|\PHPUnit\Framework\MockObject\MockObject */ - private $userSession; + private IRootFolder&MockObject $rootFolder; + private string $userId; + private IMimeTypeDetector&MockObject $mimeTypeDetector; + private IPreview&MockObject $previewManager; + private ITimeFactory&MockObject $time; + private ITrashManager&MockObject $trashManager; + private IUserSession&MockObject $userSession; + private PreviewController $controller; protected function setUp(): void { parent::setUp(); @@ -78,21 +66,21 @@ class PreviewControllerTest extends TestCase { ); } - public function testInvalidWidth() { + public function testInvalidWidth(): void { $res = $this->controller->getPreview(42, 0); $expected = new DataResponse([], Http::STATUS_BAD_REQUEST); $this->assertEquals($expected, $res); } - public function testInvalidHeight() { + public function testInvalidHeight(): void { $res = $this->controller->getPreview(42, 10, 0); $expected = new DataResponse([], Http::STATUS_BAD_REQUEST); $this->assertEquals($expected, $res); } - public function testValidPreview() { + public function testValidPreview(): void { $userFolder = $this->createMock(Folder::class); $userRoot = $this->createMock(Folder::class); $trash = $this->createMock(Folder::class); @@ -145,7 +133,7 @@ class PreviewControllerTest extends TestCase { $this->assertEquals($expected, $res); } - public function testTrashFileNotFound() { + public function testTrashFileNotFound(): void { $userFolder = $this->createMock(Folder::class); $userRoot = $this->createMock(Folder::class); $trash = $this->createMock(Folder::class); @@ -169,7 +157,7 @@ class PreviewControllerTest extends TestCase { $this->assertEquals($expected, $res); } - public function testTrashFolder() { + public function testTrashFolder(): void { $userFolder = $this->createMock(Folder::class); $userRoot = $this->createMock(Folder::class); $trash = $this->createMock(Folder::class); diff --git a/apps/files_trashbin/tests/ExpirationTest.php b/apps/files_trashbin/tests/ExpirationTest.php index bf4e1ef2ad9..3348edc4016 100644 --- a/apps/files_trashbin/tests/ExpirationTest.php +++ b/apps/files_trashbin/tests/ExpirationTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -16,7 +18,7 @@ class ExpirationTest extends \Test\TestCase { public const FAKE_TIME_NOW = 1000000; - public function expirationData() { + public static function expirationData(): array { $today = 100 * self::SECONDS_PER_DAY; $back10Days = (100 - 10) * self::SECONDS_PER_DAY; $back20Days = (100 - 20) * self::SECONDS_PER_DAY; @@ -80,16 +82,8 @@ class ExpirationTest extends \Test\TestCase { ]; } - /** - * @dataProvider expirationData - * - * @param string $retentionObligation - * @param int $timeNow - * @param int $timestamp - * @param bool $quotaExceeded - * @param string $expectedResult - */ - public function testExpiration($retentionObligation, $timeNow, $timestamp, $quotaExceeded, $expectedResult) { + #[\PHPUnit\Framework\Attributes\DataProvider('expirationData')] + public function testExpiration(string $retentionObligation, int $timeNow, int $timestamp, bool $quotaExceeded, bool $expectedResult): void { $mockedConfig = $this->getMockedConfig($retentionObligation); $mockedTimeFactory = $this->getMockedTimeFactory($timeNow); @@ -100,7 +94,7 @@ class ExpirationTest extends \Test\TestCase { } - public function timestampTestData(): array { + public static function timestampTestData(): array { return [ [ 'disabled', false], [ 'auto', false ], @@ -114,13 +108,8 @@ class ExpirationTest extends \Test\TestCase { } - /** - * @dataProvider timestampTestData - * - * @param string $configValue - * @param int $expectedMaxAgeTimestamp - */ - public function testGetMaxAgeAsTimestamp($configValue, $expectedMaxAgeTimestamp) { + #[\PHPUnit\Framework\Attributes\DataProvider('timestampTestData')] + public function testGetMaxAgeAsTimestamp(string $configValue, bool|int $expectedMaxAgeTimestamp): void { $mockedConfig = $this->getMockedConfig($configValue); $mockedTimeFactory = $this->getMockedTimeFactory( self::FAKE_TIME_NOW @@ -132,10 +121,9 @@ class ExpirationTest extends \Test\TestCase { } /** - * @param int $time * @return ITimeFactory|MockObject */ - private function getMockedTimeFactory($time) { + private function getMockedTimeFactory(int $time) { $mockedTimeFactory = $this->createMock(ITimeFactory::class); $mockedTimeFactory->expects($this->any()) ->method('getTime') @@ -145,10 +133,9 @@ class ExpirationTest extends \Test\TestCase { } /** - * @param string $returnValue * @return IConfig|MockObject */ - private function getMockedConfig($returnValue) { + private function getMockedConfig(string $returnValue) { $mockedConfig = $this->createMock(IConfig::class); $mockedConfig->expects($this->any()) ->method('getSystemValue') diff --git a/apps/files_trashbin/tests/Sabre/TrashbinPluginTest.php b/apps/files_trashbin/tests/Sabre/TrashbinPluginTest.php new file mode 100644 index 00000000000..87aca2753ef --- /dev/null +++ b/apps/files_trashbin/tests/Sabre/TrashbinPluginTest.php @@ -0,0 +1,70 @@ +<?php + +declare(strict_types=1); +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ + +namespace OCA\Files_Trashbin\Tests\Sabre; + +use OC\Files\FileInfo; +use OC\Files\View; +use OCA\Files_Trashbin\Sabre\ITrash; +use OCA\Files_Trashbin\Sabre\RestoreFolder; +use OCA\Files_Trashbin\Sabre\TrashbinPlugin; +use OCA\Files_Trashbin\Trash\ITrashItem; +use OCP\IPreview; +use Sabre\DAV\Server; +use Sabre\DAV\Tree; +use Test\TestCase; + +class TrashbinPluginTest extends TestCase { + private Server $server; + + protected function setUp(): void { + parent::setUp(); + + $tree = $this->createMock(Tree::class); + $this->server = new Server($tree); + } + + #[\PHPUnit\Framework\Attributes\DataProvider('quotaProvider')] + public function testQuota(int $quota, int $fileSize, bool $expectedResult): void { + $fileInfo = $this->createMock(ITrashItem::class); + $fileInfo->method('getSize') + ->willReturn($fileSize); + + $trashNode = $this->createMock(ITrash::class); + $trashNode->method('getFileInfo') + ->willReturn($fileInfo); + + $restoreNode = $this->createMock(RestoreFolder::class); + + $this->server->tree->method('getNodeForPath') + ->willReturn($trashNode, $restoreNode); + + $previewManager = $this->createMock(IPreview::class); + + $view = $this->createMock(View::class); + $view->method('free_space') + ->willReturn($quota); + + $plugin = new TrashbinPlugin($previewManager, $view); + $plugin->initialize($this->server); + + $sourcePath = 'trashbin/test/trash/file1'; + $destinationPath = 'trashbin/test/restore/file1'; + $this->assertEquals($expectedResult, $plugin->beforeMove($sourcePath, $destinationPath)); + } + + public static function quotaProvider(): array { + return [ + [ 1024, 512, true ], + [ 512, 513, false ], + [ FileInfo::SPACE_NOT_COMPUTED, 1024, true ], + [ FileInfo::SPACE_UNKNOWN, 1024, true ], + [ FileInfo::SPACE_UNLIMITED, 1024, true ] + ]; + } +} diff --git a/apps/files_trashbin/tests/StorageTest.php b/apps/files_trashbin/tests/StorageTest.php index 18fe59f7f7d..c58ddec97dd 100644 --- a/apps/files_trashbin/tests/StorageTest.php +++ b/apps/files_trashbin/tests/StorageTest.php @@ -1,4 +1,6 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. @@ -8,14 +10,15 @@ namespace OCA\Files_Trashbin\Tests; use OC\Files\Filesystem; use OC\Files\Storage\Common; -use OC\Files\Storage\Local; use OC\Files\Storage\Temporary; +use OC\Files\View; use OCA\Files_Trashbin\AppInfo\Application; use OCA\Files_Trashbin\Events\MoveToTrashEvent; use OCA\Files_Trashbin\Storage; use OCA\Files_Trashbin\Trash\ITrashManager; use OCP\AppFramework\Bootstrap\IBootContext; use OCP\AppFramework\Utility\ITimeFactory; +use OCP\Constants; use OCP\EventDispatcher\IEventDispatcher; use OCP\Files\Cache\ICache; use OCP\Files\Folder; @@ -24,16 +27,18 @@ use OCP\Files\Node; use OCP\Files\Storage\IStorage; use OCP\IUserManager; use OCP\Lock\ILockingProvider; +use OCP\Server; use OCP\Share\IShare; +use PHPUnit\Framework\MockObject\MockObject; use Psr\Log\LoggerInterface; use Test\Traits\MountProviderTrait; class TemporaryNoCross extends Temporary { - public function copyFromStorage(IStorage $sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime = null) { + public function copyFromStorage(IStorage $sourceStorage, string $sourceInternalPath, string $targetInternalPath, ?bool $preserveMtime = null): bool { return Common::copyFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath, $preserveMtime); } - public function moveFromStorage(IStorage $sourceStorage, $sourceInternalPath, $targetInternalPath) { + public function moveFromStorage(IStorage $sourceStorage, string $sourceInternalPath, string $targetInternalPath): bool { return Common::moveFromStorage($sourceStorage, $sourceInternalPath, $targetInternalPath); } } @@ -48,20 +53,9 @@ class TemporaryNoCross extends Temporary { class StorageTest extends \Test\TestCase { use MountProviderTrait; - /** - * @var string - */ - private $user; - - /** - * @var \OC\Files\View - */ - private $rootView; - - /** - * @var \OC\Files\View - */ - private $userView; + private string $user; + private View $rootView; + private View $userView; // 239 chars so appended timestamp of 12 chars will exceed max length of 250 chars private const LONG_FILENAME = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt'; @@ -79,15 +73,15 @@ class StorageTest extends \Test\TestCase { $trashbinApp->boot($this->createMock(IBootContext::class)); $this->user = $this->getUniqueId('user'); - \OC::$server->getUserManager()->createUser($this->user, $this->user); + Server::get(IUserManager::class)->createUser($this->user, $this->user); // this will setup the FS $this->loginAsUser($this->user); - \OCA\Files_Trashbin\Storage::setupStorage(); + Storage::setupStorage(); - $this->rootView = new \OC\Files\View('/'); - $this->userView = new \OC\Files\View('/' . $this->user . '/files/'); + $this->rootView = new View('/'); + $this->userView = new View('/' . $this->user . '/files/'); $this->userView->file_put_contents('test.txt', 'foo'); $this->userView->file_put_contents(static::LONG_FILENAME, 'foo'); $this->userView->file_put_contents(static::MAX_FILENAME, 'foo'); @@ -97,9 +91,9 @@ class StorageTest extends \Test\TestCase { } protected function tearDown(): void { - \OC\Files\Filesystem::getLoader()->removeStorageWrapper('oc_trashbin'); + Filesystem::getLoader()->removeStorageWrapper('oc_trashbin'); $this->logout(); - $user = \OC::$server->getUserManager()->get($this->user); + $user = Server::get(IUserManager::class)->get($this->user); if ($user !== null) { $user->delete(); } @@ -110,7 +104,7 @@ class StorageTest extends \Test\TestCase { /** * Test that deleting a file puts it into the trashbin. */ - public function testSingleStorageDeleteFile() { + public function testSingleStorageDeleteFile(): void { $this->assertTrue($this->userView->file_exists('test.txt')); $this->userView->unlink('test.txt'); [$storage,] = $this->userView->resolvePath('test.txt'); @@ -119,7 +113,7 @@ class StorageTest extends \Test\TestCase { // check if file is in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('test.txt', substr($name, 0, strrpos($name, '.'))); } @@ -127,7 +121,7 @@ class StorageTest extends \Test\TestCase { /** * Test that deleting a folder puts it into the trashbin. */ - public function testSingleStorageDeleteFolder() { + public function testSingleStorageDeleteFolder(): void { $this->assertTrue($this->userView->file_exists('folder/inside.txt')); $this->userView->rmdir('folder'); [$storage,] = $this->userView->resolvePath('folder/inside.txt'); @@ -136,7 +130,7 @@ class StorageTest extends \Test\TestCase { // check if folder is in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('folder', substr($name, 0, strrpos($name, '.'))); @@ -149,7 +143,7 @@ class StorageTest extends \Test\TestCase { /** * Test that deleting a file with a long filename puts it into the trashbin. */ - public function testSingleStorageDeleteLongFilename() { + public function testSingleStorageDeleteLongFilename(): void { $truncatedFilename = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt'; $this->assertTrue($this->userView->file_exists(static::LONG_FILENAME)); @@ -160,7 +154,7 @@ class StorageTest extends \Test\TestCase { // check if file is in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals($truncatedFilename, substr($name, 0, strrpos($name, '.'))); } @@ -168,7 +162,7 @@ class StorageTest extends \Test\TestCase { /** * Test that deleting a file with the max filename length puts it into the trashbin. */ - public function testSingleStorageDeleteMaxLengthFilename() { + public function testSingleStorageDeleteMaxLengthFilename(): void { $truncatedFilename = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.txt'; $this->assertTrue($this->userView->file_exists(static::MAX_FILENAME)); @@ -179,7 +173,7 @@ class StorageTest extends \Test\TestCase { // check if file is in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals($truncatedFilename, substr($name, 0, strrpos($name, '.'))); } @@ -190,9 +184,9 @@ class StorageTest extends \Test\TestCase { * the trashbin folder is in the root storage while the mounted one * isn't. */ - public function testCrossStorageDeleteFile() { + public function testCrossStorageDeleteFile(): void { $storage2 = new Temporary([]); - \OC\Files\Filesystem::mount($storage2, [], $this->user . '/files/substorage'); + Filesystem::mount($storage2, [], $this->user . '/files/substorage'); $this->userView->file_put_contents('substorage/subfile.txt', 'foo'); $storage2->getScanner()->scan(''); @@ -205,7 +199,7 @@ class StorageTest extends \Test\TestCase { // check if file is in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('subfile.txt', substr($name, 0, strrpos($name, '.'))); } @@ -216,9 +210,9 @@ class StorageTest extends \Test\TestCase { * the trashbin folder is in the root storage while the mounted one * isn't. */ - public function testCrossStorageDeleteFolder() { + public function testCrossStorageDeleteFolder(): void { $storage2 = new Temporary([]); - \OC\Files\Filesystem::mount($storage2, [], $this->user . '/files/substorage'); + Filesystem::mount($storage2, [], $this->user . '/files/substorage'); $this->userView->mkdir('substorage/folder'); $this->userView->file_put_contents('substorage/folder/subfile.txt', 'bar'); @@ -232,12 +226,12 @@ class StorageTest extends \Test\TestCase { // check if folder is in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('folder', substr($name, 0, strrpos($name, '.'))); $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/' . $name . '/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('subfile.txt', $name); } @@ -245,7 +239,7 @@ class StorageTest extends \Test\TestCase { /** * Test that deleted versions properly land in the trashbin. */ - public function testDeleteVersionsOfFile() { + public function testDeleteVersionsOfFile(): void { // trigger a version (multiple would not work because of the expire logic) $this->userView->file_put_contents('test.txt', 'v1'); @@ -260,24 +254,24 @@ class StorageTest extends \Test\TestCase { // check if versions are in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('test.txt.v', substr($name, 0, strlen('test.txt.v'))); // versions deleted $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); } /** * Test that deleted versions properly land in the trashbin. */ - public function testDeleteVersionsOfFolder() { + public function testDeleteVersionsOfFolder(): void { // trigger a version (multiple would not work because of the expire logic) $this->userView->file_put_contents('folder/inside.txt', 'v1'); $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/folder/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $this->userView->rmdir('folder'); @@ -287,50 +281,50 @@ class StorageTest extends \Test\TestCase { // check if versions are in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('folder.d', substr($name, 0, strlen('folder.d'))); // check if versions are in trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions/' . $name . '/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('inside.txt.v', substr($name, 0, strlen('inside.txt.v'))); // versions deleted $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/folder/'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); } /** * Test that deleted versions properly land in the trashbin when deleting as share recipient. */ - public function testDeleteVersionsOfFileAsRecipient() { + public function testDeleteVersionsOfFileAsRecipient(): void { $this->userView->mkdir('share'); // trigger a version (multiple would not work because of the expire logic) $this->userView->file_put_contents('share/test.txt', 'v1'); $this->userView->file_put_contents('share/test.txt', 'v2'); $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/share/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $recipientUser = $this->getUniqueId('recipient_'); - \OC::$server->getUserManager()->createUser($recipientUser, $recipientUser); + Server::get(IUserManager::class)->createUser($recipientUser, $recipientUser); - $node = \OC::$server->getUserFolder($this->user)->get('share'); - $share = \OC::$server->getShareManager()->newShare(); + $node = Server::get(IRootFolder::class)->getUserFolder($this->user)->get('share'); + $share = Server::get(\OCP\Share\IManager::class)->newShare(); $share->setNode($node) ->setShareType(IShare::TYPE_USER) ->setSharedBy($this->user) ->setSharedWith($recipientUser) - ->setPermissions(\OCP\Constants::PERMISSION_ALL); - $share = \OC::$server->getShareManager()->createShare($share); - \OC::$server->getShareManager()->acceptShare($share, $recipientUser); + ->setPermissions(Constants::PERMISSION_ALL); + $share = Server::get(\OCP\Share\IManager::class)->createShare($share); + Server::get(\OCP\Share\IManager::class)->acceptShare($share, $recipientUser); $this->loginAsUser($recipientUser); // delete as recipient - $recipientView = new \OC\Files\View('/' . $recipientUser . '/files'); + $recipientView = new View('/' . $recipientUser . '/files'); $recipientView->unlink('share/test.txt'); // rescan trash storage for both users @@ -339,24 +333,24 @@ class StorageTest extends \Test\TestCase { // check if versions are in trashbin for both users $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions'); - $this->assertEquals(1, count($results), 'Versions in owner\'s trashbin'); + $this->assertCount(1, $results, 'Versions in owner\'s trashbin'); $name = $results[0]->getName(); $this->assertEquals('test.txt.v', substr($name, 0, strlen('test.txt.v'))); $results = $this->rootView->getDirectoryContent($recipientUser . '/files_trashbin/versions'); - $this->assertEquals(1, count($results), 'Versions in recipient\'s trashbin'); + $this->assertCount(1, $results, 'Versions in recipient\'s trashbin'); $name = $results[0]->getName(); $this->assertEquals('test.txt.v', substr($name, 0, strlen('test.txt.v'))); // versions deleted $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/share/'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); } /** * Test that deleted versions properly land in the trashbin when deleting as share recipient. */ - public function testDeleteVersionsOfFolderAsRecipient() { + public function testDeleteVersionsOfFolderAsRecipient(): void { $this->userView->mkdir('share'); $this->userView->mkdir('share/folder'); // trigger a version (multiple would not work because of the expire logic) @@ -364,25 +358,24 @@ class StorageTest extends \Test\TestCase { $this->userView->file_put_contents('share/folder/test.txt', 'v2'); $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/share/folder/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $recipientUser = $this->getUniqueId('recipient_'); - \OC::$server->getUserManager()->createUser($recipientUser, $recipientUser); - - $node = \OC::$server->getUserFolder($this->user)->get('share'); - $share = \OC::$server->getShareManager()->newShare(); + Server::get(IUserManager::class)->createUser($recipientUser, $recipientUser); + $node = Server::get(IRootFolder::class)->getUserFolder($this->user)->get('share'); + $share = Server::get(\OCP\Share\IManager::class)->newShare(); $share->setNode($node) ->setShareType(IShare::TYPE_USER) ->setSharedBy($this->user) ->setSharedWith($recipientUser) - ->setPermissions(\OCP\Constants::PERMISSION_ALL); - $share = \OC::$server->getShareManager()->createShare($share); - \OC::$server->getShareManager()->acceptShare($share, $recipientUser); + ->setPermissions(Constants::PERMISSION_ALL); + $share = Server::get(\OCP\Share\IManager::class)->createShare($share); + Server::get(\OCP\Share\IManager::class)->acceptShare($share, $recipientUser); $this->loginAsUser($recipientUser); // delete as recipient - $recipientView = new \OC\Files\View('/' . $recipientUser . '/files'); + $recipientView = new View('/' . $recipientUser . '/files'); $recipientView->rmdir('share/folder'); // rescan trash storage @@ -391,31 +384,31 @@ class StorageTest extends \Test\TestCase { // check if versions are in trashbin for owner $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('folder.d', substr($name, 0, strlen('folder.d'))); // check if file versions are in trashbin for owner $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions/' . $name . '/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('test.txt.v', substr($name, 0, strlen('test.txt.v'))); // check if versions are in trashbin for recipient $results = $this->rootView->getDirectoryContent($recipientUser . '/files_trashbin/versions'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('folder.d', substr($name, 0, strlen('folder.d'))); // check if file versions are in trashbin for recipient $results = $this->rootView->getDirectoryContent($recipientUser . '/files_trashbin/versions/' . $name . '/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); $name = $results[0]->getName(); $this->assertEquals('test.txt.v', substr($name, 0, strlen('test.txt.v'))); // versions deleted $results = $this->rootView->getDirectoryContent($recipientUser . '/files_versions/share/folder/'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); } /** @@ -423,18 +416,18 @@ class StorageTest extends \Test\TestCase { * storages. This is because rename() between storages would call * unlink() which should NOT trigger the version deletion logic. */ - public function testKeepFileAndVersionsWhenMovingFileBetweenStorages() { + public function testKeepFileAndVersionsWhenMovingFileBetweenStorages(): void { $storage2 = new Temporary([]); - \OC\Files\Filesystem::mount($storage2, [], $this->user . '/files/substorage'); + Filesystem::mount($storage2, [], $this->user . '/files/substorage'); // trigger a version (multiple would not work because of the expire logic) $this->userView->file_put_contents('test.txt', 'v1'); $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); // move to another storage $this->userView->rename('test.txt', 'substorage/test.txt'); @@ -446,15 +439,15 @@ class StorageTest extends \Test\TestCase { // versions were moved too $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/substorage'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); // check that nothing got trashed by the rename's unlink() call $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); // check that versions were moved and not trashed $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions/'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); } /** @@ -462,18 +455,18 @@ class StorageTest extends \Test\TestCase { * storages. This is because rename() between storages would call * unlink() which should NOT trigger the version deletion logic. */ - public function testKeepFileAndVersionsWhenMovingFolderBetweenStorages() { + public function testKeepFileAndVersionsWhenMovingFolderBetweenStorages(): void { $storage2 = new Temporary([]); - \OC\Files\Filesystem::mount($storage2, [], $this->user . '/files/substorage'); + Filesystem::mount($storage2, [], $this->user . '/files/substorage'); // trigger a version (multiple would not work because of the expire logic) $this->userView->file_put_contents('folder/inside.txt', 'v1'); $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/folder/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); // move to another storage $this->userView->rename('folder', 'substorage/folder'); @@ -485,27 +478,27 @@ class StorageTest extends \Test\TestCase { // versions were moved too $results = $this->rootView->getDirectoryContent($this->user . '/files_versions/substorage/folder/'); - $this->assertEquals(1, count($results)); + $this->assertCount(1, $results); // check that nothing got trashed by the rename's unlink() call $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); // check that versions were moved and not trashed $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/versions/'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); } /** * Delete should fail if the source file can't be deleted. */ - public function testSingleStorageDeleteFileFail() { + public function testSingleStorageDeleteFileFail(): void { /** - * @var \OC\Files\Storage\Temporary | \PHPUnit\Framework\MockObject\MockObject $storage + * @var Temporary&MockObject $storage */ - $storage = $this->getMockBuilder('\OC\Files\Storage\Temporary') + $storage = $this->getMockBuilder(Temporary::class) ->setConstructorArgs([[]]) - ->setMethods(['rename', 'unlink', 'moveFromStorage']) + ->onlyMethods(['rename', 'unlink', 'moveFromStorage']) ->getMock(); $storage->expects($this->any()) @@ -530,19 +523,19 @@ class StorageTest extends \Test\TestCase { // file should not be in the trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); } /** * Delete should fail if the source folder can't be deleted. */ - public function testSingleStorageDeleteFolderFail() { + public function testSingleStorageDeleteFolderFail(): void { /** - * @var \OC\Files\Storage\Temporary | \PHPUnit\Framework\MockObject\MockObject $storage + * @var Temporary&MockObject $storage */ - $storage = $this->getMockBuilder('\OC\Files\Storage\Temporary') + $storage = $this->getMockBuilder(Temporary::class) ->setConstructorArgs([[]]) - ->setMethods(['rename', 'unlink', 'rmdir']) + ->onlyMethods(['rename', 'unlink', 'rmdir']) ->getMock(); $storage->expects($this->any()) @@ -564,18 +557,15 @@ class StorageTest extends \Test\TestCase { // file should not be in the trashbin $results = $this->rootView->getDirectoryContent($this->user . '/files_trashbin/files/'); - $this->assertEquals(0, count($results)); + $this->assertCount(0, $results); } - /** - * @dataProvider dataTestShouldMoveToTrash - */ - public function testShouldMoveToTrash($mountPoint, $path, $userExists, $appDisablesTrash, $expected) { + #[\PHPUnit\Framework\Attributes\DataProvider('dataTestShouldMoveToTrash')] + public function testShouldMoveToTrash(string $mountPoint, string $path, bool $userExists, bool $appDisablesTrash, bool $expected): void { $fileID = 1; $cache = $this->createMock(ICache::class); $cache->expects($this->any())->method('getId')->willReturn($fileID); - $tmpStorage = $this->getMockBuilder('\OC\Files\Storage\Temporary') - ->disableOriginalConstructor()->getMock($cache); + $tmpStorage = $this->createMock(Temporary::class); $tmpStorage->expects($this->any())->method('getCache')->willReturn($cache); $userManager = $this->getMockBuilder(IUserManager::class) ->disableOriginalConstructor()->getMock(); @@ -591,6 +581,7 @@ class StorageTest extends \Test\TestCase { $event->expects($this->any())->method('shouldMoveToTrashBin')->willReturn(!$appDisablesTrash); $userFolder->expects($this->any())->method('getById')->with($fileID)->willReturn([$node]); + $rootFolder->expects($this->any())->method('getById')->with($fileID)->willReturn([$node]); $rootFolder->expects($this->any())->method('getUserFolder')->willReturn($userFolder); $storage = $this->getMockBuilder(Storage::class) @@ -603,7 +594,9 @@ class StorageTest extends \Test\TestCase { $eventDispatcher, $rootFolder ] - )->setMethods(['createMoveToTrashEvent'])->getMock(); + ) + ->onlyMethods(['createMoveToTrashEvent']) + ->getMock(); $storage->expects($this->any())->method('createMoveToTrashEvent')->with($node) ->willReturn($event); @@ -613,7 +606,7 @@ class StorageTest extends \Test\TestCase { ); } - public function dataTestShouldMoveToTrash() { + public static function dataTestShouldMoveToTrash(): array { return [ ['/schiesbn/', '/files/test.txt', true, false, true], ['/schiesbn/', '/files/test.txt', false, false, false], @@ -628,7 +621,7 @@ class StorageTest extends \Test\TestCase { /** * Test that deleting a file doesn't error when nobody is logged in */ - public function testSingleStorageDeleteFileLoggedOut() { + public function testSingleStorageDeleteFileLoggedOut(): void { $this->logout(); if (!$this->userView->file_exists('test.txt')) { @@ -639,7 +632,7 @@ class StorageTest extends \Test\TestCase { } } - public function testTrashbinCollision() { + public function testTrashbinCollision(): void { $this->userView->file_put_contents('test.txt', 'foo'); $this->userView->file_put_contents('folder/test.txt', 'bar'); @@ -647,7 +640,7 @@ class StorageTest extends \Test\TestCase { $timeFactory->method('getTime') ->willReturn(1000); - $lockingProvider = \OC::$server->getLockingProvider(); + $lockingProvider = Server::get(ILockingProvider::class); $this->overwriteService(ITimeFactory::class, $timeFactory); @@ -671,16 +664,13 @@ class StorageTest extends \Test\TestCase { $this->assertEquals('bar', $this->rootView->file_get_contents($this->user . '/files_trashbin/files/test.txt.d1001')); } - public function testMoveFromStoragePreserveFileId() { - if (!$this->userView->getMount('')->getStorage()->instanceOfStorage(Local::class)) { - $this->markTestSkipped("Skipping on non-local users storage"); - } + public function testMoveFromStoragePreserveFileId(): void { $this->userView->file_put_contents('test.txt', 'foo'); $fileId = $this->userView->getFileInfo('test.txt')->getId(); $externalStorage = new TemporaryNoCross([]); $externalStorage->getScanner()->scan(''); - Filesystem::mount($externalStorage, [], "/" . $this->user . "/files/storage"); + Filesystem::mount($externalStorage, [], '/' . $this->user . '/files/storage'); $this->assertTrue($this->userView->rename('test.txt', 'storage/test.txt')); $this->assertTrue($externalStorage->file_exists('test.txt')); diff --git a/apps/files_trashbin/tests/TrashbinTest.php b/apps/files_trashbin/tests/TrashbinTest.php index 6474021b92e..6104a242104 100644 --- a/apps/files_trashbin/tests/TrashbinTest.php +++ b/apps/files_trashbin/tests/TrashbinTest.php @@ -1,13 +1,34 @@ <?php + +declare(strict_types=1); /** * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors * SPDX-FileCopyrightText: 2016 ownCloud, Inc. * SPDX-License-Identifier: AGPL-3.0-only */ +use OC\AllConfig; use OC\AppFramework\Bootstrap\BootContext; use OC\AppFramework\DependencyInjection\DIContainer; +use OC\Files\Cache\Watcher; +use OC\Files\Filesystem; +use OC\Files\Storage\Local; +use OC\Files\View; +use OC\SystemConfig; +use OC\User\Database; use OCA\Files_Sharing\AppInfo\Application; use OCA\Files_Trashbin\AppInfo\Application as TrashbinApplication; +use OCA\Files_Trashbin\Expiration; +use OCA\Files_Trashbin\Helper; +use OCA\Files_Trashbin\Trashbin; +use OCP\App\IAppManager; +use OCP\AppFramework\Utility\ITimeFactory; +use OCP\Constants; +use OCP\Files\FileInfo; +use OCP\Files\IRootFolder; +use OCP\IConfig; +use OCP\IDBConnection; +use OCP\IUserManager; +use OCP\Server; use OCP\Share\IShare; /** @@ -16,49 +37,41 @@ use OCP\Share\IShare; * @group DB */ class TrashbinTest extends \Test\TestCase { - public const TEST_TRASHBIN_USER1 = "test-trashbin-user1"; - public const TEST_TRASHBIN_USER2 = "test-trashbin-user2"; + public const TEST_TRASHBIN_USER1 = 'test-trashbin-user1'; + public const TEST_TRASHBIN_USER2 = 'test-trashbin-user2'; private $trashRoot1; private $trashRoot2; private static $rememberRetentionObligation; - - /** - * @var bool - */ - private static $trashBinStatus; - - /** - * @var \OC\Files\View - */ - private $rootView; + private static bool $trashBinStatus; + private View $rootView; public static function setUpBeforeClass(): void { parent::setUpBeforeClass(); - $appManager = \OC::$server->getAppManager(); + $appManager = Server::get(IAppManager::class); self::$trashBinStatus = $appManager->isEnabledForUser('files_trashbin'); // reset backend - \OC_User::clearBackends(); - \OC_User::useBackend('database'); + Server::get(IUserManager::class)->clearBackends(); + Server::get(IUserManager::class)->registerBackend(new Database()); // clear share hooks \OC_Hook::clear('OCP\\Share'); - \OC::registerShareHooks(\OC::$server->getSystemConfig()); + \OC::registerShareHooks(Server::get(SystemConfig::class)); // init files sharing new Application(); //disable encryption - \OC::$server->getAppManager()->disableApp('encryption'); + Server::get(IAppManager::class)->disableApp('encryption'); - $config = \OC::$server->getConfig(); + $config = Server::get(IConfig::class); //configure trashbin - self::$rememberRetentionObligation = $config->getSystemValue('trashbin_retention_obligation', \OCA\Files_Trashbin\Expiration::DEFAULT_RETENTION_OBLIGATION); - /** @var \OCA\Files_Trashbin\Expiration $expiration */ - $expiration = \OC::$server->query(\OCA\Files_Trashbin\Expiration::class); + self::$rememberRetentionObligation = (string)$config->getSystemValue('trashbin_retention_obligation', Expiration::DEFAULT_RETENTION_OBLIGATION); + /** @var Expiration $expiration */ + $expiration = Server::get(Expiration::class); $expiration->setRetentionObligation('auto, 2'); // register trashbin hooks @@ -73,21 +86,21 @@ class TrashbinTest extends \Test\TestCase { public static function tearDownAfterClass(): void { // cleanup test user - $user = \OC::$server->getUserManager()->get(self::TEST_TRASHBIN_USER1); + $user = Server::get(IUserManager::class)->get(self::TEST_TRASHBIN_USER1); if ($user !== null) { $user->delete(); } - /** @var \OCA\Files_Trashbin\Expiration $expiration */ - $expiration = \OC::$server->query(\OCA\Files_Trashbin\Expiration::class); + /** @var Expiration $expiration */ + $expiration = Server::get(Expiration::class); $expiration->setRetentionObligation(self::$rememberRetentionObligation); \OC_Hook::clear(); - \OC\Files\Filesystem::getLoader()->removeStorageWrapper('oc_trashbin'); + Filesystem::getLoader()->removeStorageWrapper('oc_trashbin'); if (self::$trashBinStatus) { - \OC::$server->getAppManager()->enableApp('files_trashbin'); + Server::get(IAppManager::class)->enableApp('files_trashbin'); } parent::tearDownAfterClass(); @@ -96,40 +109,33 @@ class TrashbinTest extends \Test\TestCase { protected function setUp(): void { parent::setUp(); - \OC::$server->getAppManager()->enableApp('files_trashbin'); - $config = \OC::$server->getConfig(); - $mockConfig = $this->createMock(\OCP\IConfig::class); - $mockConfig + Server::get(IAppManager::class)->enableApp('files_trashbin'); + $config = Server::get(IConfig::class); + $mockConfig = $this->getMockBuilder(AllConfig::class) + ->onlyMethods(['getSystemValue']) + ->setConstructorArgs([Server::get(SystemConfig::class)]) + ->getMock(); + $mockConfig->expects($this->any()) ->method('getSystemValue') ->willReturnCallback(static function ($key, $default) use ($config) { if ($key === 'filesystem_check_changes') { - return \OC\Files\Cache\Watcher::CHECK_ONCE; + return Watcher::CHECK_ONCE; } else { return $config->getSystemValue($key, $default); } }); - $mockConfig - ->method('getUserValue') - ->willReturnCallback(static function ($userId, $appName, $key, $default = '') use ($config) { - return $config->getUserValue($userId, $appName, $key, $default); - }); - $mockConfig - ->method('getAppValue') - ->willReturnCallback(static function ($appName, $key, $default = '') use ($config) { - return $config->getAppValue($appName, $key, $default); - }); - $this->overwriteService(\OC\AllConfig::class, $mockConfig); + $this->overwriteService(AllConfig::class, $mockConfig); $this->trashRoot1 = '/' . self::TEST_TRASHBIN_USER1 . '/files_trashbin'; $this->trashRoot2 = '/' . self::TEST_TRASHBIN_USER2 . '/files_trashbin'; - $this->rootView = new \OC\Files\View(); + $this->rootView = new View(); self::loginHelper(self::TEST_TRASHBIN_USER1); } protected function tearDown(): void { - $this->restoreService(\OC\AllConfig::class); + $this->restoreService(AllConfig::class); // disable trashbin to be able to properly clean up - \OC::$server->getAppManager()->disableApp('files_trashbin'); + Server::get(IAppManager::class)->disableApp('files_trashbin'); $this->rootView->deleteAll('/' . self::TEST_TRASHBIN_USER1 . '/files'); $this->rootView->deleteAll('/' . self::TEST_TRASHBIN_USER2 . '/files'); @@ -137,7 +143,7 @@ class TrashbinTest extends \Test\TestCase { $this->rootView->deleteAll($this->trashRoot2); // clear trash table - $connection = \OC::$server->getDatabaseConnection(); + $connection = Server::get(IDBConnection::class); $connection->executeUpdate('DELETE FROM `*PREFIX*files_trash`'); parent::tearDown(); @@ -146,26 +152,26 @@ class TrashbinTest extends \Test\TestCase { /** * test expiration of files older then the max storage time defined for the trash */ - public function testExpireOldFiles() { + public function testExpireOldFiles(): void { - /** @var \OCP\AppFramework\Utility\ITimeFactory $time */ - $time = \OC::$server->query(\OCP\AppFramework\Utility\ITimeFactory::class); + /** @var ITimeFactory $time */ + $time = Server::get(ITimeFactory::class); $currentTime = $time->getTime(); $expireAt = $currentTime - 2 * 24 * 60 * 60; $expiredDate = $currentTime - 3 * 24 * 60 * 60; // create some files - \OC\Files\Filesystem::file_put_contents('file1.txt', 'file1'); - \OC\Files\Filesystem::file_put_contents('file2.txt', 'file2'); - \OC\Files\Filesystem::file_put_contents('file3.txt', 'file3'); + Filesystem::file_put_contents('file1.txt', 'file1'); + Filesystem::file_put_contents('file2.txt', 'file2'); + Filesystem::file_put_contents('file3.txt', 'file3'); // delete them so that they end up in the trash bin - \OC\Files\Filesystem::unlink('file1.txt'); - \OC\Files\Filesystem::unlink('file2.txt'); - \OC\Files\Filesystem::unlink('file3.txt'); + Filesystem::unlink('file1.txt'); + Filesystem::unlink('file2.txt'); + Filesystem::unlink('file3.txt'); //make sure that files are in the trash bin - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'name'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'name'); $this->assertSame(3, count($filesInTrash)); // every second file will get a date in the past so that it will get expired @@ -179,14 +185,14 @@ class TrashbinTest extends \Test\TestCase { // only file2.txt should be left $remainingFiles = array_slice($manipulatedList, $count); - $this->assertSame(1, count($remainingFiles)); + $this->assertCount(1, $remainingFiles); $remainingFile = reset($remainingFiles); // TODO: failing test #$this->assertSame('file2.txt', $remainingFile['name']); // check that file1.txt and file3.txt was really deleted - $newTrashContent = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1); - $this->assertSame(1, count($newTrashContent)); + $newTrashContent = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1); + $this->assertCount(1, $newTrashContent); $element = reset($newTrashContent); // TODO: failing test #$this->assertSame('file2.txt', $element['name']); @@ -198,35 +204,35 @@ class TrashbinTest extends \Test\TestCase { * the owner of the file and the one from the user who deleted the file get expired * correctly */ - public function testExpireOldFilesShared() { + public function testExpireOldFilesShared(): void { $currentTime = time(); - $folder = "trashTest-" . $currentTime . '/'; + $folder = 'trashTest-' . $currentTime . '/'; $expiredDate = $currentTime - 3 * 24 * 60 * 60; // create some files - \OC\Files\Filesystem::mkdir($folder); - \OC\Files\Filesystem::file_put_contents($folder . 'user1-1.txt', 'file1'); - \OC\Files\Filesystem::file_put_contents($folder . 'user1-2.txt', 'file2'); - \OC\Files\Filesystem::file_put_contents($folder . 'user1-3.txt', 'file3'); - \OC\Files\Filesystem::file_put_contents($folder . 'user1-4.txt', 'file4'); + Filesystem::mkdir($folder); + Filesystem::file_put_contents($folder . 'user1-1.txt', 'file1'); + Filesystem::file_put_contents($folder . 'user1-2.txt', 'file2'); + Filesystem::file_put_contents($folder . 'user1-3.txt', 'file3'); + Filesystem::file_put_contents($folder . 'user1-4.txt', 'file4'); //share user1-4.txt with user2 $node = \OC::$server->getUserFolder(self::TEST_TRASHBIN_USER1)->get($folder); - $share = \OC::$server->getShareManager()->newShare(); + $share = Server::get(\OCP\Share\IManager::class)->newShare(); $share->setShareType(IShare::TYPE_USER) ->setNode($node) ->setSharedBy(self::TEST_TRASHBIN_USER1) ->setSharedWith(self::TEST_TRASHBIN_USER2) - ->setPermissions(\OCP\Constants::PERMISSION_ALL); - $share = \OC::$server->getShareManager()->createShare($share); - \OC::$server->getShareManager()->acceptShare($share, self::TEST_TRASHBIN_USER2); + ->setPermissions(Constants::PERMISSION_ALL); + $share = Server::get(\OCP\Share\IManager::class)->createShare($share); + Server::get(\OCP\Share\IManager::class)->acceptShare($share, self::TEST_TRASHBIN_USER2); // delete them so that they end up in the trash bin - \OC\Files\Filesystem::unlink($folder . 'user1-1.txt'); - \OC\Files\Filesystem::unlink($folder . 'user1-2.txt'); - \OC\Files\Filesystem::unlink($folder . 'user1-3.txt'); + Filesystem::unlink($folder . 'user1-1.txt'); + Filesystem::unlink($folder . 'user1-2.txt'); + Filesystem::unlink($folder . 'user1-3.txt'); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'name'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'name'); $this->assertSame(3, count($filesInTrash)); // every second file will get a date in the past so that it will get expired @@ -235,27 +241,27 @@ class TrashbinTest extends \Test\TestCase { // login as user2 self::loginHelper(self::TEST_TRASHBIN_USER2); - $this->assertTrue(\OC\Files\Filesystem::file_exists($folder . "user1-4.txt")); + $this->assertTrue(Filesystem::file_exists($folder . 'user1-4.txt')); // create some files - \OC\Files\Filesystem::file_put_contents('user2-1.txt', 'file1'); - \OC\Files\Filesystem::file_put_contents('user2-2.txt', 'file2'); + Filesystem::file_put_contents('user2-1.txt', 'file1'); + Filesystem::file_put_contents('user2-2.txt', 'file2'); // delete them so that they end up in the trash bin - \OC\Files\Filesystem::unlink('user2-1.txt'); - \OC\Files\Filesystem::unlink('user2-2.txt'); + Filesystem::unlink('user2-1.txt'); + Filesystem::unlink('user2-2.txt'); - $filesInTrashUser2 = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER2, 'name'); + $filesInTrashUser2 = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER2, 'name'); $this->assertSame(2, count($filesInTrashUser2)); // every second file will get a date in the past so that it will get expired $this->manipulateDeleteTime($filesInTrashUser2, $this->trashRoot2, $expiredDate); - \OC\Files\Filesystem::unlink($folder . 'user1-4.txt'); + Filesystem::unlink($folder . 'user1-4.txt'); $this->runCommands(); - $filesInTrashUser2AfterDelete = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER2); + $filesInTrashUser2AfterDelete = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER2); // user2-1.txt should have been expired $this->verifyArray($filesInTrashUser2AfterDelete, ['user2-2.txt', 'user1-4.txt']); @@ -263,7 +269,7 @@ class TrashbinTest extends \Test\TestCase { self::loginHelper(self::TEST_TRASHBIN_USER1); // user1-1.txt and user1-3.txt should have been expired - $filesInTrashUser1AfterDelete = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1); + $filesInTrashUser1AfterDelete = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1); $this->verifyArray($filesInTrashUser1AfterDelete, ['user1-2.txt', 'user1-4.txt']); } @@ -271,11 +277,11 @@ class TrashbinTest extends \Test\TestCase { /** * verify that the array contains the expected results * - * @param OCP\Files\FileInfo[] $result + * @param FileInfo[] $result * @param string[] $expected */ - private function verifyArray($result, $expected) { - $this->assertSame(count($expected), count($result)); + private function verifyArray(array $result, array $expected): void { + $this->assertCount(count($expected), $result); foreach ($expected as $expectedFile) { $found = false; foreach ($result as $fileInTrash) { @@ -292,18 +298,16 @@ class TrashbinTest extends \Test\TestCase { } /** - * @param OCP\Files\FileInfo[] $files - * @param string $trashRoot - * @param integer $expireDate + * @param FileInfo[] $files */ - private function manipulateDeleteTime($files, $trashRoot, $expireDate) { + private function manipulateDeleteTime(array $files, string $trashRoot, int $expireDate): array { $counter = 0; foreach ($files as &$file) { // modify every second file $counter = ($counter + 1) % 2; if ($counter === 1) { $source = $trashRoot . '/files/' . $file['name'] . '.d' . $file['mtime']; - $target = \OC\Files\Filesystem::normalizePath($trashRoot . '/files/' . $file['name'] . '.d' . $expireDate); + $target = Filesystem::normalizePath($trashRoot . '/files/' . $file['name'] . '.d' . $expireDate); $this->rootView->rename($source, $target); $file['mtime'] = $expireDate; } @@ -316,22 +320,22 @@ class TrashbinTest extends \Test\TestCase { * test expiration of old files in the trash bin until the max size * of the trash bin is met again */ - public function testExpireOldFilesUtilLimitsAreMet() { + public function testExpireOldFilesUtilLimitsAreMet(): void { // create some files - \OC\Files\Filesystem::file_put_contents('file1.txt', 'file1'); - \OC\Files\Filesystem::file_put_contents('file2.txt', 'file2'); - \OC\Files\Filesystem::file_put_contents('file3.txt', 'file3'); + Filesystem::file_put_contents('file1.txt', 'file1'); + Filesystem::file_put_contents('file2.txt', 'file2'); + Filesystem::file_put_contents('file3.txt', 'file3'); // delete them so that they end up in the trash bin - \OC\Files\Filesystem::unlink('file3.txt'); + Filesystem::unlink('file3.txt'); sleep(1); // make sure that every file has a unique mtime - \OC\Files\Filesystem::unlink('file2.txt'); + Filesystem::unlink('file2.txt'); sleep(1); // make sure that every file has a unique mtime - \OC\Files\Filesystem::unlink('file1.txt'); + Filesystem::unlink('file1.txt'); //make sure that files are in the trash bin - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertSame(3, count($filesInTrash)); $testClass = new TrashbinForTesting(); @@ -340,7 +344,7 @@ class TrashbinTest extends \Test\TestCase { // the two oldest files (file3.txt and file2.txt) should be deleted $this->assertSame(10, $sizeOfDeletedFiles); - $newTrashContent = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1); + $newTrashContent = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1); $this->assertSame(1, count($newTrashContent)); $element = reset($newTrashContent); $this->assertSame('file1.txt', $element['name']); @@ -349,8 +353,8 @@ class TrashbinTest extends \Test\TestCase { /** * Test restoring a file */ - public function testRestoreFileInRoot() { - $userFolder = \OC::$server->getUserFolder(); + public function testRestoreFileInRoot(): void { + $userFolder = Server::get(IRootFolder::class)->getUserFolder(self::TEST_TRASHBIN_USER1); $file = $userFolder->newFile('file1.txt'); $file->putContent('foo'); @@ -360,14 +364,14 @@ class TrashbinTest extends \Test\TestCase { $this->assertFalse($userFolder->nodeExists('file1.txt')); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertCount(1, $filesInTrash); - /** @var \OCP\Files\FileInfo */ + /** @var FileInfo */ $trashedFile = $filesInTrash[0]; $this->assertTrue( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'file1.txt.d' . $trashedFile->getMtime(), $trashedFile->getName(), $trashedFile->getMtime() @@ -381,8 +385,8 @@ class TrashbinTest extends \Test\TestCase { /** * Test restoring a file in subfolder */ - public function testRestoreFileInSubfolder() { - $userFolder = \OC::$server->getUserFolder(); + public function testRestoreFileInSubfolder(): void { + $userFolder = Server::get(IRootFolder::class)->getUserFolder(self::TEST_TRASHBIN_USER1); $folder = $userFolder->newFolder('folder'); $file = $folder->newFile('file1.txt'); $file->putContent('foo'); @@ -393,14 +397,14 @@ class TrashbinTest extends \Test\TestCase { $this->assertFalse($userFolder->nodeExists('folder/file1.txt')); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertCount(1, $filesInTrash); - /** @var \OCP\Files\FileInfo */ + /** @var FileInfo */ $trashedFile = $filesInTrash[0]; $this->assertTrue( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'file1.txt.d' . $trashedFile->getMtime(), $trashedFile->getName(), $trashedFile->getMtime() @@ -414,8 +418,8 @@ class TrashbinTest extends \Test\TestCase { /** * Test restoring a folder */ - public function testRestoreFolder() { - $userFolder = \OC::$server->getUserFolder(); + public function testRestoreFolder(): void { + $userFolder = Server::get(IRootFolder::class)->getUserFolder(self::TEST_TRASHBIN_USER1); $folder = $userFolder->newFolder('folder'); $file = $folder->newFile('file1.txt'); $file->putContent('foo'); @@ -426,14 +430,14 @@ class TrashbinTest extends \Test\TestCase { $this->assertFalse($userFolder->nodeExists('folder')); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertCount(1, $filesInTrash); - /** @var \OCP\Files\FileInfo */ + /** @var FileInfo */ $trashedFolder = $filesInTrash[0]; $this->assertTrue( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'folder.d' . $trashedFolder->getMtime(), $trashedFolder->getName(), $trashedFolder->getMtime() @@ -447,8 +451,8 @@ class TrashbinTest extends \Test\TestCase { /** * Test restoring a file from inside a trashed folder */ - public function testRestoreFileFromTrashedSubfolder() { - $userFolder = \OC::$server->getUserFolder(); + public function testRestoreFileFromTrashedSubfolder(): void { + $userFolder = Server::get(IRootFolder::class)->getUserFolder(self::TEST_TRASHBIN_USER1); $folder = $userFolder->newFolder('folder'); $file = $folder->newFile('file1.txt'); $file->putContent('foo'); @@ -459,14 +463,14 @@ class TrashbinTest extends \Test\TestCase { $this->assertFalse($userFolder->nodeExists('folder')); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertCount(1, $filesInTrash); - /** @var \OCP\Files\FileInfo */ + /** @var FileInfo */ $trashedFile = $filesInTrash[0]; $this->assertTrue( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'folder.d' . $trashedFile->getMtime() . '/file1.txt', 'file1.txt', $trashedFile->getMtime() @@ -481,8 +485,8 @@ class TrashbinTest extends \Test\TestCase { * Test restoring a file whenever the source folder was removed. * The file should then land in the root. */ - public function testRestoreFileWithMissingSourceFolder() { - $userFolder = \OC::$server->getUserFolder(); + public function testRestoreFileWithMissingSourceFolder(): void { + $userFolder = Server::get(IRootFolder::class)->getUserFolder(self::TEST_TRASHBIN_USER1); $folder = $userFolder->newFolder('folder'); $file = $folder->newFile('file1.txt'); $file->putContent('foo'); @@ -493,17 +497,17 @@ class TrashbinTest extends \Test\TestCase { $this->assertFalse($userFolder->nodeExists('folder/file1.txt')); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertCount(1, $filesInTrash); - /** @var \OCP\Files\FileInfo */ + /** @var FileInfo */ $trashedFile = $filesInTrash[0]; // delete source folder $folder->delete(); $this->assertTrue( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'file1.txt.d' . $trashedFile->getMtime(), $trashedFile->getName(), $trashedFile->getMtime() @@ -518,8 +522,8 @@ class TrashbinTest extends \Test\TestCase { * Test restoring a file in the root folder whenever there is another file * with the same name in the root folder */ - public function testRestoreFileDoesNotOverwriteExistingInRoot() { - $userFolder = \OC::$server->getUserFolder(); + public function testRestoreFileDoesNotOverwriteExistingInRoot(): void { + $userFolder = Server::get(IRootFolder::class)->getUserFolder(self::TEST_TRASHBIN_USER1); $file = $userFolder->newFile('file1.txt'); $file->putContent('foo'); @@ -529,10 +533,10 @@ class TrashbinTest extends \Test\TestCase { $this->assertFalse($userFolder->nodeExists('file1.txt')); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertCount(1, $filesInTrash); - /** @var \OCP\Files\FileInfo */ + /** @var FileInfo */ $trashedFile = $filesInTrash[0]; // create another file @@ -540,7 +544,7 @@ class TrashbinTest extends \Test\TestCase { $file->putContent('bar'); $this->assertTrue( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'file1.txt.d' . $trashedFile->getMtime(), $trashedFile->getName(), $trashedFile->getMtime() @@ -558,8 +562,8 @@ class TrashbinTest extends \Test\TestCase { * Test restoring a file whenever there is another file * with the same name in the source folder */ - public function testRestoreFileDoesNotOverwriteExistingInSubfolder() { - $userFolder = \OC::$server->getUserFolder(); + public function testRestoreFileDoesNotOverwriteExistingInSubfolder(): void { + $userFolder = Server::get(IRootFolder::class)->getUserFolder(self::TEST_TRASHBIN_USER1); $folder = $userFolder->newFolder('folder'); $file = $folder->newFile('file1.txt'); $file->putContent('foo'); @@ -570,10 +574,10 @@ class TrashbinTest extends \Test\TestCase { $this->assertFalse($userFolder->nodeExists('folder/file1.txt')); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertCount(1, $filesInTrash); - /** @var \OCP\Files\FileInfo */ + /** @var FileInfo */ $trashedFile = $filesInTrash[0]; // create another file @@ -581,7 +585,7 @@ class TrashbinTest extends \Test\TestCase { $file->putContent('bar'); $this->assertTrue( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'file1.txt.d' . $trashedFile->getMtime(), $trashedFile->getName(), $trashedFile->getMtime() @@ -598,9 +602,9 @@ class TrashbinTest extends \Test\TestCase { /** * Test restoring a non-existing file from trashbin, returns false */ - public function testRestoreUnexistingFile() { + public function testRestoreUnexistingFile(): void { $this->assertFalse( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'unexist.txt.d123456', 'unexist.txt', '123456' @@ -612,8 +616,8 @@ class TrashbinTest extends \Test\TestCase { * Test restoring a file into a read-only folder, will restore * the file to root instead */ - public function testRestoreFileIntoReadOnlySourceFolder() { - $userFolder = \OC::$server->getUserFolder(); + public function testRestoreFileIntoReadOnlySourceFolder(): void { + $userFolder = Server::get(IRootFolder::class)->getUserFolder(self::TEST_TRASHBIN_USER1); $folder = $userFolder->newFolder('folder'); $file = $folder->newFile('file1.txt'); $file->putContent('foo'); @@ -624,21 +628,21 @@ class TrashbinTest extends \Test\TestCase { $this->assertFalse($userFolder->nodeExists('folder/file1.txt')); - $filesInTrash = OCA\Files_Trashbin\Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); + $filesInTrash = Helper::getTrashFiles('/', self::TEST_TRASHBIN_USER1, 'mtime'); $this->assertCount(1, $filesInTrash); - /** @var \OCP\Files\FileInfo */ + /** @var FileInfo */ $trashedFile = $filesInTrash[0]; // delete source folder [$storage, $internalPath] = $this->rootView->resolvePath('/' . self::TEST_TRASHBIN_USER1 . '/files/folder'); - if ($storage instanceof \OC\Files\Storage\Local) { + if ($storage instanceof Local) { $folderAbsPath = $storage->getSourcePath($internalPath); // make folder read-only chmod($folderAbsPath, 0555); $this->assertTrue( - OCA\Files_Trashbin\Trashbin::restore( + Trashbin::restore( 'file1.txt.d' . $trashedFile->getMtime(), $trashedFile->getName(), $trashedFile->getMtime() @@ -659,26 +663,26 @@ class TrashbinTest extends \Test\TestCase { public static function loginHelper($user, $create = false) { if ($create) { try { - \OC::$server->getUserManager()->createUser($user, $user); + Server::get(IUserManager::class)->createUser($user, $user); } catch (\Exception $e) { // catch username is already being used from previous aborted runs } } \OC_Util::tearDownFS(); \OC_User::setUserId(''); - \OC\Files\Filesystem::tearDown(); + Filesystem::tearDown(); \OC_User::setUserId($user); \OC_Util::setupFS($user); - \OC::$server->getUserFolder($user); + Server::get(IRootFolder::class)->getUserFolder($user); } } // just a dummy class to make protected methods available for testing -class TrashbinForTesting extends \OCA\Files_Trashbin\Trashbin { +class TrashbinForTesting extends Trashbin { /** - * @param OCP\Files\FileInfo[] $files + * @param FileInfo[] $files * @param integer $limit */ public function dummyDeleteExpiredFiles($files) { @@ -687,7 +691,7 @@ class TrashbinForTesting extends \OCA\Files_Trashbin\Trashbin { } /** - * @param OCP\Files\FileInfo[] $files + * @param FileInfo[] $files * @param integer $availableSpace */ public function dummyDeleteFiles($files, $availableSpace) { |