aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/l10n/ar.js5
-rw-r--r--apps/files/l10n/ar.json5
-rw-r--r--apps/files/l10n/ast.js3
-rw-r--r--apps/files/l10n/ast.json3
-rw-r--r--apps/files/l10n/bg.js2
-rw-r--r--apps/files/l10n/bg.json2
-rw-r--r--apps/files/l10n/ca.js5
-rw-r--r--apps/files/l10n/ca.json5
-rw-r--r--apps/files/l10n/cs.js5
-rw-r--r--apps/files/l10n/cs.json5
-rw-r--r--apps/files/l10n/da.js5
-rw-r--r--apps/files/l10n/da.json5
-rw-r--r--apps/files/l10n/de.js5
-rw-r--r--apps/files/l10n/de.json5
-rw-r--r--apps/files/l10n/de_DE.js5
-rw-r--r--apps/files/l10n/de_DE.json5
-rw-r--r--apps/files/l10n/el.js2
-rw-r--r--apps/files/l10n/el.json2
-rw-r--r--apps/files/l10n/en_GB.js5
-rw-r--r--apps/files/l10n/en_GB.json5
-rw-r--r--apps/files/l10n/es.js5
-rw-r--r--apps/files/l10n/es.json5
-rw-r--r--apps/files/l10n/es_EC.js2
-rw-r--r--apps/files/l10n/es_EC.json2
-rw-r--r--apps/files/l10n/es_MX.js3
-rw-r--r--apps/files/l10n/es_MX.json3
-rw-r--r--apps/files/l10n/et_EE.js5
-rw-r--r--apps/files/l10n/et_EE.json5
-rw-r--r--apps/files/l10n/eu.js3
-rw-r--r--apps/files/l10n/eu.json3
-rw-r--r--apps/files/l10n/fa.js5
-rw-r--r--apps/files/l10n/fa.json5
-rw-r--r--apps/files/l10n/fi.js5
-rw-r--r--apps/files/l10n/fi.json5
-rw-r--r--apps/files/l10n/fr.js5
-rw-r--r--apps/files/l10n/fr.json5
-rw-r--r--apps/files/l10n/ga.js5
-rw-r--r--apps/files/l10n/ga.json5
-rw-r--r--apps/files/l10n/gl.js5
-rw-r--r--apps/files/l10n/gl.json5
-rw-r--r--apps/files/l10n/hu.js5
-rw-r--r--apps/files/l10n/hu.json5
-rw-r--r--apps/files/l10n/id.js235
-rw-r--r--apps/files/l10n/id.json233
-rw-r--r--apps/files/l10n/is.js3
-rw-r--r--apps/files/l10n/is.json3
-rw-r--r--apps/files/l10n/it.js5
-rw-r--r--apps/files/l10n/it.json5
-rw-r--r--apps/files/l10n/ja.js5
-rw-r--r--apps/files/l10n/ja.json5
-rw-r--r--apps/files/l10n/ka.js3
-rw-r--r--apps/files/l10n/ka.json3
-rw-r--r--apps/files/l10n/ko.js3
-rw-r--r--apps/files/l10n/ko.json3
-rw-r--r--apps/files/l10n/lt_LT.js2
-rw-r--r--apps/files/l10n/lt_LT.json2
-rw-r--r--apps/files/l10n/mk.js2
-rw-r--r--apps/files/l10n/mk.json2
-rw-r--r--apps/files/l10n/nb.js3
-rw-r--r--apps/files/l10n/nb.json3
-rw-r--r--apps/files/l10n/nl.js5
-rw-r--r--apps/files/l10n/nl.json5
-rw-r--r--apps/files/l10n/pl.js5
-rw-r--r--apps/files/l10n/pl.json5
-rw-r--r--apps/files/l10n/pt_BR.js5
-rw-r--r--apps/files/l10n/pt_BR.json5
-rw-r--r--apps/files/l10n/pt_PT.js3
-rw-r--r--apps/files/l10n/pt_PT.json3
-rw-r--r--apps/files/l10n/ro.js3
-rw-r--r--apps/files/l10n/ro.json3
-rw-r--r--apps/files/l10n/ru.js5
-rw-r--r--apps/files/l10n/ru.json5
-rw-r--r--apps/files/l10n/sc.js2
-rw-r--r--apps/files/l10n/sc.json2
-rw-r--r--apps/files/l10n/sk.js5
-rw-r--r--apps/files/l10n/sk.json5
-rw-r--r--apps/files/l10n/sl.js5
-rw-r--r--apps/files/l10n/sl.json5
-rw-r--r--apps/files/l10n/sr.js5
-rw-r--r--apps/files/l10n/sr.json5
-rw-r--r--apps/files/l10n/sv.js5
-rw-r--r--apps/files/l10n/sv.json5
-rw-r--r--apps/files/l10n/sw.js4
-rw-r--r--apps/files/l10n/sw.json4
-rw-r--r--apps/files/l10n/th.js1
-rw-r--r--apps/files/l10n/th.json1
-rw-r--r--apps/files/l10n/tr.js5
-rw-r--r--apps/files/l10n/tr.json5
-rw-r--r--apps/files/l10n/ug.js3
-rw-r--r--apps/files/l10n/ug.json3
-rw-r--r--apps/files/l10n/uk.js5
-rw-r--r--apps/files/l10n/uk.json5
-rw-r--r--apps/files/l10n/vi.js3
-rw-r--r--apps/files/l10n/vi.json3
-rw-r--r--apps/files/l10n/zh_CN.js5
-rw-r--r--apps/files/l10n/zh_CN.json5
-rw-r--r--apps/files/l10n/zh_HK.js5
-rw-r--r--apps/files/l10n/zh_HK.json5
-rw-r--r--apps/files/l10n/zh_TW.js5
-rw-r--r--apps/files/l10n/zh_TW.json5
-rw-r--r--apps/files/src/actions/openInFilesAction.spec.ts2
-rw-r--r--apps/files/src/actions/openInFilesAction.ts18
-rw-r--r--apps/files/src/components/FilesNavigationItem.vue8
-rw-r--r--apps/files/src/components/FilesNavigationSearch.vue122
-rw-r--r--apps/files/src/composables/useBeforeNavigation.ts20
-rw-r--r--apps/files/src/composables/useFilenameFilter.ts47
-rw-r--r--apps/files/src/eventbus.d.ts12
-rw-r--r--apps/files/src/filters/FilenameFilter.ts18
-rw-r--r--apps/files/src/init.ts9
-rw-r--r--apps/files/src/router/router.ts27
-rw-r--r--apps/files/src/services/Search.spec.ts61
-rw-r--r--apps/files/src/services/Search.ts44
-rw-r--r--apps/files/src/services/WebDavSearch.ts83
-rw-r--r--apps/files/src/store/files.ts23
-rw-r--r--apps/files/src/store/search.ts170
-rw-r--r--apps/files/src/types.ts5
-rw-r--r--apps/files/src/views/FilesList.vue30
-rw-r--r--apps/files/src/views/Navigation.cy.ts25
-rw-r--r--apps/files/src/views/Navigation.vue16
-rw-r--r--apps/files/src/views/SearchEmptyView.vue57
-rw-r--r--apps/files/src/views/files.ts9
-rw-r--r--apps/files/src/views/search.ts51
-rw-r--r--apps/files/tests/Activity/Filter/GenericTest.php28
-rw-r--r--apps/files/tests/Activity/ProviderTest.php8
-rw-r--r--apps/files/tests/Activity/Setting/GenericTest.php32
-rw-r--r--apps/files/tests/AdvancedCapabilitiesTest.php4
-rw-r--r--apps/files/tests/Command/DeleteOrphanedFilesTest.php2
-rw-r--r--apps/files/tests/Controller/ApiControllerTest.php6
-rw-r--r--apps/files/tests/Controller/ViewControllerTest.php4
-rw-r--r--apps/files/tests/HelperTest.php4
-rw-r--r--apps/files/tests/Service/TagServiceTest.php2
131 files changed, 1116 insertions, 699 deletions
diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js
index ffd13adc0d5..8fb1fefdee5 100644
--- a/apps/files/l10n/ar.js
+++ b/apps/files/l10n/ar.js
@@ -121,6 +121,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "لم يتم عرض هذه القائمة بالكامل لأسباب تتعلق بالأداء. سيتم عرض الملفات تباعاً أثناء التنقل عبر القائمة.",
"File not found" : "تعذر العثور على الملف",
"_{count} selected_::_{count} selected_" : ["{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده"],
+ "Filter file names …" : "فلترة أسماء الملفات ...",
+ "Filter in current view" : "تصفية في المنظور الحالي",
+ "Search globally" : "بحث عام",
"{usedQuotaByte} used" : "{usedQuotaByte} مستخدمة",
"{used} of {quota} used" : "{used} من {quota} مستخدم",
"{relative}% used" : "{relative}% مستخدمة",
@@ -175,7 +178,6 @@ OC.L10N.register(
"No files in here" : "لا توجد ملفات هنا ",
"Upload some content or sync with your devices!" : "ارفع بعض المحتوى أو قم بالمزامنة مع أجهزتك!",
"Go back" : "العودة",
- "Filter file names …" : "فلترة أسماء الملفات ...",
"Views" : "مشاهدات",
"Files settings" : "إعدادات الملفات",
"Your files" : "ملفاتك",
@@ -359,6 +361,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "قائمة بالملفات والمجلدات التي تمّ تعديلها مؤخراً.",
"No recently modified files" : "لا توجد أي ملفات تمّ تعديلها مؤخراً",
"Files and folders you recently modified will show up here." : "الملفات و المجلدات التي تمّ تعديلها مؤخراً ستظهر هنا.",
+ "Search" : "بحث",
"No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ",
"Select all" : "تحديد الكل ",
"Upload too large" : "حجم الرفع أعلى من المسموح",
diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json
index 19dc6eaad41..016155ea553 100644
--- a/apps/files/l10n/ar.json
+++ b/apps/files/l10n/ar.json
@@ -119,6 +119,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "لم يتم عرض هذه القائمة بالكامل لأسباب تتعلق بالأداء. سيتم عرض الملفات تباعاً أثناء التنقل عبر القائمة.",
"File not found" : "تعذر العثور على الملف",
"_{count} selected_::_{count} selected_" : ["{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده"],
+ "Filter file names …" : "فلترة أسماء الملفات ...",
+ "Filter in current view" : "تصفية في المنظور الحالي",
+ "Search globally" : "بحث عام",
"{usedQuotaByte} used" : "{usedQuotaByte} مستخدمة",
"{used} of {quota} used" : "{used} من {quota} مستخدم",
"{relative}% used" : "{relative}% مستخدمة",
@@ -173,7 +176,6 @@
"No files in here" : "لا توجد ملفات هنا ",
"Upload some content or sync with your devices!" : "ارفع بعض المحتوى أو قم بالمزامنة مع أجهزتك!",
"Go back" : "العودة",
- "Filter file names …" : "فلترة أسماء الملفات ...",
"Views" : "مشاهدات",
"Files settings" : "إعدادات الملفات",
"Your files" : "ملفاتك",
@@ -357,6 +359,7 @@
"List of recently modified files and folders." : "قائمة بالملفات والمجلدات التي تمّ تعديلها مؤخراً.",
"No recently modified files" : "لا توجد أي ملفات تمّ تعديلها مؤخراً",
"Files and folders you recently modified will show up here." : "الملفات و المجلدات التي تمّ تعديلها مؤخراً ستظهر هنا.",
+ "Search" : "بحث",
"No entries found in this folder" : "لا يوجد مدخلات في هذا المجلد ",
"Select all" : "تحديد الكل ",
"Upload too large" : "حجم الرفع أعلى من المسموح",
diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js
index 3d323bc8cf9..9754ea69d6f 100644
--- a/apps/files/l10n/ast.js
+++ b/apps/files/l10n/ast.js
@@ -90,6 +90,8 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Les testeres de les columnes con botones puen ordenase.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta llista nun ta completa por motivos de rindimientu. Los ficheros van apaecer a midida que navegues pela llista.",
"File not found" : "Nun s'atopó'l ficheru",
+ "Filter in current view" : "Peñerar na vista actual",
+ "Search globally" : "Buscar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} n'usu",
"{used} of {quota} used" : "{used} de {quota} n'usu",
"{relative}% used" : "{relative}% n'usu",
@@ -250,6 +252,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Una llista de ficheros y carpetes modificaos de recién.",
"No recently modified files" : "Nun hai nengún ficheru modificáu de recién",
"Files and folders you recently modified will show up here." : "Equí apaecen los ficheros y les carpetes modificaes de recién.",
+ "Search" : "Buscar",
"No entries found in this folder" : "Nun s'atopó nenguna entrada nesta carpeta",
"Select all" : "Seleicionar too",
"Upload too large" : "La xuba ye mui grande",
diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json
index 1d456c10637..cce84970360 100644
--- a/apps/files/l10n/ast.json
+++ b/apps/files/l10n/ast.json
@@ -88,6 +88,8 @@
"Column headers with buttons are sortable." : "Les testeres de les columnes con botones puen ordenase.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta llista nun ta completa por motivos de rindimientu. Los ficheros van apaecer a midida que navegues pela llista.",
"File not found" : "Nun s'atopó'l ficheru",
+ "Filter in current view" : "Peñerar na vista actual",
+ "Search globally" : "Buscar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} n'usu",
"{used} of {quota} used" : "{used} de {quota} n'usu",
"{relative}% used" : "{relative}% n'usu",
@@ -248,6 +250,7 @@
"List of recently modified files and folders." : "Una llista de ficheros y carpetes modificaos de recién.",
"No recently modified files" : "Nun hai nengún ficheru modificáu de recién",
"Files and folders you recently modified will show up here." : "Equí apaecen los ficheros y les carpetes modificaes de recién.",
+ "Search" : "Buscar",
"No entries found in this folder" : "Nun s'atopó nenguna entrada nesta carpeta",
"Select all" : "Seleicionar too",
"Upload too large" : "La xuba ye mui grande",
diff --git a/apps/files/l10n/bg.js b/apps/files/l10n/bg.js
index ec156230010..46649be6767 100644
--- a/apps/files/l10n/bg.js
+++ b/apps/files/l10n/bg.js
@@ -79,6 +79,7 @@ OC.L10N.register(
"Actions" : "Действия",
"File not found" : "Файлът не е намерен",
"_{count} selected_::_{count} selected_" : ["{count} избрани","{count} избрани"],
+ "Search globally" : "Глобално търсене ",
"{usedQuotaByte} used" : "{usedQuotaByte} използвано",
"{used} of {quota} used" : "{used} от {quota} използвани",
"{relative}% used" : "{relative}% използвано",
@@ -187,6 +188,7 @@ OC.L10N.register(
"Personal files" : "Лични файлове",
"No personal files found" : "Не са открити лични файлове",
"Recent" : "Последни",
+ "Search" : "Търсене",
"No entries found in this folder" : "Няма намерени записи в тази папка",
"Select all" : "Избери всички",
"Upload too large" : "Прекалено голям файл за качване",
diff --git a/apps/files/l10n/bg.json b/apps/files/l10n/bg.json
index 9f2a5de769d..2f04929874f 100644
--- a/apps/files/l10n/bg.json
+++ b/apps/files/l10n/bg.json
@@ -77,6 +77,7 @@
"Actions" : "Действия",
"File not found" : "Файлът не е намерен",
"_{count} selected_::_{count} selected_" : ["{count} избрани","{count} избрани"],
+ "Search globally" : "Глобално търсене ",
"{usedQuotaByte} used" : "{usedQuotaByte} използвано",
"{used} of {quota} used" : "{used} от {quota} използвани",
"{relative}% used" : "{relative}% използвано",
@@ -185,6 +186,7 @@
"Personal files" : "Лични файлове",
"No personal files found" : "Не са открити лични файлове",
"Recent" : "Последни",
+ "Search" : "Търсене",
"No entries found in this folder" : "Няма намерени записи в тази папка",
"Select all" : "Избери всички",
"Upload too large" : "Прекалено голям файл за качване",
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index c087434a9d2..0dae2817569 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -116,6 +116,9 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Les capçaleres de columna amb botons es poder ordenar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Aquesta llista no es mostra completament per raons de rendiment. Es mostraran els fitxers a mesura que navegueu per la llista.",
"File not found" : "No s'ha trobat el fitxer",
+ "Filter file names …" : "Filtra els noms dels fitxers …",
+ "Filter in current view" : "Filtra a la vista actual",
+ "Search globally" : "Cerca globalment",
"{usedQuotaByte} used" : "{usedQuotaByte} en ús",
"{used} of {quota} used" : "{used} de {quota} en ús",
"{relative}% used" : "{relative}% en ús",
@@ -170,7 +173,6 @@ OC.L10N.register(
"No files in here" : "No hi ha cap fitxer aquí",
"Upload some content or sync with your devices!" : "Pugeu contingut o sincronitzeu els vostres dispositius!",
"Go back" : "Torna",
- "Filter file names …" : "Filtra els noms dels fitxers …",
"Views" : "Vistes",
"Files settings" : "Paràmetres de Fitxers",
"Your files" : "Els vostres fitxers",
@@ -353,6 +355,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Llista de fitxers i carpetes modificats recentment.",
"No recently modified files" : "No hi ha cap fitxer modificat recentment",
"Files and folders you recently modified will show up here." : "Els fitxers i les carpetes que heu modificat recentment es mostraran aquí.",
+ "Search" : "Cercar",
"No entries found in this folder" : "No s'ha trobat cap entrada en aquesta carpeta",
"Select all" : "Selecciona-ho tot",
"Upload too large" : "La pujada és massa gran",
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 1990d885d0b..295c3fc10a0 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -114,6 +114,9 @@
"Column headers with buttons are sortable." : "Les capçaleres de columna amb botons es poder ordenar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Aquesta llista no es mostra completament per raons de rendiment. Es mostraran els fitxers a mesura que navegueu per la llista.",
"File not found" : "No s'ha trobat el fitxer",
+ "Filter file names …" : "Filtra els noms dels fitxers …",
+ "Filter in current view" : "Filtra a la vista actual",
+ "Search globally" : "Cerca globalment",
"{usedQuotaByte} used" : "{usedQuotaByte} en ús",
"{used} of {quota} used" : "{used} de {quota} en ús",
"{relative}% used" : "{relative}% en ús",
@@ -168,7 +171,6 @@
"No files in here" : "No hi ha cap fitxer aquí",
"Upload some content or sync with your devices!" : "Pugeu contingut o sincronitzeu els vostres dispositius!",
"Go back" : "Torna",
- "Filter file names …" : "Filtra els noms dels fitxers …",
"Views" : "Vistes",
"Files settings" : "Paràmetres de Fitxers",
"Your files" : "Els vostres fitxers",
@@ -351,6 +353,7 @@
"List of recently modified files and folders." : "Llista de fitxers i carpetes modificats recentment.",
"No recently modified files" : "No hi ha cap fitxer modificat recentment",
"Files and folders you recently modified will show up here." : "Els fitxers i les carpetes que heu modificat recentment es mostraran aquí.",
+ "Search" : "Cercar",
"No entries found in this folder" : "No s'ha trobat cap entrada en aquesta carpeta",
"Select all" : "Selecciona-ho tot",
"Upload too large" : "La pujada és massa gran",
diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js
index 43010512ed6..c404a0e8896 100644
--- a/apps/files/l10n/cs.js
+++ b/apps/files/l10n/cs.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Seznam není vykreslen celý z důvodu nároků na výkon. Soubory budou dokreslovány, jak se budete posouvat seznamem.",
"File not found" : "Soubor nenalezen",
"_{count} selected_::_{count} selected_" : ["vybráno {count}","vybráno {count}","vybráno {count}","vybráno {count}"],
+ "Filter file names …" : "Filtrovat názvy souborů…",
+ "Filter in current view" : "Filtrovat ve stávajícím pohledu",
+ "Search globally" : "Hledat všude",
"{usedQuotaByte} used" : "{usedQuotaByte} využito",
"{used} of {quota} used" : "Využito {used} z {quota} ",
"{relative}% used" : "{relative}% využito",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Žádné soubory",
"Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo proveďte synchronizaci se svými zařízeními!",
"Go back" : "Jít zpět",
- "Filter file names …" : "Filtrovat názvy souborů…",
"Views" : "Zobrazení",
"Files settings" : "Nastavení pro Soubory",
"Your files" : "Vaše soubory",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Seznam nedávno změněných souborů a složek.",
"No recently modified files" : "Žádné nedávno změněné soubory.",
"Files and folders you recently modified will show up here." : "Zde budou zobrazeny soubory a složky, které jste nedávno změnili.",
+ "Search" : "Hledat",
"No entries found in this folder" : "V této složce nebylo nic nalezeno",
"Select all" : "Vybrat vše",
"Upload too large" : "Nahrávaná data jsou příliš objemná",
diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json
index 20cfeaa25a0..be8f144ea46 100644
--- a/apps/files/l10n/cs.json
+++ b/apps/files/l10n/cs.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Seznam není vykreslen celý z důvodu nároků na výkon. Soubory budou dokreslovány, jak se budete posouvat seznamem.",
"File not found" : "Soubor nenalezen",
"_{count} selected_::_{count} selected_" : ["vybráno {count}","vybráno {count}","vybráno {count}","vybráno {count}"],
+ "Filter file names …" : "Filtrovat názvy souborů…",
+ "Filter in current view" : "Filtrovat ve stávajícím pohledu",
+ "Search globally" : "Hledat všude",
"{usedQuotaByte} used" : "{usedQuotaByte} využito",
"{used} of {quota} used" : "Využito {used} z {quota} ",
"{relative}% used" : "{relative}% využito",
@@ -177,7 +180,6 @@
"No files in here" : "Žádné soubory",
"Upload some content or sync with your devices!" : "Nahrajte nějaký obsah nebo proveďte synchronizaci se svými zařízeními!",
"Go back" : "Jít zpět",
- "Filter file names …" : "Filtrovat názvy souborů…",
"Views" : "Zobrazení",
"Files settings" : "Nastavení pro Soubory",
"Your files" : "Vaše soubory",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Seznam nedávno změněných souborů a složek.",
"No recently modified files" : "Žádné nedávno změněné soubory.",
"Files and folders you recently modified will show up here." : "Zde budou zobrazeny soubory a složky, které jste nedávno změnili.",
+ "Search" : "Hledat",
"No entries found in this folder" : "V této složce nebylo nic nalezeno",
"Select all" : "Vybrat vše",
"Upload too large" : "Nahrávaná data jsou příliš objemná",
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index 4a538d91e3f..ba026632a77 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -116,6 +116,9 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Kolonneoverskrifter med knapper er sorterbare.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Hele listen er ikke hentet, af hensyn til størrelsen. Listen vil blive hentet løbende som du kører igennem listen.",
"File not found" : "Filen blev ikke fundet",
+ "Filter file names …" : "Filtrer filnavne ...",
+ "Filter in current view" : "Filtrer i den aktuelle visning",
+ "Search globally" : "Søg globalt",
"{usedQuotaByte} used" : "{usedQuotaByte} brugt",
"{used} of {quota} used" : "{used} af {quota} brugt",
"{relative}% used" : "{relative}% brugt",
@@ -170,7 +173,6 @@ OC.L10N.register(
"No files in here" : "Her er ingen filer",
"Upload some content or sync with your devices!" : "Upload indhold eller synkroniser med dine enheder!",
"Go back" : "Gå tilbage",
- "Filter file names …" : "Filtrer filnavne ...",
"Views" : "Visninger",
"Files settings" : "indstillinger for filer",
"Your files" : "Dine filer",
@@ -353,6 +355,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Liste med nyligt ændrede filer og mapper.",
"No recently modified files" : "Ingen filer er ændret for nyligt",
"Files and folders you recently modified will show up here." : "Filer og mapper som du har ændret for nyligt, vil blive vist her.",
+ "Search" : "Søg",
"No entries found in this folder" : "Der blev ikke fundet poster i denne mappe",
"Select all" : "Vælg alle",
"Upload too large" : "Upload er for stor",
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index 95cd920e0a0..66052672b5b 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -114,6 +114,9 @@
"Column headers with buttons are sortable." : "Kolonneoverskrifter med knapper er sorterbare.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Hele listen er ikke hentet, af hensyn til størrelsen. Listen vil blive hentet løbende som du kører igennem listen.",
"File not found" : "Filen blev ikke fundet",
+ "Filter file names …" : "Filtrer filnavne ...",
+ "Filter in current view" : "Filtrer i den aktuelle visning",
+ "Search globally" : "Søg globalt",
"{usedQuotaByte} used" : "{usedQuotaByte} brugt",
"{used} of {quota} used" : "{used} af {quota} brugt",
"{relative}% used" : "{relative}% brugt",
@@ -168,7 +171,6 @@
"No files in here" : "Her er ingen filer",
"Upload some content or sync with your devices!" : "Upload indhold eller synkroniser med dine enheder!",
"Go back" : "Gå tilbage",
- "Filter file names …" : "Filtrer filnavne ...",
"Views" : "Visninger",
"Files settings" : "indstillinger for filer",
"Your files" : "Dine filer",
@@ -351,6 +353,7 @@
"List of recently modified files and folders." : "Liste med nyligt ændrede filer og mapper.",
"No recently modified files" : "Ingen filer er ændret for nyligt",
"Files and folders you recently modified will show up here." : "Filer og mapper som du har ændret for nyligt, vil blive vist her.",
+ "Search" : "Søg",
"No entries found in this folder" : "Der blev ikke fundet poster i denne mappe",
"Select all" : "Vælg alle",
"Upload too large" : "Upload er for stor",
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 80d45307fee..0df8f2e31b7 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Diese Liste wird aus Performance-Gründen nicht vollständig angezeigt. Die Dateien werden angezeigt, wenn du durch die Liste navigierst.",
"File not found" : "Datei nicht gefunden",
"_{count} selected_::_{count} selected_" : ["{count} ausgewählt","{count} ausgewählt"],
+ "Filter file names …" : "Dateinamen filtern …",
+ "Filter in current view" : "Filter in aktueller Ansicht",
+ "Search globally" : "Global suchen",
"{usedQuotaByte} used" : "{usedQuotaByte} verwendet",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{relative}% used" : "{relative} % verwendet",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Lade Inhalte hoch oder synchronisiere sie mit deinen Geräten!",
"Go back" : "Zurückgehen",
- "Filter file names …" : "Dateinamen filtern …",
"Views" : "Ansichten",
"Files settings" : "Dateien-Einstellungen",
"Your files" : "Deine Dateien",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Liste der zuletzt geänderten Dateien und Ordner",
"No recently modified files" : "Keine kürzlich geänderten Dateien",
"Files and folders you recently modified will show up here." : "Die von dir kürzlich geänderten Dateien und Ordner werden hier angezeigt.",
+ "Search" : "Suche",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
"Select all" : "Alle auswählen",
"Upload too large" : "Der Upload ist zu groß",
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index 571b3a02f62..a7a33327406 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Diese Liste wird aus Performance-Gründen nicht vollständig angezeigt. Die Dateien werden angezeigt, wenn du durch die Liste navigierst.",
"File not found" : "Datei nicht gefunden",
"_{count} selected_::_{count} selected_" : ["{count} ausgewählt","{count} ausgewählt"],
+ "Filter file names …" : "Dateinamen filtern …",
+ "Filter in current view" : "Filter in aktueller Ansicht",
+ "Search globally" : "Global suchen",
"{usedQuotaByte} used" : "{usedQuotaByte} verwendet",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{relative}% used" : "{relative} % verwendet",
@@ -177,7 +180,6 @@
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Lade Inhalte hoch oder synchronisiere sie mit deinen Geräten!",
"Go back" : "Zurückgehen",
- "Filter file names …" : "Dateinamen filtern …",
"Views" : "Ansichten",
"Files settings" : "Dateien-Einstellungen",
"Your files" : "Deine Dateien",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Liste der zuletzt geänderten Dateien und Ordner",
"No recently modified files" : "Keine kürzlich geänderten Dateien",
"Files and folders you recently modified will show up here." : "Die von dir kürzlich geänderten Dateien und Ordner werden hier angezeigt.",
+ "Search" : "Suche",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
"Select all" : "Alle auswählen",
"Upload too large" : "Der Upload ist zu groß",
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index 2528fa26903..1d02f182bf9 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Diese Liste ist aus Performance-Gründen nicht vollständig gerendert. Die Dateien werden gerendert, wenn Sie durch die Liste navigieren.",
"File not found" : "Datei nicht gefunden",
"_{count} selected_::_{count} selected_" : ["{count} ausgewählt","{count} ausgewählt"],
+ "Filter file names …" : "Dateinamen filtern …",
+ "Filter in current view" : "Filter in aktueller Ansicht",
+ "Search globally" : "Global suchen",
"{usedQuotaByte} used" : "{usedQuotaByte} verwendet",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{relative}% used" : "{relative} % verwendet",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie Ihre Geräte!",
"Go back" : "Zurückgehen",
- "Filter file names …" : "Dateinamen filtern …",
"Views" : "Ansichten",
"Files settings" : "Dateien-Einstellungen",
"Your files" : "Ihre Dateien",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Liste der zuletzt geänderten Dateien und Ordner.",
"No recently modified files" : "Keine kürzlich geänderten Dateien",
"Files and folders you recently modified will show up here." : "Die von Ihnen kürzlich geänderten Dateien und Ordner werden hier angezeigt.",
+ "Search" : "Suche",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
"Select all" : "Alle auswählen",
"Upload too large" : "Der Upload ist zu groß",
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index 2a661823839..268051e6d84 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Diese Liste ist aus Performance-Gründen nicht vollständig gerendert. Die Dateien werden gerendert, wenn Sie durch die Liste navigieren.",
"File not found" : "Datei nicht gefunden",
"_{count} selected_::_{count} selected_" : ["{count} ausgewählt","{count} ausgewählt"],
+ "Filter file names …" : "Dateinamen filtern …",
+ "Filter in current view" : "Filter in aktueller Ansicht",
+ "Search globally" : "Global suchen",
"{usedQuotaByte} used" : "{usedQuotaByte} verwendet",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{relative}% used" : "{relative} % verwendet",
@@ -177,7 +180,6 @@
"No files in here" : "Keine Dateien vorhanden",
"Upload some content or sync with your devices!" : "Laden Sie Inhalte hoch oder synchronisieren Sie Ihre Geräte!",
"Go back" : "Zurückgehen",
- "Filter file names …" : "Dateinamen filtern …",
"Views" : "Ansichten",
"Files settings" : "Dateien-Einstellungen",
"Your files" : "Ihre Dateien",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Liste der zuletzt geänderten Dateien und Ordner.",
"No recently modified files" : "Keine kürzlich geänderten Dateien",
"Files and folders you recently modified will show up here." : "Die von Ihnen kürzlich geänderten Dateien und Ordner werden hier angezeigt.",
+ "Search" : "Suche",
"No entries found in this folder" : "Keine Einträge in diesem Ordner gefunden",
"Select all" : "Alle auswählen",
"Upload too large" : "Der Upload ist zu groß",
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index bbd987f01d2..0f66a898119 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -96,6 +96,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Οι επικεφαλίδες στηλών με κουμπιά είναι ταξινομήσιμες.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Η λίστα αυτή δεν εμφανίζεται πλήρως για λόγους απόδοσης. Τα αρχεία θα εμφανίζονται καθώς πλοηγείστε στη λίστα.",
"File not found" : "Δε βρέθηκε το αρχείο",
+ "Search globally" : "Γενική αναζήτηση",
"{usedQuotaByte} used" : "{usedQuotaByte} χρησιμοποιείται",
"{used} of {quota} used" : "Χρήση {used} από {quota} ",
"{relative}% used" : "{relative}% χρησιμοποιείται",
@@ -256,6 +257,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Λίστα των πρόσφατα τροποποιημένων αρχείων και φακέλων.",
"No recently modified files" : "Δεν υπάρχουν πρόσφατα τροποποιημένα αρχεία",
"Files and folders you recently modified will show up here." : "Εδώ θα εμφανίζονται τα αρχεία και οι φάκελοι που τροποποιήσατε πρόσφατα.",
+ "Search" : "Αναζήτηση",
"No entries found in this folder" : "Δεν βρέθηκαν καταχωρήσεις σε αυτόν το φάκελο",
"Select all" : "Επιλογή όλων",
"Upload too large" : "Πολύ μεγάλο αρχείο προς μεταφόρτωση",
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index 22fa14b31d6..b4a049d5bca 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -94,6 +94,7 @@
"Column headers with buttons are sortable." : "Οι επικεφαλίδες στηλών με κουμπιά είναι ταξινομήσιμες.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Η λίστα αυτή δεν εμφανίζεται πλήρως για λόγους απόδοσης. Τα αρχεία θα εμφανίζονται καθώς πλοηγείστε στη λίστα.",
"File not found" : "Δε βρέθηκε το αρχείο",
+ "Search globally" : "Γενική αναζήτηση",
"{usedQuotaByte} used" : "{usedQuotaByte} χρησιμοποιείται",
"{used} of {quota} used" : "Χρήση {used} από {quota} ",
"{relative}% used" : "{relative}% χρησιμοποιείται",
@@ -254,6 +255,7 @@
"List of recently modified files and folders." : "Λίστα των πρόσφατα τροποποιημένων αρχείων και φακέλων.",
"No recently modified files" : "Δεν υπάρχουν πρόσφατα τροποποιημένα αρχεία",
"Files and folders you recently modified will show up here." : "Εδώ θα εμφανίζονται τα αρχεία και οι φάκελοι που τροποποιήσατε πρόσφατα.",
+ "Search" : "Αναζήτηση",
"No entries found in this folder" : "Δεν βρέθηκαν καταχωρήσεις σε αυτόν το φάκελο",
"Select all" : "Επιλογή όλων",
"Upload too large" : "Πολύ μεγάλο αρχείο προς μεταφόρτωση",
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index 651479c0ba3..488d2062a36 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.",
"File not found" : "File not found",
"_{count} selected_::_{count} selected_" : ["{count} selected","{count} selected"],
+ "Filter file names …" : "Filter file names …",
+ "Filter in current view" : "Filter in current view",
+ "Search globally" : "Search globally",
"{usedQuotaByte} used" : "{usedQuotaByte} used",
"{used} of {quota} used" : "{used} of {quota} used",
"{relative}% used" : "{relative}% used",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "No files in here",
"Upload some content or sync with your devices!" : "Upload some content or sync with your devices!",
"Go back" : "Go back",
- "Filter file names …" : "Filter file names …",
"Views" : "Views",
"Files settings" : "Files settings",
"Your files" : "Your files",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "List of recently modified files and folders.",
"No recently modified files" : "No recently modified files",
"Files and folders you recently modified will show up here." : "Files and folders you recently modified will show up here.",
+ "Search" : "Search",
"No entries found in this folder" : "No entries found in this folder",
"Select all" : "Select all",
"Upload too large" : "Upload too large",
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index c0be990b162..c91f37c53e9 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.",
"File not found" : "File not found",
"_{count} selected_::_{count} selected_" : ["{count} selected","{count} selected"],
+ "Filter file names …" : "Filter file names …",
+ "Filter in current view" : "Filter in current view",
+ "Search globally" : "Search globally",
"{usedQuotaByte} used" : "{usedQuotaByte} used",
"{used} of {quota} used" : "{used} of {quota} used",
"{relative}% used" : "{relative}% used",
@@ -177,7 +180,6 @@
"No files in here" : "No files in here",
"Upload some content or sync with your devices!" : "Upload some content or sync with your devices!",
"Go back" : "Go back",
- "Filter file names …" : "Filter file names …",
"Views" : "Views",
"Files settings" : "Files settings",
"Your files" : "Your files",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "List of recently modified files and folders.",
"No recently modified files" : "No recently modified files",
"Files and folders you recently modified will show up here." : "Files and folders you recently modified will show up here.",
+ "Search" : "Search",
"No entries found in this folder" : "No entries found in this folder",
"Select all" : "Select all",
"Upload too large" : "Upload too large",
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index f719cf94b8f..548c917a853 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -118,6 +118,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista no se muestra completamente por motivos de rendimiento. Los archivos se mostrarán a medida que navega por la lista.",
"File not found" : "No se ha encontrado el archivo",
"_{count} selected_::_{count} selected_" : ["{count}seleccionado","{count} seleccionados","{count} seleccionados"],
+ "Filter file names …" : "Filtrar nombres de archivo…",
+ "Filter in current view" : "Filtrar en la vista actual",
+ "Search globally" : "Buscar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} utilizados",
"{used} of {quota} used" : "{used} usados de {quota}",
"{relative}% used" : "{relative}% utilizado",
@@ -172,7 +175,6 @@ OC.L10N.register(
"No files in here" : "Aquí no hay archivos",
"Upload some content or sync with your devices!" : "¡Suba contenidos o sincronice sus dispositivos!",
"Go back" : "Ir atrás",
- "Filter file names …" : "Filtrar nombres de archivo…",
"Views" : "Vistas",
"Files settings" : "Configuración de archivos",
"Your files" : "Sus archivos",
@@ -356,6 +358,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista de archivos y carpetas modificados recientemente.",
"No recently modified files" : "No hay archivos modificados recientemente.",
"Files and folders you recently modified will show up here." : "Los archivos y carpetas que ha modificado recientemente aparecerán aquí.",
+ "Search" : "Buscar",
"No entries found in this folder" : "No hay entradas en esta carpeta",
"Select all" : "Seleccionar todo",
"Upload too large" : "Subida demasido grande",
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 3d6910f16fd..4069dd702c1 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -116,6 +116,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista no se muestra completamente por motivos de rendimiento. Los archivos se mostrarán a medida que navega por la lista.",
"File not found" : "No se ha encontrado el archivo",
"_{count} selected_::_{count} selected_" : ["{count}seleccionado","{count} seleccionados","{count} seleccionados"],
+ "Filter file names …" : "Filtrar nombres de archivo…",
+ "Filter in current view" : "Filtrar en la vista actual",
+ "Search globally" : "Buscar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} utilizados",
"{used} of {quota} used" : "{used} usados de {quota}",
"{relative}% used" : "{relative}% utilizado",
@@ -170,7 +173,6 @@
"No files in here" : "Aquí no hay archivos",
"Upload some content or sync with your devices!" : "¡Suba contenidos o sincronice sus dispositivos!",
"Go back" : "Ir atrás",
- "Filter file names …" : "Filtrar nombres de archivo…",
"Views" : "Vistas",
"Files settings" : "Configuración de archivos",
"Your files" : "Sus archivos",
@@ -354,6 +356,7 @@
"List of recently modified files and folders." : "Lista de archivos y carpetas modificados recientemente.",
"No recently modified files" : "No hay archivos modificados recientemente.",
"Files and folders you recently modified will show up here." : "Los archivos y carpetas que ha modificado recientemente aparecerán aquí.",
+ "Search" : "Buscar",
"No entries found in this folder" : "No hay entradas en esta carpeta",
"Select all" : "Seleccionar todo",
"Upload too large" : "Subida demasido grande",
diff --git a/apps/files/l10n/es_EC.js b/apps/files/l10n/es_EC.js
index 2f039379b4f..b68206f754d 100644
--- a/apps/files/l10n/es_EC.js
+++ b/apps/files/l10n/es_EC.js
@@ -79,6 +79,7 @@ OC.L10N.register(
"Actions" : "Acciones",
"List of files and folders." : "Lista de archivos y carpetas. ",
"_{count} selected_::_{count} selected_" : ["{count} seleccionado","{count} seleccionados","{count} seleccionado"],
+ "Search globally" : "Buscar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} usados.",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% usados.",
@@ -176,6 +177,7 @@ OC.L10N.register(
"Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
"All files" : "Todos los archivos",
"Recent" : "Reciente",
+ "Search" : "Buscar",
"No entries found in this folder" : "No se encontraron elementos en esta carpeta",
"Select all" : "Seleccionar todo",
"Upload too large" : "La carga es demasido grande",
diff --git a/apps/files/l10n/es_EC.json b/apps/files/l10n/es_EC.json
index 7d3d713a7db..81d3fcc52bc 100644
--- a/apps/files/l10n/es_EC.json
+++ b/apps/files/l10n/es_EC.json
@@ -77,6 +77,7 @@
"Actions" : "Acciones",
"List of files and folders." : "Lista de archivos y carpetas. ",
"_{count} selected_::_{count} selected_" : ["{count} seleccionado","{count} seleccionados","{count} seleccionado"],
+ "Search globally" : "Buscar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} usados.",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% usados.",
@@ -174,6 +175,7 @@
"Files and folders you mark as favorite will show up here" : "Los archivos y carpetas que marques como favoritos se mostrarán aquí. ",
"All files" : "Todos los archivos",
"Recent" : "Reciente",
+ "Search" : "Buscar",
"No entries found in this folder" : "No se encontraron elementos en esta carpeta",
"Select all" : "Seleccionar todo",
"Upload too large" : "La carga es demasido grande",
diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 69567a664bd..fc86ab9a9cf 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -106,6 +106,8 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Las columnas con botones en la cabecera son ordenables.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista no se muestra completamente por motivos de rendimiento. Los archivos se mostrarán a medida que navega por la lista.",
"File not found" : "Archivo no encontrado",
+ "Filter in current view" : "Filtrar en la vista actual",
+ "Search globally" : "Búsqueda global",
"{usedQuotaByte} used" : "{usedQuotaByte} utilizados",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% utilizado",
@@ -297,6 +299,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista de archivos y carpetas modificados recientemente.",
"No recently modified files" : "No hay archivos modificados recientemente",
"Files and folders you recently modified will show up here." : "Los archivos y carpetas que ha modificado recientemente aparecerán aquí.",
+ "Search" : "Buscar",
"No entries found in this folder" : "No se encontraron elementos en esta carpeta",
"Select all" : "Seleccionar todo",
"Upload too large" : "La carga es demasido grande",
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index 7e960a74ba7..92353da118c 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -104,6 +104,8 @@
"Column headers with buttons are sortable." : "Las columnas con botones en la cabecera son ordenables.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista no se muestra completamente por motivos de rendimiento. Los archivos se mostrarán a medida que navega por la lista.",
"File not found" : "Archivo no encontrado",
+ "Filter in current view" : "Filtrar en la vista actual",
+ "Search globally" : "Búsqueda global",
"{usedQuotaByte} used" : "{usedQuotaByte} utilizados",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% utilizado",
@@ -295,6 +297,7 @@
"List of recently modified files and folders." : "Lista de archivos y carpetas modificados recientemente.",
"No recently modified files" : "No hay archivos modificados recientemente",
"Files and folders you recently modified will show up here." : "Los archivos y carpetas que ha modificado recientemente aparecerán aquí.",
+ "Search" : "Buscar",
"No entries found in this folder" : "No se encontraron elementos en esta carpeta",
"Select all" : "Seleccionar todo",
"Upload too large" : "La carga es demasido grande",
diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index 801501c12d3..af0ea205737 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Jõudluse mõttes ei ole kogu loend esimesel hetkel tervikuna nähtav. Uued failid lisanduvad sedamööda, kuid sa loendis edasi liigud.",
"File not found" : "Faili ei leitud",
"_{count} selected_::_{count} selected_" : ["{count} valitud","{count} valitud"],
+ "Filter file names …" : "Otsi failinimesid…",
+ "Filter in current view" : "Filtreeri selles vaates",
+ "Search globally" : "Otsi kõikjalt",
"{usedQuotaByte} used" : "{usedQuotaByte} kasutusel",
"{used} of {quota} used" : "{used} / {quota} kasutusel",
"{relative}% used" : "{relative}% kasutusel",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Siin ei ole faile",
"Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!",
"Go back" : "Mine tagasi",
- "Filter file names …" : "Otsi failinimesid…",
"Views" : "Vaated",
"Files settings" : "Failide seadistused",
"Your files" : "Sinu failid",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Hiljuti muudetud failide ja kaustade loend.",
"No recently modified files" : "Hiljuti muudetud faile pole.",
"Files and folders you recently modified will show up here." : "Failid ja kaustad, mida oled hiljuti muutnud, ilmuvad siia.",
+ "Search" : "Otsi",
"No entries found in this folder" : "Selles kaustast ei leitud kirjeid",
"Select all" : "Vali kõik",
"Upload too large" : "Üleslaadimine on liiga suur",
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index 16ec2e6a3fd..9fe96e28d0c 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Jõudluse mõttes ei ole kogu loend esimesel hetkel tervikuna nähtav. Uued failid lisanduvad sedamööda, kuid sa loendis edasi liigud.",
"File not found" : "Faili ei leitud",
"_{count} selected_::_{count} selected_" : ["{count} valitud","{count} valitud"],
+ "Filter file names …" : "Otsi failinimesid…",
+ "Filter in current view" : "Filtreeri selles vaates",
+ "Search globally" : "Otsi kõikjalt",
"{usedQuotaByte} used" : "{usedQuotaByte} kasutusel",
"{used} of {quota} used" : "{used} / {quota} kasutusel",
"{relative}% used" : "{relative}% kasutusel",
@@ -177,7 +180,6 @@
"No files in here" : "Siin ei ole faile",
"Upload some content or sync with your devices!" : "Laadi sisu üles või süngi oma seadmetega!",
"Go back" : "Mine tagasi",
- "Filter file names …" : "Otsi failinimesid…",
"Views" : "Vaated",
"Files settings" : "Failide seadistused",
"Your files" : "Sinu failid",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Hiljuti muudetud failide ja kaustade loend.",
"No recently modified files" : "Hiljuti muudetud faile pole.",
"Files and folders you recently modified will show up here." : "Failid ja kaustad, mida oled hiljuti muutnud, ilmuvad siia.",
+ "Search" : "Otsi",
"No entries found in this folder" : "Selles kaustast ei leitud kirjeid",
"Select all" : "Vali kõik",
"Upload too large" : "Üleslaadimine on liiga suur",
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index c556069b0b4..8c5a2822ad1 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -112,6 +112,8 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Zerrenda hau ez da guztiz ikusten errendimendu arrazoiengatik. Fitxategiak zerrendan zehar nabigatzen duten heinean bistaratuko dira.",
"File not found" : "Ez da fitxategia aurkitu",
"_{count} selected_::_{count} selected_" : ["{count} hautatuta","{count} hautatuta"],
+ "Filter in current view" : "Iragazi uneko ikuspegian",
+ "Search globally" : "Bilatu globalki",
"{usedQuotaByte} used" : "{usedQuotaByte} erabilita",
"{used} of {quota} used" : "{used} / {quota} erabilita",
"{relative}% used" : "%{relative} erabilita",
@@ -324,6 +326,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Azkenaldian aldatutako fitxategi eta karpeten zerrenda.",
"No recently modified files" : "Ez dago azkenaldian aldatutako fitxategirik",
"Files and folders you recently modified will show up here." : "Azkenaldian aldatu dituzun fitxategi eta karpetak hemen agertuko dira.",
+ "Search" : "Bilatu",
"No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan",
"Select all" : "Hautatu dena",
"Upload too large" : "Igotzekoa handiegia da",
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index 736ee6bedfe..02fd8f79b96 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -110,6 +110,8 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Zerrenda hau ez da guztiz ikusten errendimendu arrazoiengatik. Fitxategiak zerrendan zehar nabigatzen duten heinean bistaratuko dira.",
"File not found" : "Ez da fitxategia aurkitu",
"_{count} selected_::_{count} selected_" : ["{count} hautatuta","{count} hautatuta"],
+ "Filter in current view" : "Iragazi uneko ikuspegian",
+ "Search globally" : "Bilatu globalki",
"{usedQuotaByte} used" : "{usedQuotaByte} erabilita",
"{used} of {quota} used" : "{used} / {quota} erabilita",
"{relative}% used" : "%{relative} erabilita",
@@ -322,6 +324,7 @@
"List of recently modified files and folders." : "Azkenaldian aldatutako fitxategi eta karpeten zerrenda.",
"No recently modified files" : "Ez dago azkenaldian aldatutako fitxategirik",
"Files and folders you recently modified will show up here." : "Azkenaldian aldatu dituzun fitxategi eta karpetak hemen agertuko dira.",
+ "Search" : "Bilatu",
"No entries found in this folder" : "Ez da sarrerarik aurkitu karpeta honetan",
"Select all" : "Hautatu dena",
"Upload too large" : "Igotzekoa handiegia da",
diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js
index e5d5606f2c2..76caf76ff04 100644
--- a/apps/files/l10n/fa.js
+++ b/apps/files/l10n/fa.js
@@ -124,6 +124,9 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Column headers with buttons are sortable.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "این لیست به دلایل عملکرد به طور کامل ارائه نشده است. در حین حرکت در لیست، فایل ها ارائه می شوند.",
"File not found" : "فایل یافت نشد",
+ "Filter file names …" : "Filter file names …",
+ "Filter in current view" : "فیلتر در نمای فعلی.",
+ "Search globally" : "در سطح جهان جستجو کنید",
"{usedQuotaByte} used" : "{usedQuotaByte} استفاده شده است",
"{used} of {quota} used" : "{used} از {quota} استفاده شده",
"{relative}% used" : "{relative}% used",
@@ -178,7 +181,6 @@ OC.L10N.register(
"No files in here" : "هیچ فایلی اینجا وجود ندارد",
"Upload some content or sync with your devices!" : "محتوایی را آپلود کنید یا با دستگاه خود همگام‌سازی کنید!",
"Go back" : "برگرد",
- "Filter file names …" : "Filter file names …",
"Views" : "بازدیدها",
"Files settings" : "تنظیمات پرونده‌ها",
"Your files" : "Your files",
@@ -360,6 +362,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "فهرست فایل‌ها و پوشه‌هایی که اخیراً اصلاح شده‌اند.",
"No recently modified files" : "هیچ فایلی که اخیراً اصلاح شده است",
"Files and folders you recently modified will show up here." : "فایل‌ها و پوشه‌هایی که اخیراً تغییر داده‌اید در اینجا نمایش داده می‌شوند.",
+ "Search" : "جستجو",
"No entries found in this folder" : "هیچ ورودی‌ای در این پوشه وجود ندارد",
"Select all" : "انتخاب همه",
"Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)",
diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json
index 018fea26ac3..0b929e643b5 100644
--- a/apps/files/l10n/fa.json
+++ b/apps/files/l10n/fa.json
@@ -122,6 +122,9 @@
"Column headers with buttons are sortable." : "Column headers with buttons are sortable.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "این لیست به دلایل عملکرد به طور کامل ارائه نشده است. در حین حرکت در لیست، فایل ها ارائه می شوند.",
"File not found" : "فایل یافت نشد",
+ "Filter file names …" : "Filter file names …",
+ "Filter in current view" : "فیلتر در نمای فعلی.",
+ "Search globally" : "در سطح جهان جستجو کنید",
"{usedQuotaByte} used" : "{usedQuotaByte} استفاده شده است",
"{used} of {quota} used" : "{used} از {quota} استفاده شده",
"{relative}% used" : "{relative}% used",
@@ -176,7 +179,6 @@
"No files in here" : "هیچ فایلی اینجا وجود ندارد",
"Upload some content or sync with your devices!" : "محتوایی را آپلود کنید یا با دستگاه خود همگام‌سازی کنید!",
"Go back" : "برگرد",
- "Filter file names …" : "Filter file names …",
"Views" : "بازدیدها",
"Files settings" : "تنظیمات پرونده‌ها",
"Your files" : "Your files",
@@ -358,6 +360,7 @@
"List of recently modified files and folders." : "فهرست فایل‌ها و پوشه‌هایی که اخیراً اصلاح شده‌اند.",
"No recently modified files" : "هیچ فایلی که اخیراً اصلاح شده است",
"Files and folders you recently modified will show up here." : "فایل‌ها و پوشه‌هایی که اخیراً تغییر داده‌اید در اینجا نمایش داده می‌شوند.",
+ "Search" : "جستجو",
"No entries found in this folder" : "هیچ ورودی‌ای در این پوشه وجود ندارد",
"Select all" : "انتخاب همه",
"Upload too large" : "سایز فایل برای آپلود زیاد است(م.تنظیمات در php.ini)",
diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js
index 99c5fc7ce39..94ddb2a389c 100644
--- a/apps/files/l10n/fi.js
+++ b/apps/files/l10n/fi.js
@@ -110,6 +110,9 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Painikkeilla varustetut sarakeotsikot ovat järjestettävissä.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Tätä luetteloa ei ole esitetty täysin suorituskykyyn liittyvistä syistä. Tiedostot esitetään sitä mukaa, kun selaat luetteloa.",
"File not found" : "Tiedostoa ei löytynyt",
+ "Filter file names …" : "Suodata tiedostonimiä…",
+ "Filter in current view" : "Suodata nykyisessä näkymässä",
+ "Search globally" : "Hae globaalisti",
"{usedQuotaByte} used" : "{usedQuotaByte} käytetty",
"{used} of {quota} used" : "{used}/{quota} käytetty",
"{relative}% used" : "{relative} % käytetty",
@@ -157,7 +160,6 @@ OC.L10N.register(
"No files in here" : "Täällä ei ole tiedostoja",
"Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!",
"Go back" : "Mene takaisin",
- "Filter file names …" : "Suodata tiedostonimiä…",
"Views" : "Näkymät",
"Files settings" : "Tiedostojen asetukset",
"Your files" : "Tiedostot",
@@ -321,6 +323,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Luettelo äskettäin muokatuista tiedostoista ja kansioista.",
"No recently modified files" : "Ei äskettäin muokattuja tiedostoja",
"Files and folders you recently modified will show up here." : "Äskettäin muokkaamasi tiedostot ja kansiot näkyvät täällä.",
+ "Search" : "Etsi",
"No entries found in this folder" : "Ei kohteita tässä kansiossa",
"Select all" : "Valitse kaikki",
"Upload too large" : "Lähetettävä tiedosto on liian suuri",
diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json
index d8f8ee3866b..e7810abb775 100644
--- a/apps/files/l10n/fi.json
+++ b/apps/files/l10n/fi.json
@@ -108,6 +108,9 @@
"Column headers with buttons are sortable." : "Painikkeilla varustetut sarakeotsikot ovat järjestettävissä.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Tätä luetteloa ei ole esitetty täysin suorituskykyyn liittyvistä syistä. Tiedostot esitetään sitä mukaa, kun selaat luetteloa.",
"File not found" : "Tiedostoa ei löytynyt",
+ "Filter file names …" : "Suodata tiedostonimiä…",
+ "Filter in current view" : "Suodata nykyisessä näkymässä",
+ "Search globally" : "Hae globaalisti",
"{usedQuotaByte} used" : "{usedQuotaByte} käytetty",
"{used} of {quota} used" : "{used}/{quota} käytetty",
"{relative}% used" : "{relative} % käytetty",
@@ -155,7 +158,6 @@
"No files in here" : "Täällä ei ole tiedostoja",
"Upload some content or sync with your devices!" : "Lähetä tiedostoja tai synkronoi sisältö laitteidesi kanssa!",
"Go back" : "Mene takaisin",
- "Filter file names …" : "Suodata tiedostonimiä…",
"Views" : "Näkymät",
"Files settings" : "Tiedostojen asetukset",
"Your files" : "Tiedostot",
@@ -319,6 +321,7 @@
"List of recently modified files and folders." : "Luettelo äskettäin muokatuista tiedostoista ja kansioista.",
"No recently modified files" : "Ei äskettäin muokattuja tiedostoja",
"Files and folders you recently modified will show up here." : "Äskettäin muokkaamasi tiedostot ja kansiot näkyvät täällä.",
+ "Search" : "Etsi",
"No entries found in this folder" : "Ei kohteita tässä kansiossa",
"Select all" : "Valitse kaikki",
"Upload too large" : "Lähetettävä tiedosto on liian suuri",
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index aa856f2e618..9db481a4616 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Cette liste n'est pas entièrement affichée pour des raisons de performances. Les fichiers seront affichés au fur et à mesure que vous naviguerez dans la liste.",
"File not found" : "Fichier non trouvé",
"_{count} selected_::_{count} selected_" : ["{count} sélectionné","{count} sélectionné(s)","{count} sélectionné(s)"],
+ "Filter file names …" : "Filtrer les noms de fichier…",
+ "Filter in current view" : "Filtrer dans la vue actuelle",
+ "Search globally" : "Rechercher partout",
"{usedQuotaByte} used" : "{usedQuotaByte} utilisés",
"{used} of {quota} used" : "{used} utilisés sur {quota}",
"{relative}% used" : "{relative}% utilisés",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Aucun fichier",
"Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !",
"Go back" : "Revenir en arrière",
- "Filter file names …" : "Filtrer les noms de fichier…",
"Views" : "Vues",
"Files settings" : "Paramètres de Fichiers",
"Your files" : "Vos fichiers",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Liste des fichiers et dossiers récemment modifiés.",
"No recently modified files" : "Pas de fichiers récemment modifiés",
"Files and folders you recently modified will show up here." : "Les fichiers et dossiers que vous avez récemment modifiés apparaîtront ici",
+ "Search" : "Rechercher",
"No entries found in this folder" : "Aucune entrée trouvée dans ce dossier",
"Select all" : "Tout sélectionner",
"Upload too large" : "Données envoyées trop volumineuses",
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 73ecb0659bb..918aa72bec4 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Cette liste n'est pas entièrement affichée pour des raisons de performances. Les fichiers seront affichés au fur et à mesure que vous naviguerez dans la liste.",
"File not found" : "Fichier non trouvé",
"_{count} selected_::_{count} selected_" : ["{count} sélectionné","{count} sélectionné(s)","{count} sélectionné(s)"],
+ "Filter file names …" : "Filtrer les noms de fichier…",
+ "Filter in current view" : "Filtrer dans la vue actuelle",
+ "Search globally" : "Rechercher partout",
"{usedQuotaByte} used" : "{usedQuotaByte} utilisés",
"{used} of {quota} used" : "{used} utilisés sur {quota}",
"{relative}% used" : "{relative}% utilisés",
@@ -177,7 +180,6 @@
"No files in here" : "Aucun fichier",
"Upload some content or sync with your devices!" : "Déposez du contenu ou synchronisez vos appareils !",
"Go back" : "Revenir en arrière",
- "Filter file names …" : "Filtrer les noms de fichier…",
"Views" : "Vues",
"Files settings" : "Paramètres de Fichiers",
"Your files" : "Vos fichiers",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Liste des fichiers et dossiers récemment modifiés.",
"No recently modified files" : "Pas de fichiers récemment modifiés",
"Files and folders you recently modified will show up here." : "Les fichiers et dossiers que vous avez récemment modifiés apparaîtront ici",
+ "Search" : "Rechercher",
"No entries found in this folder" : "Aucune entrée trouvée dans ce dossier",
"Select all" : "Tout sélectionner",
"Upload too large" : "Données envoyées trop volumineuses",
diff --git a/apps/files/l10n/ga.js b/apps/files/l10n/ga.js
index cc7185656dd..786aae0f542 100644
--- a/apps/files/l10n/ga.js
+++ b/apps/files/l10n/ga.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Níl an liosta seo le fáil go hiomlán ar chúiseanna feidhmíochta. Déanfar na comhaid a rindreáil agus tú ag dul tríd an liosta.",
"File not found" : "Comhad gan aimsiú",
"_{count} selected_::_{count} selected_" : ["{count} roghnaithe","{count} roghnaithe","{count} roghnaithe","{count} roghnaithe","{count} roghnaithe"],
+ "Filter file names …" : "Scag ainmneacha na gcomhad…",
+ "Filter in current view" : "Scag san amharc reatha",
+ "Search globally" : "Cuardaigh go domhanda",
"{usedQuotaByte} used" : "{usedQuotaByte} úsáidte",
"{used} of {quota} used" : "{used} de {quota} in úsáid",
"{relative}% used" : "{relative}% in úsáid",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Níl aon chomhaid istigh anseo",
"Upload some content or sync with your devices!" : "Uaslódáil roinnt inneachair nó sioncronaigh le do ghléasanna!",
"Go back" : "Dul ar ais",
- "Filter file names …" : "Scag ainmneacha na gcomhad…",
"Views" : "Radhairc",
"Files settings" : "Socruithe comhaid",
"Your files" : "Do chuid comhad",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Liosta de chomhaid agus de fhillteáin a athraíodh le déanaí.",
"No recently modified files" : "Níl aon chomhaid athraithe le déanaí",
"Files and folders you recently modified will show up here." : "Taispeánfar comhaid agus fillteáin a d'athraigh tú le déanaí anseo.",
+ "Search" : "Cuardach",
"No entries found in this folder" : "Níor aimsíodh aon iontrálacha san fhillteán seo",
"Select all" : "Roghnú go léir",
"Upload too large" : "Íoslódáil ró-mhór",
diff --git a/apps/files/l10n/ga.json b/apps/files/l10n/ga.json
index b68edfb56c7..bbe53868f1d 100644
--- a/apps/files/l10n/ga.json
+++ b/apps/files/l10n/ga.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Níl an liosta seo le fáil go hiomlán ar chúiseanna feidhmíochta. Déanfar na comhaid a rindreáil agus tú ag dul tríd an liosta.",
"File not found" : "Comhad gan aimsiú",
"_{count} selected_::_{count} selected_" : ["{count} roghnaithe","{count} roghnaithe","{count} roghnaithe","{count} roghnaithe","{count} roghnaithe"],
+ "Filter file names …" : "Scag ainmneacha na gcomhad…",
+ "Filter in current view" : "Scag san amharc reatha",
+ "Search globally" : "Cuardaigh go domhanda",
"{usedQuotaByte} used" : "{usedQuotaByte} úsáidte",
"{used} of {quota} used" : "{used} de {quota} in úsáid",
"{relative}% used" : "{relative}% in úsáid",
@@ -177,7 +180,6 @@
"No files in here" : "Níl aon chomhaid istigh anseo",
"Upload some content or sync with your devices!" : "Uaslódáil roinnt inneachair nó sioncronaigh le do ghléasanna!",
"Go back" : "Dul ar ais",
- "Filter file names …" : "Scag ainmneacha na gcomhad…",
"Views" : "Radhairc",
"Files settings" : "Socruithe comhaid",
"Your files" : "Do chuid comhad",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Liosta de chomhaid agus de fhillteáin a athraíodh le déanaí.",
"No recently modified files" : "Níl aon chomhaid athraithe le déanaí",
"Files and folders you recently modified will show up here." : "Taispeánfar comhaid agus fillteáin a d'athraigh tú le déanaí anseo.",
+ "Search" : "Cuardach",
"No entries found in this folder" : "Níor aimsíodh aon iontrálacha san fhillteán seo",
"Select all" : "Roghnú go léir",
"Upload too large" : "Íoslódáil ró-mhór",
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index b27f426d550..99e718bfc5a 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -117,6 +117,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista non se representa de xeito completo por mor do rendemento. Os ficheiros represéntanse mentres se despraza pola lista.",
"File not found" : "Non se atopou o ficheiro",
"_{count} selected_::_{count} selected_" : ["{count} seleccionado","{count} seleccionados"],
+ "Filter file names …" : "Filtrar os nomes de ficheiro…",
+ "Filter in current view" : "Filtrar na vista actual",
+ "Search globally" : "Buscar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "Usados {used} de {quota}",
"{relative}% used" : "{relative}% usado",
@@ -171,7 +174,6 @@ OC.L10N.register(
"No files in here" : "Aquí non hai ficheiros",
"Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!",
"Go back" : "Volver",
- "Filter file names …" : "Filtrar os nomes de ficheiro…",
"Views" : "Vistas",
"Files settings" : "Axustes de Ficheiros",
"Your files" : "Os seus ficheiros",
@@ -352,6 +354,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista de ficheiros e cartafoles modificados recentemente.",
"No recently modified files" : "Non hai ficheiros modificados recentemente",
"Files and folders you recently modified will show up here." : "Os ficheiros e cartafoles que modificou recentemente amosaranse aquí.",
+ "Search" : "Buscar",
"No entries found in this folder" : "Non se atopou ningunha entrada neste cartafol",
"Select all" : "Seleccionar todo",
"Upload too large" : "Envío grande de máis",
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index ff492c979ff..b9065277920 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -115,6 +115,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista non se representa de xeito completo por mor do rendemento. Os ficheiros represéntanse mentres se despraza pola lista.",
"File not found" : "Non se atopou o ficheiro",
"_{count} selected_::_{count} selected_" : ["{count} seleccionado","{count} seleccionados"],
+ "Filter file names …" : "Filtrar os nomes de ficheiro…",
+ "Filter in current view" : "Filtrar na vista actual",
+ "Search globally" : "Buscar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "Usados {used} de {quota}",
"{relative}% used" : "{relative}% usado",
@@ -169,7 +172,6 @@
"No files in here" : "Aquí non hai ficheiros",
"Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!",
"Go back" : "Volver",
- "Filter file names …" : "Filtrar os nomes de ficheiro…",
"Views" : "Vistas",
"Files settings" : "Axustes de Ficheiros",
"Your files" : "Os seus ficheiros",
@@ -350,6 +352,7 @@
"List of recently modified files and folders." : "Lista de ficheiros e cartafoles modificados recentemente.",
"No recently modified files" : "Non hai ficheiros modificados recentemente",
"Files and folders you recently modified will show up here." : "Os ficheiros e cartafoles que modificou recentemente amosaranse aquí.",
+ "Search" : "Buscar",
"No entries found in this folder" : "Non se atopou ningunha entrada neste cartafol",
"Select all" : "Seleccionar todo",
"Upload too large" : "Envío grande de máis",
diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js
index 24e9c70a523..32164c87328 100644
--- a/apps/files/l10n/hu.js
+++ b/apps/files/l10n/hu.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ez a lista teljesítménybeli okokból nincs teljes egészében megjelenítve. A fájlok a listában navigálás során jelennek meg.",
"File not found" : "A fájl nem található",
"_{count} selected_::_{count} selected_" : ["{count} kijelölve","{count} kijelölve"],
+ "Filter file names …" : "Fájlnevek szűrése…",
+ "Filter in current view" : "Jelenlegi nézet szűrése",
+ "Search globally" : "Globális keresés",
"{usedQuotaByte} used" : "{usedQuotaByte} felhasználva",
"{used} of {quota} used" : "{used} / {quota} felhasználva",
"{relative}% used" : "{relative}% felhasználva",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Itt nincsenek fájlok",
"Upload some content or sync with your devices!" : "Töltsön fel néhány tartalmat, vagy szinkronizáljon az eszközeivel.",
"Go back" : "Visszalépés",
- "Filter file names …" : "Fájlnevek szűrése…",
"Views" : "Nézetek",
"Files settings" : "Fájlok beállításai",
"Your files" : "Saját fájlok",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Közelmúltban módosított fájlok és mappák felsorolása.",
"No recently modified files" : "Nincs a közelmúltban módosított fájl",
"Files and folders you recently modified will show up here." : "Az Ön által módosított fájlok és mappák itt jelennek meg.",
+ "Search" : "Keresés",
"No entries found in this folder" : "Nincsenek bejegyzések ebben a mappában",
"Select all" : "Összes kijelölése",
"Upload too large" : "A feltöltés túl nagy",
diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json
index e291c309b34..56a1b239b74 100644
--- a/apps/files/l10n/hu.json
+++ b/apps/files/l10n/hu.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ez a lista teljesítménybeli okokból nincs teljes egészében megjelenítve. A fájlok a listában navigálás során jelennek meg.",
"File not found" : "A fájl nem található",
"_{count} selected_::_{count} selected_" : ["{count} kijelölve","{count} kijelölve"],
+ "Filter file names …" : "Fájlnevek szűrése…",
+ "Filter in current view" : "Jelenlegi nézet szűrése",
+ "Search globally" : "Globális keresés",
"{usedQuotaByte} used" : "{usedQuotaByte} felhasználva",
"{used} of {quota} used" : "{used} / {quota} felhasználva",
"{relative}% used" : "{relative}% felhasználva",
@@ -177,7 +180,6 @@
"No files in here" : "Itt nincsenek fájlok",
"Upload some content or sync with your devices!" : "Töltsön fel néhány tartalmat, vagy szinkronizáljon az eszközeivel.",
"Go back" : "Visszalépés",
- "Filter file names …" : "Fájlnevek szűrése…",
"Views" : "Nézetek",
"Files settings" : "Fájlok beállításai",
"Your files" : "Saját fájlok",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Közelmúltban módosított fájlok és mappák felsorolása.",
"No recently modified files" : "Nincs a közelmúltban módosított fájl",
"Files and folders you recently modified will show up here." : "Az Ön által módosított fájlok és mappák itt jelennek meg.",
+ "Search" : "Keresés",
"No entries found in this folder" : "Nincsenek bejegyzések ebben a mappában",
"Select all" : "Összes kijelölése",
"Upload too large" : "A feltöltés túl nagy",
diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js
deleted file mode 100644
index 8b7a96705d8..00000000000
--- a/apps/files/l10n/id.js
+++ /dev/null
@@ -1,235 +0,0 @@
-OC.L10N.register(
- "files",
- {
- "Added to favorites" : "Tambah ke favorit",
- "Removed from favorites" : "Terbuang dari favorit",
- "You added {file} to your favorites" : "Anda menambahkan {file} ke favorit",
- "You removed {file} from your favorites" : "Anda membuang {file} dari favorit",
- "Favorites" : "Favorit",
- "File changes" : "Berkas berubah",
- "Created by {user}" : "Dibuat oleh {user}",
- "Changed by {user}" : "Diubah oleh {user}",
- "Deleted by {user}" : "Dihapus oleh {user}",
- "Restored by {user}" : "Dipulihkan oleh {user}",
- "Renamed by {user}" : "Diganti nama oleh {user}",
- "Moved by {user}" : "Dipindahkan oleh {user}",
- "You created {file}" : "Anda membuat {file}",
- "You created an encrypted file in {file}" : "Anda membuat berkas terenkripsi pada {file}",
- "{user} created {file}" : "{user} membuat {file}",
- "{user} created an encrypted file in {file}" : "{user} membuat berkas terenkripsi pada {file}",
- "{file} was created in a public folder" : "{file} dibuat pada folder publik",
- "You changed {file}" : "Anda mengubah {file}",
- "You changed an encrypted file in {file}" : "Anda mengubah berkas terenkripsi pada {file}",
- "{user} changed {file}" : "{user} mengubah {file}",
- "{user} changed an encrypted file in {file}" : "{user} mengubah berkas terenkripsi pada {file}",
- "You deleted {file}" : "Anda menghapus {file}",
- "You deleted an encrypted file in {file}" : "Anda menghapus berkas terenkripsi pada {file}",
- "{user} deleted {file}" : "{user} menghapus {file}",
- "{user} deleted an encrypted file in {file}" : "{user} menghapus berkas terenkripsi pada {file}",
- "You restored {file}" : "Anda memulihkan {file}",
- "{user} restored {file}" : "{user} memulihkan {file}",
- "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Anda mengubah nama {oldfile} (tersembunyi) ke {newfile} (tersembunyi)",
- "You renamed {oldfile} (hidden) to {newfile}" : "Anda mengubah nama {oldfile} (tersembunyi) ke {newfile}",
- "You renamed {oldfile} to {newfile} (hidden)" : "Anda mengubah nama {oldfile} ke {newfile} (tersembunyi)",
- "You renamed {oldfile} to {newfile}" : "Anda mengganti nama {oldfile} menjadi {newfile}",
- "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} mengubah nama {oldfile} (tersembunyi) ke {newfile} (tersembunyi)",
- "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} mengubah nama {oldfile} (tersembunyi) ke {newfile}",
- "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} mengubah nama {oldfile} ke {newfile} (tersebunyi)",
- "{user} renamed {oldfile} to {newfile}" : "{user} mengganti nama {oldfile} menjadi {newfile}",
- "You moved {oldfile} to {newfile}" : "Anda memindahkan {oldfile} menjadi {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} memindahkan {oldfile} menjadi {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Suatu berkas telah ditambahkan atau dibuang dari <strong>favorit</strong>",
- "Files" : "Berkas",
- "A file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder telah <strong>diubah</strong>",
- "A favorite file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder favorit telah <strong>diubah</strong>",
- "No favorites" : "Tidak ada favorit",
- "Accept" : "Terima",
- "Reject" : "Ditolak",
- "Incoming ownership transfer from {user}" : "Permintaan transfer kepemilikan dari {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Apakah Anda ingin menerima {path}?\n\nCatatan: Setelah diterima, proses transfer butuh kurang lebih 1 jam.",
- "Ownership transfer failed" : "Transfer kepemilikan gagal",
- "Your ownership transfer of {path} to {user} failed." : "Transfer kepemilikan Anda pada {path} ke {user} gagal.",
- "The ownership transfer of {path} from {user} failed." : "Transfer kepemilikan pada {path} dari {user} gagal.",
- "Ownership transfer done" : "Transfer kepemilikan selesai",
- "Your ownership transfer of {path} to {user} has completed." : "Transfer kepemilikan Anda pada {path} ke {user} selesai.",
- "The ownership transfer of {path} from {user} has completed." : "Transfer kepemilikan pada {path} dari {user} selesai.",
- "in %s" : "dalam %s",
- "File Management" : "Pengelolaan Berkas",
- "Home" : "Beranda",
- "Target folder does not exist any more" : "Folder target sudah tidak ada lagi",
- "Favorite" : "Favorit",
- "Filename" : "Nama berkas",
- "Folder name" : "Nama folder",
- "Folder" : "Folder",
- "Pending" : "Tertunda",
- "Clear filter" : "Bersihkan filter",
- "Modified" : "Dimodifikasi",
- "Type" : "tipe",
- "Name" : "Nama",
- "Size" : "Ukuran",
- "Actions" : "Tindakan",
- "File not found" : "Berkas tidak ditemukan",
- "_{count} selected_::_{count} selected_" : ["{count} dipilih"],
- "{usedQuotaByte} used" : "{usedQuotaByte} digunakan",
- "{used} of {quota} used" : "{used} dari {quota} terpakai",
- "{relative}% used" : "{relative}% digunakan",
- "Could not refresh storage stats" : "Tidak dapat memuat ulang statistik penyimpanan",
- "Your storage is full, files can not be updated or synced anymore!" : "Ruang penyimpanan Anda penuh, berkas tidak dapat diperbarui atau disinkronkan lagi!",
- "New folder" : "Folder baru",
- "Create new folder" : "Buat direktori baru",
- "Create" : "Buat",
- "Choose a file or folder to transfer" : "Pilih berkas atau folder untuk ditransfer",
- "Transfer" : "Transfer",
- "Transfer {path} to {userid}" : "Transfer {path} ke {userid}",
- "Invalid path selected" : "Jalur terpilih invalid",
- "Unknown error" : "Kesalahan tidak diketahui",
- "Ownership transfer request sent" : "Permintaan transfer kepemilikan terkirim",
- "Cannot transfer ownership of a file or folder you do not own" : "Tidak dapat mentransfer pemilik berkas atau folder yang Anda tidak miliki",
- "Transfer ownership of a file or folder" : "Transfer kepemilikan dari berkas atau folder",
- "Choose file or folder to transfer" : "Pilih berkas atau folder untuk transfer",
- "Change" : "Ubah",
- "New owner" : "Pemilik baru",
- "Select file or folder to link to" : "Pilih berkas atau folder untuk ditautkan",
- "Shared by link" : "Dibagikan dengan tautan",
- "Shared" : "Dibagikan",
- "Not enough free space" : "Ruang kosong tidak cukup",
- "Operation is blocked by access control" : "Tindakan diblokir oleh kontrol akses",
- "Retry" : "Ulangi",
- "No files in here" : "Tidak ada berkas di sini",
- "Upload some content or sync with your devices!" : "Unggah beberapa konten dan sinkronisasikan dengan perangkat Anda!",
- "Go back" : "Kembali",
- "Views" : "Tampilan",
- "Files settings" : "Setelan berkas",
- "File cannot be accessed" : "Berkas tidak dapat diakses",
- "Clipboard is not available" : "Papan klip tidak tersedia",
- "WebDAV URL copied to clipboard" : "URL WebDAV disalin ke papan klip",
- "Show hidden files" : "Lihat berkas tersembunyi",
- "Crop image previews" : "Pangkas pratinjau gambar",
- "Additional settings" : "Setelan tambahan",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Salin ke papan klip",
- "Use this address to access your Files via WebDAV" : "Gunakan alamat ini untuk mengakses Berkas Anda via WebDAV",
- "If you have enabled 2FA, you must create and use a new app password by clicking here." : "Jika Anda telah mengaktifkan 2FA, Anda harus membuat dan menggunakan sebuah kata sandi aplikasi baru dengan mengeklik di sini.",
- "Keyboard shortcuts" : "Pintasan keyboard",
- "Navigation" : "Navigasi",
- "View" : "Tampilan",
- "Error while loading the file data" : "Galat pemuatan data berkas",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Tambah ke favorit",
- "Tags" : "Tag",
- "Blank" : "Kosong",
- "Unable to create new file from template" : "Tidak dapat membuat berkas baru dari templat",
- "Pick a template for {name}" : "Pilih templat untuk {name}",
- "Create a new file with the selected template" : "Buat sebuah berkas baru dengan templat yang dipilih",
- "Creating file" : "Membuat berkas",
- "Leave this share" : "Tinggalkan pembagian ini",
- "Disconnect storage" : "Memutuskan penyimpaan",
- "Delete permanently" : "Hapus secara permanen",
- "Delete" : "Hapus",
- "Cancel" : "Membatalkan",
- "Download" : "Unduh",
- "Copy" : "Salin",
- "Move" : "Pindah",
- "Move or copy" : "Pindah atau salin",
- "Failed to redirect to client" : "Gagal mengarahkan ke klien",
- "Rename" : "Ubah nama",
- "View in folder" : "Lihat dalam folder",
- "Today" : "Hari ini",
- "Documents" : "Dokumen",
- "Folders" : "Folder",
- "Audio" : "Audio",
- "Videos" : "Video",
- "Unable to initialize the templates directory" : "Tidak dapat membuat direktori templat",
- "Templates" : "Templat",
- "Some files could not be moved" : "Beberapa berkas tidak dapat dipindahkan",
- "Could not rename \"{oldName}\", it does not exist any more" : "Tidak dapat mengganti \"{oldName}\", tidak ada lagi",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{newName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
- "Could not rename \"{oldName}\"" : "Tidak dapat mengganti \"{oldName}\"",
- "This operation is forbidden" : "Operasi ini dilarang",
- "This directory is unavailable, please check the logs or contact the administrator" : "Direktori ini tidak tersedia, silakan periksa log atau hubungi kontak",
- "Storage is temporarily not available" : "Penyimpanan sementara tidak tersedia",
- "_%n file_::_%n files_" : ["%n berkas"],
- "_%n folder_::_%n folders_" : ["%n folder"],
- "No favorites yet" : "Belum memiliki favorit",
- "Files and folders you mark as favorite will show up here" : "Berkas dan folder yang Anda tandai sebagai favorit akan ditampilkan di sini.",
- "All files" : "Semua berkas",
- "Personal files" : "Berkas pribadi",
- "Recent" : "Terbaru",
- "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
- "Select all" : "Pilih Semua",
- "Upload too large" : "Yang diunggah terlalu besar",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Berkas yang dicoba untuk diunggah melebihi ukuran maksimum pengunggahan berkas di server ini.",
- "File could not be found" : "Berkas tidak ditemukan",
- "Show list view" : "Tampilkan sebagai daftar",
- "Show grid view" : "Tampilkan sebagai kisi",
- "Close" : "Tutup",
- "Could not create folder \"{dir}\"" : "Tidak dapat membuat folder \"{dir}\"",
- "This will stop your current uploads." : "Ini akan menghentikan proses pengunggahan.",
- "Upload cancelled." : "Pengunggahan dibatalkan.",
- "Processing files …" : "Memproses berkas ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Tidak dapat mengunggah {filename} karena ini sebuah direktori atau memiliki ukuran 0 bita",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ruang bebas tidak mencukupi, Anda mengunggah {size1} tetapi hanya {size2} yang tersisa",
- "Target folder \"{dir}\" does not exist any more" : "Folder target \"{dir}\" sudah tidak ada lagi",
- "An unknown error has occurred" : "Terjadi galat yang tak diketahui",
- "File could not be uploaded" : "Berkas tidak dapat diunggah",
- "Uploading …" : "Mengunggah …",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} dari {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "Pengunggahan itu tidak didukung",
- "Error when assembling chunks, status code {status}" : "Galat saat merakit potongan, kode status {status}",
- "Choose target folder" : "Pilih folder target",
- "Edit locally" : "Sunting secara lokal",
- "Open" : "Buka",
- "Could not load info for file \"{file}\"" : "Tidak dapat menampilkan info berkas \"{file}\"",
- "Details" : "Rincian",
- "Please select tag(s) to add to the selection" : "Silakan pilih tag untuk ditambahkan ke pilihan",
- "Apply tag(s) to selection" : "Tetapkan tag ke pilihan",
- "Select directory \"{dirName}\"" : "Pilih direktori \"{dirName}\"",
- "Select file \"{fileName}\"" : "Pilih berkas \"{fileName}\"",
- "Unable to determine date" : "Tidak dapat menentukan tanggal",
- "Could not move \"{file}\", target exists" : "Tidak dapat memindahkan \"{file}\", sudah ada",
- "Could not move \"{file}\"" : "Tidak dapat memindahkan \"{file}\"",
- "copy" : "salin",
- "Could not copy \"{file}\", target exists" : "Tidak dapat menyalin \"{file}\", target eksis",
- "Could not copy \"{file}\"" : "Tidak dapat menyalin \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} tersalin ke {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} dan {nbfiles} berkas lainnya tersalin ke {destination}",
- "{newName} already exists" : "{newName} sudah ada",
- "Could not create file \"{file}\"" : "Tidak dapat membuat berkas \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Tidak dapat membuat berkas \"{file}\" karena sudah ada",
- "Could not create folder \"{dir}\" because it already exists" : "Tidak dapat membuat folder \"{dir}\" karena sudah ada",
- "Could not fetch file details \"{file}\"" : "Tidak dapat memperoleh detail berkas \"{file}\"",
- "Error deleting file \"{fileName}\"." : "Terjadi kesalahan saat menghapus berkas \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Hasil pencarian tidak ditemukan di folder lainnya untuk '{tag}{filter}{endtag}'",
- "Enter more than two characters to search in other folders" : "Masukkan lebih dari dua karakter untuk mencari di folder lain",
- "{dirs} and {files}" : "{dirs} dan {files}",
- "_including %n hidden_::_including %n hidden_" : ["Termasuk %n tersembunyi"],
- "You do not have permission to upload or create files here" : "Anda tidak memiliki izin untuk mengunggah atau membuat berkas di sini",
- "_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"],
- "New" : "Baru",
- "New file/folder menu" : "Menu berkas/folder baru",
- "Select file range" : "Pilih rentang berkas",
- "{used}%" : "{used}%",
- "{used} used" : "{used} terpakai",
- "\"{name}\" is an invalid file name." : "\"{name}\" adalah nama berkas yang tidak sah.",
- "File name cannot be empty." : "Nama berkas tidak boleh kosong.",
- "\"/\" is not allowed inside a file name." : "\"/\" tidak diizinkan pada nama berkas.",
- "\"{name}\" is not an allowed filetype" : "Tipe berkas \"{name}\" tidak diizinkan",
- "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Penyimpanan {owner} penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!",
- "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Folder grup \"{mountPoint}\" penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!",
- "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Penyimpanan eksternal \"{mountPoint}\" penuh, berkas tidak dapat diperbarui atau disinkronisasi lagi!",
- "Your storage is full, files cannot be updated or synced anymore!" : "Penyimpanan Anda penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Penyimpanan {owner} hampir penuh ({usedSpacePercent}%).",
- "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Folder grup \"{mountPoint}\" hampir penuh ({usedSpacePercent}%).",
- "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Penyimpanan eksternal \"{mountPoint}\" hampir penuh ({usedSpacePercent}%).",
- "Your storage is almost full ({usedSpacePercent}%)." : "Penyimpanan Anda hampir penuh ({usedSpacePercent}%).",
- "_matches \"{filter}\"_::_match \"{filter}\"_" : ["cocok dengan \"{filter}\""],
- "Path" : "Jalur",
- "_%n byte_::_%n bytes_" : ["%n byte"],
- "Upload file" : "Unggah berkas",
- "An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label",
- "Upload (max. %s)" : "Unggah (maks. %s)",
- "Text file" : "Berkas teks",
- "New text file.txt" : "Teks baru file.txt"
-},
-"nplurals=1; plural=0;");
diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json
deleted file mode 100644
index 6d56ea3f765..00000000000
--- a/apps/files/l10n/id.json
+++ /dev/null
@@ -1,233 +0,0 @@
-{ "translations": {
- "Added to favorites" : "Tambah ke favorit",
- "Removed from favorites" : "Terbuang dari favorit",
- "You added {file} to your favorites" : "Anda menambahkan {file} ke favorit",
- "You removed {file} from your favorites" : "Anda membuang {file} dari favorit",
- "Favorites" : "Favorit",
- "File changes" : "Berkas berubah",
- "Created by {user}" : "Dibuat oleh {user}",
- "Changed by {user}" : "Diubah oleh {user}",
- "Deleted by {user}" : "Dihapus oleh {user}",
- "Restored by {user}" : "Dipulihkan oleh {user}",
- "Renamed by {user}" : "Diganti nama oleh {user}",
- "Moved by {user}" : "Dipindahkan oleh {user}",
- "You created {file}" : "Anda membuat {file}",
- "You created an encrypted file in {file}" : "Anda membuat berkas terenkripsi pada {file}",
- "{user} created {file}" : "{user} membuat {file}",
- "{user} created an encrypted file in {file}" : "{user} membuat berkas terenkripsi pada {file}",
- "{file} was created in a public folder" : "{file} dibuat pada folder publik",
- "You changed {file}" : "Anda mengubah {file}",
- "You changed an encrypted file in {file}" : "Anda mengubah berkas terenkripsi pada {file}",
- "{user} changed {file}" : "{user} mengubah {file}",
- "{user} changed an encrypted file in {file}" : "{user} mengubah berkas terenkripsi pada {file}",
- "You deleted {file}" : "Anda menghapus {file}",
- "You deleted an encrypted file in {file}" : "Anda menghapus berkas terenkripsi pada {file}",
- "{user} deleted {file}" : "{user} menghapus {file}",
- "{user} deleted an encrypted file in {file}" : "{user} menghapus berkas terenkripsi pada {file}",
- "You restored {file}" : "Anda memulihkan {file}",
- "{user} restored {file}" : "{user} memulihkan {file}",
- "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "Anda mengubah nama {oldfile} (tersembunyi) ke {newfile} (tersembunyi)",
- "You renamed {oldfile} (hidden) to {newfile}" : "Anda mengubah nama {oldfile} (tersembunyi) ke {newfile}",
- "You renamed {oldfile} to {newfile} (hidden)" : "Anda mengubah nama {oldfile} ke {newfile} (tersembunyi)",
- "You renamed {oldfile} to {newfile}" : "Anda mengganti nama {oldfile} menjadi {newfile}",
- "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} mengubah nama {oldfile} (tersembunyi) ke {newfile} (tersembunyi)",
- "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} mengubah nama {oldfile} (tersembunyi) ke {newfile}",
- "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} mengubah nama {oldfile} ke {newfile} (tersebunyi)",
- "{user} renamed {oldfile} to {newfile}" : "{user} mengganti nama {oldfile} menjadi {newfile}",
- "You moved {oldfile} to {newfile}" : "Anda memindahkan {oldfile} menjadi {newfile}",
- "{user} moved {oldfile} to {newfile}" : "{user} memindahkan {oldfile} menjadi {newfile}",
- "A file has been added to or removed from your <strong>favorites</strong>" : "Suatu berkas telah ditambahkan atau dibuang dari <strong>favorit</strong>",
- "Files" : "Berkas",
- "A file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder telah <strong>diubah</strong>",
- "A favorite file or folder has been <strong>changed</strong>" : "Sebuah berkas atau folder favorit telah <strong>diubah</strong>",
- "No favorites" : "Tidak ada favorit",
- "Accept" : "Terima",
- "Reject" : "Ditolak",
- "Incoming ownership transfer from {user}" : "Permintaan transfer kepemilikan dari {user}",
- "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Apakah Anda ingin menerima {path}?\n\nCatatan: Setelah diterima, proses transfer butuh kurang lebih 1 jam.",
- "Ownership transfer failed" : "Transfer kepemilikan gagal",
- "Your ownership transfer of {path} to {user} failed." : "Transfer kepemilikan Anda pada {path} ke {user} gagal.",
- "The ownership transfer of {path} from {user} failed." : "Transfer kepemilikan pada {path} dari {user} gagal.",
- "Ownership transfer done" : "Transfer kepemilikan selesai",
- "Your ownership transfer of {path} to {user} has completed." : "Transfer kepemilikan Anda pada {path} ke {user} selesai.",
- "The ownership transfer of {path} from {user} has completed." : "Transfer kepemilikan pada {path} dari {user} selesai.",
- "in %s" : "dalam %s",
- "File Management" : "Pengelolaan Berkas",
- "Home" : "Beranda",
- "Target folder does not exist any more" : "Folder target sudah tidak ada lagi",
- "Favorite" : "Favorit",
- "Filename" : "Nama berkas",
- "Folder name" : "Nama folder",
- "Folder" : "Folder",
- "Pending" : "Tertunda",
- "Clear filter" : "Bersihkan filter",
- "Modified" : "Dimodifikasi",
- "Type" : "tipe",
- "Name" : "Nama",
- "Size" : "Ukuran",
- "Actions" : "Tindakan",
- "File not found" : "Berkas tidak ditemukan",
- "_{count} selected_::_{count} selected_" : ["{count} dipilih"],
- "{usedQuotaByte} used" : "{usedQuotaByte} digunakan",
- "{used} of {quota} used" : "{used} dari {quota} terpakai",
- "{relative}% used" : "{relative}% digunakan",
- "Could not refresh storage stats" : "Tidak dapat memuat ulang statistik penyimpanan",
- "Your storage is full, files can not be updated or synced anymore!" : "Ruang penyimpanan Anda penuh, berkas tidak dapat diperbarui atau disinkronkan lagi!",
- "New folder" : "Folder baru",
- "Create new folder" : "Buat direktori baru",
- "Create" : "Buat",
- "Choose a file or folder to transfer" : "Pilih berkas atau folder untuk ditransfer",
- "Transfer" : "Transfer",
- "Transfer {path} to {userid}" : "Transfer {path} ke {userid}",
- "Invalid path selected" : "Jalur terpilih invalid",
- "Unknown error" : "Kesalahan tidak diketahui",
- "Ownership transfer request sent" : "Permintaan transfer kepemilikan terkirim",
- "Cannot transfer ownership of a file or folder you do not own" : "Tidak dapat mentransfer pemilik berkas atau folder yang Anda tidak miliki",
- "Transfer ownership of a file or folder" : "Transfer kepemilikan dari berkas atau folder",
- "Choose file or folder to transfer" : "Pilih berkas atau folder untuk transfer",
- "Change" : "Ubah",
- "New owner" : "Pemilik baru",
- "Select file or folder to link to" : "Pilih berkas atau folder untuk ditautkan",
- "Shared by link" : "Dibagikan dengan tautan",
- "Shared" : "Dibagikan",
- "Not enough free space" : "Ruang kosong tidak cukup",
- "Operation is blocked by access control" : "Tindakan diblokir oleh kontrol akses",
- "Retry" : "Ulangi",
- "No files in here" : "Tidak ada berkas di sini",
- "Upload some content or sync with your devices!" : "Unggah beberapa konten dan sinkronisasikan dengan perangkat Anda!",
- "Go back" : "Kembali",
- "Views" : "Tampilan",
- "Files settings" : "Setelan berkas",
- "File cannot be accessed" : "Berkas tidak dapat diakses",
- "Clipboard is not available" : "Papan klip tidak tersedia",
- "WebDAV URL copied to clipboard" : "URL WebDAV disalin ke papan klip",
- "Show hidden files" : "Lihat berkas tersembunyi",
- "Crop image previews" : "Pangkas pratinjau gambar",
- "Additional settings" : "Setelan tambahan",
- "WebDAV" : "WebDAV",
- "Copy to clipboard" : "Salin ke papan klip",
- "Use this address to access your Files via WebDAV" : "Gunakan alamat ini untuk mengakses Berkas Anda via WebDAV",
- "If you have enabled 2FA, you must create and use a new app password by clicking here." : "Jika Anda telah mengaktifkan 2FA, Anda harus membuat dan menggunakan sebuah kata sandi aplikasi baru dengan mengeklik di sini.",
- "Keyboard shortcuts" : "Pintasan keyboard",
- "Navigation" : "Navigasi",
- "View" : "Tampilan",
- "Error while loading the file data" : "Galat pemuatan data berkas",
- "Remove from favorites" : "Remove from favorites",
- "Add to favorites" : "Tambah ke favorit",
- "Tags" : "Tag",
- "Blank" : "Kosong",
- "Unable to create new file from template" : "Tidak dapat membuat berkas baru dari templat",
- "Pick a template for {name}" : "Pilih templat untuk {name}",
- "Create a new file with the selected template" : "Buat sebuah berkas baru dengan templat yang dipilih",
- "Creating file" : "Membuat berkas",
- "Leave this share" : "Tinggalkan pembagian ini",
- "Disconnect storage" : "Memutuskan penyimpaan",
- "Delete permanently" : "Hapus secara permanen",
- "Delete" : "Hapus",
- "Cancel" : "Membatalkan",
- "Download" : "Unduh",
- "Copy" : "Salin",
- "Move" : "Pindah",
- "Move or copy" : "Pindah atau salin",
- "Failed to redirect to client" : "Gagal mengarahkan ke klien",
- "Rename" : "Ubah nama",
- "View in folder" : "Lihat dalam folder",
- "Today" : "Hari ini",
- "Documents" : "Dokumen",
- "Folders" : "Folder",
- "Audio" : "Audio",
- "Videos" : "Video",
- "Unable to initialize the templates directory" : "Tidak dapat membuat direktori templat",
- "Templates" : "Templat",
- "Some files could not be moved" : "Beberapa berkas tidak dapat dipindahkan",
- "Could not rename \"{oldName}\", it does not exist any more" : "Tidak dapat mengganti \"{oldName}\", tidak ada lagi",
- "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{newName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
- "Could not rename \"{oldName}\"" : "Tidak dapat mengganti \"{oldName}\"",
- "This operation is forbidden" : "Operasi ini dilarang",
- "This directory is unavailable, please check the logs or contact the administrator" : "Direktori ini tidak tersedia, silakan periksa log atau hubungi kontak",
- "Storage is temporarily not available" : "Penyimpanan sementara tidak tersedia",
- "_%n file_::_%n files_" : ["%n berkas"],
- "_%n folder_::_%n folders_" : ["%n folder"],
- "No favorites yet" : "Belum memiliki favorit",
- "Files and folders you mark as favorite will show up here" : "Berkas dan folder yang Anda tandai sebagai favorit akan ditampilkan di sini.",
- "All files" : "Semua berkas",
- "Personal files" : "Berkas pribadi",
- "Recent" : "Terbaru",
- "No entries found in this folder" : "Tidak ada entri yang ditemukan dalam folder ini",
- "Select all" : "Pilih Semua",
- "Upload too large" : "Yang diunggah terlalu besar",
- "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Berkas yang dicoba untuk diunggah melebihi ukuran maksimum pengunggahan berkas di server ini.",
- "File could not be found" : "Berkas tidak ditemukan",
- "Show list view" : "Tampilkan sebagai daftar",
- "Show grid view" : "Tampilkan sebagai kisi",
- "Close" : "Tutup",
- "Could not create folder \"{dir}\"" : "Tidak dapat membuat folder \"{dir}\"",
- "This will stop your current uploads." : "Ini akan menghentikan proses pengunggahan.",
- "Upload cancelled." : "Pengunggahan dibatalkan.",
- "Processing files …" : "Memproses berkas ...",
- "…" : "...",
- "Unable to upload {filename} as it is a directory or has 0 bytes" : "Tidak dapat mengunggah {filename} karena ini sebuah direktori atau memiliki ukuran 0 bita",
- "Not enough free space, you are uploading {size1} but only {size2} is left" : "Ruang bebas tidak mencukupi, Anda mengunggah {size1} tetapi hanya {size2} yang tersisa",
- "Target folder \"{dir}\" does not exist any more" : "Folder target \"{dir}\" sudah tidak ada lagi",
- "An unknown error has occurred" : "Terjadi galat yang tak diketahui",
- "File could not be uploaded" : "Berkas tidak dapat diunggah",
- "Uploading …" : "Mengunggah …",
- "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} dari {totalSize} ({bitrate})",
- "Uploading that item is not supported" : "Pengunggahan itu tidak didukung",
- "Error when assembling chunks, status code {status}" : "Galat saat merakit potongan, kode status {status}",
- "Choose target folder" : "Pilih folder target",
- "Edit locally" : "Sunting secara lokal",
- "Open" : "Buka",
- "Could not load info for file \"{file}\"" : "Tidak dapat menampilkan info berkas \"{file}\"",
- "Details" : "Rincian",
- "Please select tag(s) to add to the selection" : "Silakan pilih tag untuk ditambahkan ke pilihan",
- "Apply tag(s) to selection" : "Tetapkan tag ke pilihan",
- "Select directory \"{dirName}\"" : "Pilih direktori \"{dirName}\"",
- "Select file \"{fileName}\"" : "Pilih berkas \"{fileName}\"",
- "Unable to determine date" : "Tidak dapat menentukan tanggal",
- "Could not move \"{file}\", target exists" : "Tidak dapat memindahkan \"{file}\", sudah ada",
- "Could not move \"{file}\"" : "Tidak dapat memindahkan \"{file}\"",
- "copy" : "salin",
- "Could not copy \"{file}\", target exists" : "Tidak dapat menyalin \"{file}\", target eksis",
- "Could not copy \"{file}\"" : "Tidak dapat menyalin \"{file}\"",
- "Copied {origin} inside {destination}" : "{origin} tersalin ke {destination}",
- "Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} dan {nbfiles} berkas lainnya tersalin ke {destination}",
- "{newName} already exists" : "{newName} sudah ada",
- "Could not create file \"{file}\"" : "Tidak dapat membuat berkas \"{file}\"",
- "Could not create file \"{file}\" because it already exists" : "Tidak dapat membuat berkas \"{file}\" karena sudah ada",
- "Could not create folder \"{dir}\" because it already exists" : "Tidak dapat membuat folder \"{dir}\" karena sudah ada",
- "Could not fetch file details \"{file}\"" : "Tidak dapat memperoleh detail berkas \"{file}\"",
- "Error deleting file \"{fileName}\"." : "Terjadi kesalahan saat menghapus berkas \"{fileName}\".",
- "No search results in other folders for {tag}{filter}{endtag}" : "Hasil pencarian tidak ditemukan di folder lainnya untuk '{tag}{filter}{endtag}'",
- "Enter more than two characters to search in other folders" : "Masukkan lebih dari dua karakter untuk mencari di folder lain",
- "{dirs} and {files}" : "{dirs} dan {files}",
- "_including %n hidden_::_including %n hidden_" : ["Termasuk %n tersembunyi"],
- "You do not have permission to upload or create files here" : "Anda tidak memiliki izin untuk mengunggah atau membuat berkas di sini",
- "_Uploading %n file_::_Uploading %n files_" : ["Mengunggah %n berkas"],
- "New" : "Baru",
- "New file/folder menu" : "Menu berkas/folder baru",
- "Select file range" : "Pilih rentang berkas",
- "{used}%" : "{used}%",
- "{used} used" : "{used} terpakai",
- "\"{name}\" is an invalid file name." : "\"{name}\" adalah nama berkas yang tidak sah.",
- "File name cannot be empty." : "Nama berkas tidak boleh kosong.",
- "\"/\" is not allowed inside a file name." : "\"/\" tidak diizinkan pada nama berkas.",
- "\"{name}\" is not an allowed filetype" : "Tipe berkas \"{name}\" tidak diizinkan",
- "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Penyimpanan {owner} penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!",
- "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Folder grup \"{mountPoint}\" penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!",
- "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Penyimpanan eksternal \"{mountPoint}\" penuh, berkas tidak dapat diperbarui atau disinkronisasi lagi!",
- "Your storage is full, files cannot be updated or synced anymore!" : "Penyimpanan Anda penuh, berkas tidak dapat diperbarui atau disinkronisasikan lagi!",
- "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Penyimpanan {owner} hampir penuh ({usedSpacePercent}%).",
- "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Folder grup \"{mountPoint}\" hampir penuh ({usedSpacePercent}%).",
- "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Penyimpanan eksternal \"{mountPoint}\" hampir penuh ({usedSpacePercent}%).",
- "Your storage is almost full ({usedSpacePercent}%)." : "Penyimpanan Anda hampir penuh ({usedSpacePercent}%).",
- "_matches \"{filter}\"_::_match \"{filter}\"_" : ["cocok dengan \"{filter}\""],
- "Path" : "Jalur",
- "_%n byte_::_%n bytes_" : ["%n byte"],
- "Upload file" : "Unggah berkas",
- "An error occurred while trying to update the tags" : "Terjadi kesalahan saat mencoba untuk memperbarui label",
- "Upload (max. %s)" : "Unggah (maks. %s)",
- "Text file" : "Berkas teks",
- "New text file.txt" : "Teks baru file.txt"
-},"pluralForm" :"nplurals=1; plural=0;"
-} \ No newline at end of file
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 744a4332569..56ea34e0140 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -114,6 +114,8 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Dálkfyrirsagnir með hnöppum eru raðanlegar",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Til að halda sem bestum afköstum er þessi listi ekki myndgerður að fullu. Skrárnar munu birtast eftir því sem farið er í gegnum listann.",
"File not found" : "Skrá finnst ekki",
+ "Filter in current view" : "Sía í núverandi sýn",
+ "Search globally" : "Leita allstaðar",
"{usedQuotaByte} used" : "{usedQuotaByte} notað",
"{used} of {quota} used" : "{used} af {quota} notað",
"{relative}% used" : "{relative}% notað",
@@ -334,6 +336,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Listi yfir nýlega breyttar skrár og möppur.",
"No recently modified files" : "Engar nýlega breyttar skrár",
"Files and folders you recently modified will show up here." : "Skrár og möppur sem þú breyttir nýlega birtast hér.",
+ "Search" : "Search",
"No entries found in this folder" : "Engar skrár fundust í þessari möppu",
"Select all" : "Velja allt",
"Upload too large" : "Innsend skrá er of stór",
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 4a2722125c6..e95b83c6aa2 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -112,6 +112,8 @@
"Column headers with buttons are sortable." : "Dálkfyrirsagnir með hnöppum eru raðanlegar",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Til að halda sem bestum afköstum er þessi listi ekki myndgerður að fullu. Skrárnar munu birtast eftir því sem farið er í gegnum listann.",
"File not found" : "Skrá finnst ekki",
+ "Filter in current view" : "Sía í núverandi sýn",
+ "Search globally" : "Leita allstaðar",
"{usedQuotaByte} used" : "{usedQuotaByte} notað",
"{used} of {quota} used" : "{used} af {quota} notað",
"{relative}% used" : "{relative}% notað",
@@ -332,6 +334,7 @@
"List of recently modified files and folders." : "Listi yfir nýlega breyttar skrár og möppur.",
"No recently modified files" : "Engar nýlega breyttar skrár",
"Files and folders you recently modified will show up here." : "Skrár og möppur sem þú breyttir nýlega birtast hér.",
+ "Search" : "Search",
"No entries found in this folder" : "Engar skrár fundust í þessari möppu",
"Select all" : "Velja allt",
"Upload too large" : "Innsend skrá er of stór",
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index 614a38dfee8..42f310919e0 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Questa lista non è stata mostrata completamente per ragioni di prestazioni. I file verranno mostrati durante la navigazione della lista.",
"File not found" : "File non trovato",
"_{count} selected_::_{count} selected_" : ["{count} selezionato","{count} selezionati","{count} selezionati"],
+ "Filter file names …" : "Filtra i nomi dei file …",
+ "Filter in current view" : "Filtro nella vista corrente",
+ "Search globally" : "Cerca globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} usato",
"{used} of {quota} used" : "{used} di {quota} utilizzati",
"{relative}% used" : "{relative}% usato",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Qui non c'è alcun file",
"Upload some content or sync with your devices!" : "Carica dei contenuti o sincronizza con i tuoi dispositivi!",
"Go back" : "Indietro",
- "Filter file names …" : "Filtra i nomi dei file …",
"Views" : "Viste",
"Files settings" : "Impostazioni File",
"Your files" : "I tuoi files",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista di file e cartelle modificati di recente.",
"No recently modified files" : "Nessun file modificato di recente",
"Files and folders you recently modified will show up here." : "I file e le cartelle che hai modificato di recente saranno mostrati qui.",
+ "Search" : "Cerca",
"No entries found in this folder" : "Nessuna voce trovata in questa cartella",
"Select all" : "Seleziona tutto",
"Upload too large" : "Caricamento troppo grande",
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index 46c1ad54125..3639eb70b68 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Questa lista non è stata mostrata completamente per ragioni di prestazioni. I file verranno mostrati durante la navigazione della lista.",
"File not found" : "File non trovato",
"_{count} selected_::_{count} selected_" : ["{count} selezionato","{count} selezionati","{count} selezionati"],
+ "Filter file names …" : "Filtra i nomi dei file …",
+ "Filter in current view" : "Filtro nella vista corrente",
+ "Search globally" : "Cerca globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} usato",
"{used} of {quota} used" : "{used} di {quota} utilizzati",
"{relative}% used" : "{relative}% usato",
@@ -177,7 +180,6 @@
"No files in here" : "Qui non c'è alcun file",
"Upload some content or sync with your devices!" : "Carica dei contenuti o sincronizza con i tuoi dispositivi!",
"Go back" : "Indietro",
- "Filter file names …" : "Filtra i nomi dei file …",
"Views" : "Viste",
"Files settings" : "Impostazioni File",
"Your files" : "I tuoi files",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Lista di file e cartelle modificati di recente.",
"No recently modified files" : "Nessun file modificato di recente",
"Files and folders you recently modified will show up here." : "I file e le cartelle che hai modificato di recente saranno mostrati qui.",
+ "Search" : "Cerca",
"No entries found in this folder" : "Nessuna voce trovata in questa cartella",
"Select all" : "Seleziona tutto",
"Upload too large" : "Caricamento troppo grande",
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index 2ba264d20ea..e0d68c7633c 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "このリストはパフォーマンスの都合上、すべてレンダリングされているわけではありません。リスト内を移動すると、ファイルが次々と表示されていきます。",
"File not found" : "ファイルが見つかりません",
"_{count} selected_::_{count} selected_" : ["{count}選択済み"],
+ "Filter file names …" : "ファイルネームフィルター…",
+ "Filter in current view" : "現在のビューでフィルタ",
+ "Search globally" : "グローバルに検索",
"{usedQuotaByte} used" : "{usedQuotaByte} 使用されています",
"{used} of {quota} used" : "{used} / {quota} 使用中",
"{relative}% used" : "{relative}% 使用されています",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "ファイルがありません",
"Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。",
"Go back" : "戻る",
- "Filter file names …" : "ファイルネームフィルター…",
"Views" : "表示",
"Files settings" : "ファイルの設定",
"Your files" : "あなたのファイル",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "最近変更されたファイルとフォルダーのリスト",
"No recently modified files" : "最近更新されたファイルはありません",
"Files and folders you recently modified will show up here." : "最近変更したファイルやフォルダーがここに表示されます。",
+ "Search" : "検索",
"No entries found in this folder" : "このフォルダーにはエントリーがありません",
"Select all" : "すべて選択",
"Upload too large" : "アップロードには大きすぎます。",
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index ccdec912f64..49a2a196502 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "このリストはパフォーマンスの都合上、すべてレンダリングされているわけではありません。リスト内を移動すると、ファイルが次々と表示されていきます。",
"File not found" : "ファイルが見つかりません",
"_{count} selected_::_{count} selected_" : ["{count}選択済み"],
+ "Filter file names …" : "ファイルネームフィルター…",
+ "Filter in current view" : "現在のビューでフィルタ",
+ "Search globally" : "グローバルに検索",
"{usedQuotaByte} used" : "{usedQuotaByte} 使用されています",
"{used} of {quota} used" : "{used} / {quota} 使用中",
"{relative}% used" : "{relative}% 使用されています",
@@ -177,7 +180,6 @@
"No files in here" : "ファイルがありません",
"Upload some content or sync with your devices!" : "何かコンテンツをアップロードするか、デバイスからファイルを同期してください。",
"Go back" : "戻る",
- "Filter file names …" : "ファイルネームフィルター…",
"Views" : "表示",
"Files settings" : "ファイルの設定",
"Your files" : "あなたのファイル",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "最近変更されたファイルとフォルダーのリスト",
"No recently modified files" : "最近更新されたファイルはありません",
"Files and folders you recently modified will show up here." : "最近変更したファイルやフォルダーがここに表示されます。",
+ "Search" : "検索",
"No entries found in this folder" : "このフォルダーにはエントリーがありません",
"Select all" : "すべて選択",
"Upload too large" : "アップロードには大きすぎます。",
diff --git a/apps/files/l10n/ka.js b/apps/files/l10n/ka.js
index 92fa303b945..70c3af28668 100644
--- a/apps/files/l10n/ka.js
+++ b/apps/files/l10n/ka.js
@@ -86,6 +86,8 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.",
"File not found" : "File not found",
"_{count} selected_::_{count} selected_" : ["{count} selected","{count} selected"],
+ "Filter in current view" : "Filter in current view",
+ "Search globally" : "Search globally",
"{usedQuotaByte} used" : "{usedQuotaByte} used",
"{used} of {quota} used" : "{used} of {quota} used",
"{relative}% used" : "{relative}% used",
@@ -207,6 +209,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "List of recently modified files and folders.",
"No recently modified files" : "No recently modified files",
"Files and folders you recently modified will show up here." : "Files and folders you recently modified will show up here.",
+ "Search" : "ძიება",
"No entries found in this folder" : "No entries found in this folder",
"Select all" : "Select all",
"Upload too large" : "Upload too large",
diff --git a/apps/files/l10n/ka.json b/apps/files/l10n/ka.json
index e9b1175a47f..7aa765b0e50 100644
--- a/apps/files/l10n/ka.json
+++ b/apps/files/l10n/ka.json
@@ -84,6 +84,8 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.",
"File not found" : "File not found",
"_{count} selected_::_{count} selected_" : ["{count} selected","{count} selected"],
+ "Filter in current view" : "Filter in current view",
+ "Search globally" : "Search globally",
"{usedQuotaByte} used" : "{usedQuotaByte} used",
"{used} of {quota} used" : "{used} of {quota} used",
"{relative}% used" : "{relative}% used",
@@ -205,6 +207,7 @@
"List of recently modified files and folders." : "List of recently modified files and folders.",
"No recently modified files" : "No recently modified files",
"Files and folders you recently modified will show up here." : "Files and folders you recently modified will show up here.",
+ "Search" : "ძიება",
"No entries found in this folder" : "No entries found in this folder",
"Select all" : "Select all",
"Upload too large" : "Upload too large",
diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js
index 94966faa4b9..bd050c517cc 100644
--- a/apps/files/l10n/ko.js
+++ b/apps/files/l10n/ko.js
@@ -116,6 +116,8 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "버튼이 있는 열 머리글은 정렬할 수 있습니다.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "성능 상의 이유로 목록을 전부 표시하지 않았습니다. 목록을 탐색하면 파일들이 표시됩니다.",
"File not found" : "파일을 찾을 수 없음",
+ "Filter in current view" : "현재 화면을 필터",
+ "Search globally" : "전역 검색",
"{usedQuotaByte} used" : "{usedQuotaByte} 사용",
"{used} of {quota} used" : "{quota} 중 {used} 사용함",
"{relative}% used" : "{relative}% 사용",
@@ -339,6 +341,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "최근에 수정된 파일과 폴더의 목록",
"No recently modified files" : "최근에 수정된 파일 없음",
"Files and folders you recently modified will show up here." : "최근에 수정한 파일과 폴더가 이곳에 표시됩니다.",
+ "Search" : "검색",
"No entries found in this folder" : "이 폴더에 항목 없음",
"Select all" : "모두 선택",
"Upload too large" : "업로드한 파일이 너무 큼",
diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json
index cd4214510c4..9fb918e63f4 100644
--- a/apps/files/l10n/ko.json
+++ b/apps/files/l10n/ko.json
@@ -114,6 +114,8 @@
"Column headers with buttons are sortable." : "버튼이 있는 열 머리글은 정렬할 수 있습니다.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "성능 상의 이유로 목록을 전부 표시하지 않았습니다. 목록을 탐색하면 파일들이 표시됩니다.",
"File not found" : "파일을 찾을 수 없음",
+ "Filter in current view" : "현재 화면을 필터",
+ "Search globally" : "전역 검색",
"{usedQuotaByte} used" : "{usedQuotaByte} 사용",
"{used} of {quota} used" : "{quota} 중 {used} 사용함",
"{relative}% used" : "{relative}% 사용",
@@ -337,6 +339,7 @@
"List of recently modified files and folders." : "최근에 수정된 파일과 폴더의 목록",
"No recently modified files" : "최근에 수정된 파일 없음",
"Files and folders you recently modified will show up here." : "최근에 수정한 파일과 폴더가 이곳에 표시됩니다.",
+ "Search" : "검색",
"No entries found in this folder" : "이 폴더에 항목 없음",
"Select all" : "모두 선택",
"Upload too large" : "업로드한 파일이 너무 큼",
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index 4ccbe0c3198..3d66d41a2f7 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -88,6 +88,7 @@ OC.L10N.register(
"Actions" : "Veiksmai",
"List of files and folders." : "Failų ir aplankų sąrašas.",
"File not found" : "Failas nerastas",
+ "Search globally" : "Ieškoti visuotiniu mastu",
"{usedQuotaByte} used" : "Naudojama {usedQuotaByte}",
"{used} of {quota} used" : "panaudota {used} iš {quota}",
"{relative}% used" : "Naudojama {relative}",
@@ -234,6 +235,7 @@ OC.L10N.register(
"Recent" : "Paskiausiai naudoti",
"List of recently modified files and folders." : "Paskiausiai modifikuotų failų ir aplankų sąrašas.",
"No recently modified files" : "Nėra jokių paskiausiai modifikuotų failų",
+ "Search" : "Paieška",
"No entries found in this folder" : "Nerasta įrašų šiame aplanke",
"Select all" : "Pažymėti viską",
"Upload too large" : "Įkėlimui failas per didelis",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index 02237ec309f..fd7b98c405f 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -86,6 +86,7 @@
"Actions" : "Veiksmai",
"List of files and folders." : "Failų ir aplankų sąrašas.",
"File not found" : "Failas nerastas",
+ "Search globally" : "Ieškoti visuotiniu mastu",
"{usedQuotaByte} used" : "Naudojama {usedQuotaByte}",
"{used} of {quota} used" : "panaudota {used} iš {quota}",
"{relative}% used" : "Naudojama {relative}",
@@ -232,6 +233,7 @@
"Recent" : "Paskiausiai naudoti",
"List of recently modified files and folders." : "Paskiausiai modifikuotų failų ir aplankų sąrašas.",
"No recently modified files" : "Nėra jokių paskiausiai modifikuotų failų",
+ "Search" : "Paieška",
"No entries found in this folder" : "Nerasta įrašų šiame aplanke",
"Select all" : "Pažymėti viską",
"Upload too large" : "Įkėlimui failas per didelis",
diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js
index d6d7a084958..07d8d21b279 100644
--- a/apps/files/l10n/mk.js
+++ b/apps/files/l10n/mk.js
@@ -99,6 +99,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Насловите на колоните со копчиња се сортираат.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Оваа листа не е целосно прикажана поради заштеда на перформанси. Датотеките ќе се прикажуваат додека се движите низ листата.",
"File not found" : "Датотеката не е пронајдена",
+ "Search globally" : "Пребарај глобално",
"{usedQuotaByte} used" : "искористено {usedQuotaByte}",
"{used} of {quota} used" : "Искористени {used} од {quota}",
"{relative}% used" : "искористено {relative}% ",
@@ -244,6 +245,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Листа на скоро изменети датотеки и папки.",
"No recently modified files" : "Нема скоро изменети датотеки",
"Files and folders you recently modified will show up here." : "Датотеките и папките кои скоро ќе ги измените ќе се појават тука.",
+ "Search" : "Барај",
"No entries found in this folder" : "Нема ништо во оваа папка",
"Select all" : "Избери се",
"Upload too large" : "Фајлот кој се вчитува е преголем",
diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json
index 30e96f21335..5bc2f0fb5ac 100644
--- a/apps/files/l10n/mk.json
+++ b/apps/files/l10n/mk.json
@@ -97,6 +97,7 @@
"Column headers with buttons are sortable." : "Насловите на колоните со копчиња се сортираат.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Оваа листа не е целосно прикажана поради заштеда на перформанси. Датотеките ќе се прикажуваат додека се движите низ листата.",
"File not found" : "Датотеката не е пронајдена",
+ "Search globally" : "Пребарај глобално",
"{usedQuotaByte} used" : "искористено {usedQuotaByte}",
"{used} of {quota} used" : "Искористени {used} од {quota}",
"{relative}% used" : "искористено {relative}% ",
@@ -242,6 +243,7 @@
"List of recently modified files and folders." : "Листа на скоро изменети датотеки и папки.",
"No recently modified files" : "Нема скоро изменети датотеки",
"Files and folders you recently modified will show up here." : "Датотеките и папките кои скоро ќе ги измените ќе се појават тука.",
+ "Search" : "Барај",
"No entries found in this folder" : "Нема ништо во оваа папка",
"Select all" : "Избери се",
"Upload too large" : "Фајлот кој се вчитува е преголем",
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index f200707b836..9352ea3e9b0 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -112,6 +112,8 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Kolonneoverskrifter med knapper kan sorteres.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Denne listen er ikke fullstendig gjengitt av ytelsesgrunner. Filene gjengis når du navigerer gjennom listen.",
"File not found" : "Finner ikke filen",
+ "Filter in current view" : "Filter i gjeldende visning",
+ "Search globally" : "Søk globalt",
"{usedQuotaByte} used" : "{usedQuotaByte} brukt",
"{used} of {quota} used" : "{used} av {quota} brukt",
"{relative}% used" : "{relative}% brukt",
@@ -320,6 +322,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Liste over nylig endrede filer og mapper.",
"No recently modified files" : "Ingen nylig endrede filer",
"Files and folders you recently modified will show up here." : "Filer og mapper du nylig har endret, vises her.",
+ "Search" : "Søk",
"No entries found in this folder" : "Ingen oppføringer funnet i denne mappen",
"Select all" : "Velg alle",
"Upload too large" : "Filen er for stor",
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index 5f16935a0d2..0fc4a05bcd4 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -110,6 +110,8 @@
"Column headers with buttons are sortable." : "Kolonneoverskrifter med knapper kan sorteres.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Denne listen er ikke fullstendig gjengitt av ytelsesgrunner. Filene gjengis når du navigerer gjennom listen.",
"File not found" : "Finner ikke filen",
+ "Filter in current view" : "Filter i gjeldende visning",
+ "Search globally" : "Søk globalt",
"{usedQuotaByte} used" : "{usedQuotaByte} brukt",
"{used} of {quota} used" : "{used} av {quota} brukt",
"{relative}% used" : "{relative}% brukt",
@@ -318,6 +320,7 @@
"List of recently modified files and folders." : "Liste over nylig endrede filer og mapper.",
"No recently modified files" : "Ingen nylig endrede filer",
"Files and folders you recently modified will show up here." : "Filer og mapper du nylig har endret, vises her.",
+ "Search" : "Søk",
"No entries found in this folder" : "Ingen oppføringer funnet i denne mappen",
"Select all" : "Velg alle",
"Upload too large" : "Filen er for stor",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 71f75054622..8b7033d1dbe 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "De lijst is niet volledig verwerkt om de prestatie niet te beperken. De bestanden worden verder verwerkt als je door de lijst navigeert.",
"File not found" : "Bestand niet gevonden",
"_{count} selected_::_{count} selected_" : ["{count} geselecteerd","{count} geselecteerd"],
+ "Filter file names …" : "Bestandsnamen filteren ...",
+ "Filter in current view" : "Beperk tot huidige weergave",
+ "Search globally" : "Zoek door alles",
"{usedQuotaByte} used" : "{usedQuotaByte} gebruikt",
"{used} of {quota} used" : "{used} van {quota} gebruikt",
"{relative}% used" : "{relative}% gebruikt",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Hier geen bestanden",
"Upload some content or sync with your devices!" : "Upload je inhoud of synchroniseer met je apparaten!",
"Go back" : "Ga terug",
- "Filter file names …" : "Bestandsnamen filteren ...",
"Views" : "Bekeken",
"Files settings" : "Instellingen voor bestanden",
"Your files" : "Jouw bestanden",
@@ -361,6 +363,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lijst van recent gewijzigde bestanden en mappen.",
"No recently modified files" : "Geen recent gewijzigde bestanden",
"Files and folders you recently modified will show up here." : "Bestanden en mappen die je recent gewijzigd hebt, worden hier getoond.",
+ "Search" : "Zoeken",
"No entries found in this folder" : "Niets gevonden in deze map",
"Select all" : "Alles selecteren",
"Upload too large" : "Upload is te groot",
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 441311e058f..812038cd80b 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "De lijst is niet volledig verwerkt om de prestatie niet te beperken. De bestanden worden verder verwerkt als je door de lijst navigeert.",
"File not found" : "Bestand niet gevonden",
"_{count} selected_::_{count} selected_" : ["{count} geselecteerd","{count} geselecteerd"],
+ "Filter file names …" : "Bestandsnamen filteren ...",
+ "Filter in current view" : "Beperk tot huidige weergave",
+ "Search globally" : "Zoek door alles",
"{usedQuotaByte} used" : "{usedQuotaByte} gebruikt",
"{used} of {quota} used" : "{used} van {quota} gebruikt",
"{relative}% used" : "{relative}% gebruikt",
@@ -177,7 +180,6 @@
"No files in here" : "Hier geen bestanden",
"Upload some content or sync with your devices!" : "Upload je inhoud of synchroniseer met je apparaten!",
"Go back" : "Ga terug",
- "Filter file names …" : "Bestandsnamen filteren ...",
"Views" : "Bekeken",
"Files settings" : "Instellingen voor bestanden",
"Your files" : "Jouw bestanden",
@@ -359,6 +361,7 @@
"List of recently modified files and folders." : "Lijst van recent gewijzigde bestanden en mappen.",
"No recently modified files" : "Geen recent gewijzigde bestanden",
"Files and folders you recently modified will show up here." : "Bestanden en mappen die je recent gewijzigd hebt, worden hier getoond.",
+ "Search" : "Zoeken",
"No entries found in this folder" : "Niets gevonden in deze map",
"Select all" : "Alles selecteren",
"Upload too large" : "Upload is te groot",
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index b10cdb2380f..f73fd16f51b 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -124,6 +124,9 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Nagłówki kolumn z przyciskami są sortowalne.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ta lista nie jest w pełni renderowana ze względu na wydajność. Pliki będą renderowane podczas poruszania się po liście.",
"File not found" : "Nie odnaleziono pliku",
+ "Filter file names …" : "Filtruj nazwy plików…",
+ "Filter in current view" : "Filtruj w bieżącym widoku",
+ "Search globally" : "Szukaj globalnie",
"{usedQuotaByte} used" : "Wykorzystano {usedQuotaByte}",
"{used} of {quota} used" : "Wykorzystane {used} z {quota}",
"{relative}% used" : "Wykorzystano {relative}%",
@@ -178,7 +181,6 @@ OC.L10N.register(
"No files in here" : "Brak plików",
"Upload some content or sync with your devices!" : "Wyślij lub zsynchronizuj pliki z urządzeniami.",
"Go back" : "Wstecz",
- "Filter file names …" : "Filtruj nazwy plików…",
"Views" : "Widoki",
"Files settings" : "Ustawienia Plików",
"Your files" : "Twoje pliki",
@@ -363,6 +365,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista ostatnio zmodyfikowanych plików i katalogów.",
"No recently modified files" : "Brak ostatnio zmodyfikowanych plików",
"Files and folders you recently modified will show up here." : "Tutaj pojawią się pliki i katalogi, które ostatnio zmodyfikowałeś.",
+ "Search" : "Szukaj",
"No entries found in this folder" : "Brak wpisów w tym katalogu",
"Select all" : "Wybierz wszystko",
"Upload too large" : "Wysyłany plik jest za duży",
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index f54507e7ff7..81b9ef88798 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -122,6 +122,9 @@
"Column headers with buttons are sortable." : "Nagłówki kolumn z przyciskami są sortowalne.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ta lista nie jest w pełni renderowana ze względu na wydajność. Pliki będą renderowane podczas poruszania się po liście.",
"File not found" : "Nie odnaleziono pliku",
+ "Filter file names …" : "Filtruj nazwy plików…",
+ "Filter in current view" : "Filtruj w bieżącym widoku",
+ "Search globally" : "Szukaj globalnie",
"{usedQuotaByte} used" : "Wykorzystano {usedQuotaByte}",
"{used} of {quota} used" : "Wykorzystane {used} z {quota}",
"{relative}% used" : "Wykorzystano {relative}%",
@@ -176,7 +179,6 @@
"No files in here" : "Brak plików",
"Upload some content or sync with your devices!" : "Wyślij lub zsynchronizuj pliki z urządzeniami.",
"Go back" : "Wstecz",
- "Filter file names …" : "Filtruj nazwy plików…",
"Views" : "Widoki",
"Files settings" : "Ustawienia Plików",
"Your files" : "Twoje pliki",
@@ -361,6 +363,7 @@
"List of recently modified files and folders." : "Lista ostatnio zmodyfikowanych plików i katalogów.",
"No recently modified files" : "Brak ostatnio zmodyfikowanych plików",
"Files and folders you recently modified will show up here." : "Tutaj pojawią się pliki i katalogi, które ostatnio zmodyfikowałeś.",
+ "Search" : "Szukaj",
"No entries found in this folder" : "Brak wpisów w tym katalogu",
"Select all" : "Wybierz wszystko",
"Upload too large" : "Wysyłany plik jest za duży",
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index 722c29d09bb..988f57b45e9 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista não é totalmente renderizada por motivos de desempenho. Os arquivos serão renderizados à medida que você navegar pela lista.",
"File not found" : "Arquivo não encontrado",
"_{count} selected_::_{count} selected_" : ["{count} selecionado","{count} selecionados","{count} selecionados"],
+ "Filter file names …" : "Filtrar nomes de arquivos …",
+ "Filter in current view" : "Filtrar na visualização atual",
+ "Search globally" : "Pesquisar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% usado",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Envie um arquivo ou sincronize com seus dispositivos!",
"Go back" : "Voltar",
- "Filter file names …" : "Filtrar nomes de arquivos …",
"Views" : "Visualizações",
"Files settings" : "Configurações de arquivos",
"Your files" : "Seus arquivos",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista de arquivos e pastas modificados recentemente.",
"No recently modified files" : "Nenhum arquivo modificado recentemente",
"Files and folders you recently modified will show up here." : "Arquivos e pastas que você modificou recentemente aparecerão aqui.",
+ "Search" : "Pesquisar",
"No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta",
"Select all" : "Selecionar tudo",
"Upload too large" : "Arquivo muito grande para fazer upload",
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index 8f361e72cf8..b01b2318f32 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista não é totalmente renderizada por motivos de desempenho. Os arquivos serão renderizados à medida que você navegar pela lista.",
"File not found" : "Arquivo não encontrado",
"_{count} selected_::_{count} selected_" : ["{count} selecionado","{count} selecionados","{count} selecionados"],
+ "Filter file names …" : "Filtrar nomes de arquivos …",
+ "Filter in current view" : "Filtrar na visualização atual",
+ "Search globally" : "Pesquisar globalmente",
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% usado",
@@ -177,7 +180,6 @@
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Envie um arquivo ou sincronize com seus dispositivos!",
"Go back" : "Voltar",
- "Filter file names …" : "Filtrar nomes de arquivos …",
"Views" : "Visualizações",
"Files settings" : "Configurações de arquivos",
"Your files" : "Seus arquivos",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Lista de arquivos e pastas modificados recentemente.",
"No recently modified files" : "Nenhum arquivo modificado recentemente",
"Files and folders you recently modified will show up here." : "Arquivos e pastas que você modificou recentemente aparecerão aqui.",
+ "Search" : "Pesquisar",
"No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta",
"Select all" : "Selecionar tudo",
"Upload too large" : "Arquivo muito grande para fazer upload",
diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js
index f35c44a8ea2..7ec7267b912 100644
--- a/apps/files/l10n/pt_PT.js
+++ b/apps/files/l10n/pt_PT.js
@@ -106,6 +106,8 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Por motivos de desempenho, esta lista não é totalmente processada. Os ficheiros serão processados à medida que navega na lista.",
"File not found" : "Ficheiro não encontrado",
"_{count} selected_::_{count} selected_" : ["{count} selecionado","{count} selecionado","{count} selecionado"],
+ "Filter in current view" : "Filtrar na vista atual",
+ "Search globally" : "Procura global",
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "utilizado {used} de {quota}",
"{relative}% used" : "{relative}% usado",
@@ -193,6 +195,7 @@ OC.L10N.register(
"All files" : "Todos os ficheiros",
"Personal files" : "Ficheiros pessoais",
"Recent" : "Recentes",
+ "Search" : "Pesquisa sobre",
"No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
"Select all" : "Selecionar todos",
"Upload too large" : "Envio muito grande",
diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json
index 2a53bbf9bd9..b364f82f67a 100644
--- a/apps/files/l10n/pt_PT.json
+++ b/apps/files/l10n/pt_PT.json
@@ -104,6 +104,8 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Por motivos de desempenho, esta lista não é totalmente processada. Os ficheiros serão processados à medida que navega na lista.",
"File not found" : "Ficheiro não encontrado",
"_{count} selected_::_{count} selected_" : ["{count} selecionado","{count} selecionado","{count} selecionado"],
+ "Filter in current view" : "Filtrar na vista atual",
+ "Search globally" : "Procura global",
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "utilizado {used} de {quota}",
"{relative}% used" : "{relative}% usado",
@@ -191,6 +193,7 @@
"All files" : "Todos os ficheiros",
"Personal files" : "Ficheiros pessoais",
"Recent" : "Recentes",
+ "Search" : "Pesquisa sobre",
"No entries found in this folder" : "Não foram encontradas entradas nesta pasta",
"Select all" : "Selecionar todos",
"Upload too large" : "Envio muito grande",
diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js
index f595f73d79e..4995179dbbb 100644
--- a/apps/files/l10n/ro.js
+++ b/apps/files/l10n/ro.js
@@ -83,6 +83,8 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Această lista este incomplet afișată din motive de performanță. Fișierele vor fi afișate pe măsură ce navigați prin listă.",
"File not found" : "Fișierul nu a fost găsit",
"_{count} selected_::_{count} selected_" : ["{count}selectat","{count}selectate","{count}selectate"],
+ "Filter in current view" : "Filtrează în vizualizarea curentă",
+ "Search globally" : "Caută global",
"{usedQuotaByte} used" : "{usedQuotaByte} utilizați",
"{used} of {quota} used" : "{used} din {quota} folosiți",
"{relative}% used" : "{relative}% utilizat",
@@ -195,6 +197,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista fișierelor și dosarelor modificate recent.",
"No recently modified files" : "Niciun fișier modificat recent",
"Files and folders you recently modified will show up here." : "Fișierele și dosarele modificate recent vor fi afișate aici",
+ "Search" : "Căutare",
"No entries found in this folder" : "Niciun element găsit în acest director",
"Select all" : "Selectează tot",
"Upload too large" : "Fișierul încărcat este prea mare",
diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json
index 482b8e64640..b198e6e068e 100644
--- a/apps/files/l10n/ro.json
+++ b/apps/files/l10n/ro.json
@@ -81,6 +81,8 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Această lista este incomplet afișată din motive de performanță. Fișierele vor fi afișate pe măsură ce navigați prin listă.",
"File not found" : "Fișierul nu a fost găsit",
"_{count} selected_::_{count} selected_" : ["{count}selectat","{count}selectate","{count}selectate"],
+ "Filter in current view" : "Filtrează în vizualizarea curentă",
+ "Search globally" : "Caută global",
"{usedQuotaByte} used" : "{usedQuotaByte} utilizați",
"{used} of {quota} used" : "{used} din {quota} folosiți",
"{relative}% used" : "{relative}% utilizat",
@@ -193,6 +195,7 @@
"List of recently modified files and folders." : "Lista fișierelor și dosarelor modificate recent.",
"No recently modified files" : "Niciun fișier modificat recent",
"Files and folders you recently modified will show up here." : "Fișierele și dosarele modificate recent vor fi afișate aici",
+ "Search" : "Căutare",
"No entries found in this folder" : "Niciun element găsit în acest director",
"Select all" : "Selectează tot",
"Upload too large" : "Fișierul încărcat este prea mare",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index 4f6cf29409b..dce2c2d99ca 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -124,6 +124,9 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Заголовки столбцов с кнопками можно сортировать.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Этот список отображается не полностью из соображений производительности. Файлы будут отображаться по мере перемещения по списку.",
"File not found" : "Файл не найден",
+ "Filter file names …" : "Фильтровать имена файлов…",
+ "Filter in current view" : "Фильтр в текущем виде",
+ "Search globally" : "Искать глобально",
"{usedQuotaByte} used" : "Использовано {usedQuotaByte}",
"{used} of {quota} used" : "использовано {used} из {quota}",
"{relative}% used" : "Использовано {relative}%",
@@ -178,7 +181,6 @@ OC.L10N.register(
"No files in here" : "Здесь нет файлов",
"Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!",
"Go back" : "Назад",
- "Filter file names …" : "Фильтровать имена файлов…",
"Views" : "Представления",
"Files settings" : "Настройки файлов",
"Your files" : "Ваши файлы",
@@ -363,6 +365,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Список недавно измененных файлов и директорий.",
"No recently modified files" : "Нет недавно измененных файлов",
"Files and folders you recently modified will show up here." : "Здесь будут показаны недавно изменённые файлы и папки",
+ "Search" : "Поиск",
"No entries found in this folder" : "В этом каталоге ничего не найдено",
"Select all" : "Выбрать всё",
"Upload too large" : "Файл слишком велик",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 32c53285922..eeed7ca481c 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -122,6 +122,9 @@
"Column headers with buttons are sortable." : "Заголовки столбцов с кнопками можно сортировать.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Этот список отображается не полностью из соображений производительности. Файлы будут отображаться по мере перемещения по списку.",
"File not found" : "Файл не найден",
+ "Filter file names …" : "Фильтровать имена файлов…",
+ "Filter in current view" : "Фильтр в текущем виде",
+ "Search globally" : "Искать глобально",
"{usedQuotaByte} used" : "Использовано {usedQuotaByte}",
"{used} of {quota} used" : "использовано {used} из {quota}",
"{relative}% used" : "Использовано {relative}%",
@@ -176,7 +179,6 @@
"No files in here" : "Здесь нет файлов",
"Upload some content or sync with your devices!" : "Загрузите что-нибудь или синхронизируйте со своими устройствами!",
"Go back" : "Назад",
- "Filter file names …" : "Фильтровать имена файлов…",
"Views" : "Представления",
"Files settings" : "Настройки файлов",
"Your files" : "Ваши файлы",
@@ -361,6 +363,7 @@
"List of recently modified files and folders." : "Список недавно измененных файлов и директорий.",
"No recently modified files" : "Нет недавно измененных файлов",
"Files and folders you recently modified will show up here." : "Здесь будут показаны недавно изменённые файлы и папки",
+ "Search" : "Поиск",
"No entries found in this folder" : "В этом каталоге ничего не найдено",
"Select all" : "Выбрать всё",
"Upload too large" : "Файл слишком велик",
diff --git a/apps/files/l10n/sc.js b/apps/files/l10n/sc.js
index 755e1047412..fb3822bfdc2 100644
--- a/apps/files/l10n/sc.js
+++ b/apps/files/l10n/sc.js
@@ -76,6 +76,7 @@ OC.L10N.register(
"(selected)" : "(seletzionados)",
"List of files and folders." : "Lista de archìvios e cartellas.",
"File not found" : "Archìviu no agatadu",
+ "Search globally" : "Chirca globale",
"{usedQuotaByte} used" : "{usedQuotaByte} impreadu",
"{used} of {quota} used" : "{used} de {quota} impreadu",
"{relative}% used" : "{relative}% impreadu",
@@ -200,6 +201,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista de cartellas e archìvios modificados de reghente.",
"No recently modified files" : "Nissunu archìviu modificadu de reghente",
"Files and folders you recently modified will show up here." : "Is cartellas e is archìvios chi apas modificadu de reghente ant a èssere mustrados inoghe.",
+ "Search" : "Chirca",
"No entries found in this folder" : "Perunu elementu agatadu in custa cartella",
"Select all" : "Seletziona totu",
"Upload too large" : "Carrigamentu tropu mannu",
diff --git a/apps/files/l10n/sc.json b/apps/files/l10n/sc.json
index 155c639ed06..6d991619c47 100644
--- a/apps/files/l10n/sc.json
+++ b/apps/files/l10n/sc.json
@@ -74,6 +74,7 @@
"(selected)" : "(seletzionados)",
"List of files and folders." : "Lista de archìvios e cartellas.",
"File not found" : "Archìviu no agatadu",
+ "Search globally" : "Chirca globale",
"{usedQuotaByte} used" : "{usedQuotaByte} impreadu",
"{used} of {quota} used" : "{used} de {quota} impreadu",
"{relative}% used" : "{relative}% impreadu",
@@ -198,6 +199,7 @@
"List of recently modified files and folders." : "Lista de cartellas e archìvios modificados de reghente.",
"No recently modified files" : "Nissunu archìviu modificadu de reghente",
"Files and folders you recently modified will show up here." : "Is cartellas e is archìvios chi apas modificadu de reghente ant a èssere mustrados inoghe.",
+ "Search" : "Chirca",
"No entries found in this folder" : "Perunu elementu agatadu in custa cartella",
"Select all" : "Seletziona totu",
"Upload too large" : "Carrigamentu tropu mannu",
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index bcb44beb3f3..6a3d16f96cc 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -117,6 +117,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Tento zoznam nie je úplne vykreslený z dôvodov výkonu. Súbory budú vykreslené, keď budete prechádzať zoznamom.",
"File not found" : "Súbor nenájdený",
"_{count} selected_::_{count} selected_" : ["{count} vybraný","{count} vybrané","{count} vybraných","{count} vybraných"],
+ "Filter file names …" : "Filtrovať názvy súborov ...",
+ "Filter in current view" : "Filter v aktuálnom zobrazení",
+ "Search globally" : "Hľadať globálne",
"{usedQuotaByte} used" : "{usedQuotaByte} použitých",
"{used} of {quota} used" : "použitých {used} z {quota}",
"{relative}% used" : "{relative}% použitých",
@@ -171,7 +174,6 @@ OC.L10N.register(
"No files in here" : "Nie sú tu žiadne súbory",
"Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte dáta so svojimi zariadeniami!",
"Go back" : "Ísť späť",
- "Filter file names …" : "Filtrovať názvy súborov ...",
"Views" : "Zobrazenia",
"Files settings" : "Nastavenia súborov",
"Your files" : "Vaše súbory",
@@ -354,6 +356,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Zoznam nedávno upravených súborov a priečinkov.",
"No recently modified files" : "Žiadne nedávno upravené súbory",
"Files and folders you recently modified will show up here." : "Súbory a priečinky, ktoré ste nedávno upravili sa zobrazia tu",
+ "Search" : "Hľadať",
"No entries found in this folder" : "V tomto priečinku nebolo nič nájdené",
"Select all" : "Vybrať všetko",
"Upload too large" : "Nahrávanie je príliš veľké",
diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json
index d9d2a6212d4..0c1949337d5 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -115,6 +115,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Tento zoznam nie je úplne vykreslený z dôvodov výkonu. Súbory budú vykreslené, keď budete prechádzať zoznamom.",
"File not found" : "Súbor nenájdený",
"_{count} selected_::_{count} selected_" : ["{count} vybraný","{count} vybrané","{count} vybraných","{count} vybraných"],
+ "Filter file names …" : "Filtrovať názvy súborov ...",
+ "Filter in current view" : "Filter v aktuálnom zobrazení",
+ "Search globally" : "Hľadať globálne",
"{usedQuotaByte} used" : "{usedQuotaByte} použitých",
"{used} of {quota} used" : "použitých {used} z {quota}",
"{relative}% used" : "{relative}% použitých",
@@ -169,7 +172,6 @@
"No files in here" : "Nie sú tu žiadne súbory",
"Upload some content or sync with your devices!" : "Nahrajte nejaký obsah alebo synchronizujte dáta so svojimi zariadeniami!",
"Go back" : "Ísť späť",
- "Filter file names …" : "Filtrovať názvy súborov ...",
"Views" : "Zobrazenia",
"Files settings" : "Nastavenia súborov",
"Your files" : "Vaše súbory",
@@ -352,6 +354,7 @@
"List of recently modified files and folders." : "Zoznam nedávno upravených súborov a priečinkov.",
"No recently modified files" : "Žiadne nedávno upravené súbory",
"Files and folders you recently modified will show up here." : "Súbory a priečinky, ktoré ste nedávno upravili sa zobrazia tu",
+ "Search" : "Hľadať",
"No entries found in this folder" : "V tomto priečinku nebolo nič nájdené",
"Select all" : "Vybrať všetko",
"Upload too large" : "Nahrávanie je príliš veľké",
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index f55638bef0a..b7120d0c014 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -118,6 +118,9 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Naslove stolpcev z gumbi je mogoče sortirati.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Seznam datotek ni v celoti izpisan zaradi zagotavljanja hitrosti in odzivnosti sistema. Predmeti se bodo dopolnjevali med brskanjem.",
"File not found" : "Datoteke ni mogoče najti",
+ "Filter file names …" : "Filtriraj imena datotek...",
+ "Filter in current view" : "Filtrirajte trenutni pogled",
+ "Search globally" : "Splošno iskanje",
"{usedQuotaByte} used" : "Zasedeno {usedQuotaByte}",
"{used} of {quota} used" : "V uporabi je {used} od {quota}",
"{relative}% used" : "Zasedeno {relative} %",
@@ -172,7 +175,6 @@ OC.L10N.register(
"No files in here" : "V mapi ni datotek",
"Upload some content or sync with your devices!" : "Uvozite vsebino, ali pa omogočite usklajevanje z napravami!",
"Go back" : "Skoči nazaj",
- "Filter file names …" : "Filtriraj imena datotek...",
"Views" : "Pogledi",
"Files settings" : "Nastavitve datotek",
"Your files" : "Osebne datoteke",
@@ -355,6 +357,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Seznam nedavno spremenjenih datotek in map.",
"No recently modified files" : "Ni nedavno spremenjenih datotek",
"Files and folders you recently modified will show up here." : "Nedavno spremenjene datoteke ali mape, bodo zbrane na tem mestu.",
+ "Search" : "Poišči",
"No entries found in this folder" : "V tej mapi ni najdenih predmetov.",
"Select all" : "izberi vse",
"Upload too large" : "Prekoračena je omejitev dovoljene velikosti",
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index 9a35e0ed38e..e4a769a19f6 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -116,6 +116,9 @@
"Column headers with buttons are sortable." : "Naslove stolpcev z gumbi je mogoče sortirati.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Seznam datotek ni v celoti izpisan zaradi zagotavljanja hitrosti in odzivnosti sistema. Predmeti se bodo dopolnjevali med brskanjem.",
"File not found" : "Datoteke ni mogoče najti",
+ "Filter file names …" : "Filtriraj imena datotek...",
+ "Filter in current view" : "Filtrirajte trenutni pogled",
+ "Search globally" : "Splošno iskanje",
"{usedQuotaByte} used" : "Zasedeno {usedQuotaByte}",
"{used} of {quota} used" : "V uporabi je {used} od {quota}",
"{relative}% used" : "Zasedeno {relative} %",
@@ -170,7 +173,6 @@
"No files in here" : "V mapi ni datotek",
"Upload some content or sync with your devices!" : "Uvozite vsebino, ali pa omogočite usklajevanje z napravami!",
"Go back" : "Skoči nazaj",
- "Filter file names …" : "Filtriraj imena datotek...",
"Views" : "Pogledi",
"Files settings" : "Nastavitve datotek",
"Your files" : "Osebne datoteke",
@@ -353,6 +355,7 @@
"List of recently modified files and folders." : "Seznam nedavno spremenjenih datotek in map.",
"No recently modified files" : "Ni nedavno spremenjenih datotek",
"Files and folders you recently modified will show up here." : "Nedavno spremenjene datoteke ali mape, bodo zbrane na tem mestu.",
+ "Search" : "Poišči",
"No entries found in this folder" : "V tej mapi ni najdenih predmetov.",
"Select all" : "izberi vse",
"Upload too large" : "Prekoračena je omejitev dovoljene velikosti",
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index 7c26a7c95bd..fccd247f7e4 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ова листа није у потпуности приказана из разлога перформанси. Фајлови ће се приказивати како се крећете кроз листу.",
"File not found" : "Фајл није нађен",
"_{count} selected_::_{count} selected_" : ["изабран је {count}","изабрана су {count}","изабрано је {count}"],
+ "Filter file names …" : "Филтрирање имена фајлова…",
+ "Filter in current view" : "Филтрирај у текућем погледу",
+ "Search globally" : "Претражите глобално",
"{usedQuotaByte} used" : "{usedQuotaByte} искоришћено",
"{used} of {quota} used" : "{used} од {quota} искоришћено",
"{relative}% used" : "{relative}% искоришћено",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Овде нема фајлова",
"Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!",
"Go back" : "Иди назад",
- "Filter file names …" : "Филтрирање имена фајлова…",
"Views" : "Прикази",
"Files settings" : "Подешавања фајлова",
"Your files" : "Ваши фајлови",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Листа фајлова и директоријума који су недавно измењени.",
"No recently modified files" : "Нема недавно промењених фајлова",
"Files and folders you recently modified will show up here." : "Овде ће се појавити фајлови и фолдери које сте недавно изменили.",
+ "Search" : "Претрага",
"No entries found in this folder" : "Нема ничега у овој фасцикли",
"Select all" : "Означи све",
"Upload too large" : "Отпремање је превелико",
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index c262023b8f3..d85ca410bfd 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ова листа није у потпуности приказана из разлога перформанси. Фајлови ће се приказивати како се крећете кроз листу.",
"File not found" : "Фајл није нађен",
"_{count} selected_::_{count} selected_" : ["изабран је {count}","изабрана су {count}","изабрано је {count}"],
+ "Filter file names …" : "Филтрирање имена фајлова…",
+ "Filter in current view" : "Филтрирај у текућем погледу",
+ "Search globally" : "Претражите глобално",
"{usedQuotaByte} used" : "{usedQuotaByte} искоришћено",
"{used} of {quota} used" : "{used} од {quota} искоришћено",
"{relative}% used" : "{relative}% искоришћено",
@@ -177,7 +180,6 @@
"No files in here" : "Овде нема фајлова",
"Upload some content or sync with your devices!" : "Отпремите неки садржај или синхронизујте са вашим уређајима!",
"Go back" : "Иди назад",
- "Filter file names …" : "Филтрирање имена фајлова…",
"Views" : "Прикази",
"Files settings" : "Подешавања фајлова",
"Your files" : "Ваши фајлови",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Листа фајлова и директоријума који су недавно измењени.",
"No recently modified files" : "Нема недавно промењених фајлова",
"Files and folders you recently modified will show up here." : "Овде ће се појавити фајлови и фолдери које сте недавно изменили.",
+ "Search" : "Претрага",
"No entries found in this folder" : "Нема ничега у овој фасцикли",
"Select all" : "Означи све",
"Upload too large" : "Отпремање је превелико",
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index 27d6814448f..ba7fb4e65f3 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Denna lista är inte helt återgiven av prestandaskäl. Filerna kommer att renderas när du navigerar genom listan.",
"File not found" : "Filen kunde inte hittas",
"_{count} selected_::_{count} selected_" : ["{count} vald","{count} valda"],
+ "Filter file names …" : "Filtrera filnamn …",
+ "Filter in current view" : "Filtrera i aktuell vy",
+ "Search globally" : "Sök globalt",
"{usedQuotaByte} used" : "{usedQuotaByte} använt",
"{used} of {quota} used" : "{used} av {quota} använt",
"{relative}% used" : "{relative}% använt",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Inga filer kunde hittas",
"Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!",
"Go back" : "Gå tillbaks",
- "Filter file names …" : "Filtrera filnamn …",
"Views" : "Vyer",
"Files settings" : "Filinställningar",
"Your files" : "Dina filer",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Lista över nyligen ändrade filer och mappar.",
"No recently modified files" : "Inga nyligen ändrade filer",
"Files and folders you recently modified will show up here." : "Filer och mappar som du nyligen ändrat kommer att visas här.",
+ "Search" : "Sök",
"No entries found in this folder" : "Inget innehåll hittades i denna mapp",
"Select all" : "Välj allt",
"Upload too large" : "För stor uppladdning",
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index 3944641dad5..a47f761154d 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Denna lista är inte helt återgiven av prestandaskäl. Filerna kommer att renderas när du navigerar genom listan.",
"File not found" : "Filen kunde inte hittas",
"_{count} selected_::_{count} selected_" : ["{count} vald","{count} valda"],
+ "Filter file names …" : "Filtrera filnamn …",
+ "Filter in current view" : "Filtrera i aktuell vy",
+ "Search globally" : "Sök globalt",
"{usedQuotaByte} used" : "{usedQuotaByte} använt",
"{used} of {quota} used" : "{used} av {quota} använt",
"{relative}% used" : "{relative}% använt",
@@ -177,7 +180,6 @@
"No files in here" : "Inga filer kunde hittas",
"Upload some content or sync with your devices!" : "Ladda upp innehåll eller synkronisera med dina enheter!",
"Go back" : "Gå tillbaks",
- "Filter file names …" : "Filtrera filnamn …",
"Views" : "Vyer",
"Files settings" : "Filinställningar",
"Your files" : "Dina filer",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Lista över nyligen ändrade filer och mappar.",
"No recently modified files" : "Inga nyligen ändrade filer",
"Files and folders you recently modified will show up here." : "Filer och mappar som du nyligen ändrat kommer att visas här.",
+ "Search" : "Sök",
"No entries found in this folder" : "Inget innehåll hittades i denna mapp",
"Select all" : "Välj allt",
"Upload too large" : "För stor uppladdning",
diff --git a/apps/files/l10n/sw.js b/apps/files/l10n/sw.js
index 35a699ffb61..2c9545785a2 100644
--- a/apps/files/l10n/sw.js
+++ b/apps/files/l10n/sw.js
@@ -125,6 +125,8 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Orodha hii haijatolewa kikamilifu kwa sababu za utendaji. Faili zitatolewa unapopitia orodha.",
"File not found" : "Faili halipatikani",
"_{count} selected_::_{count} selected_" : ["{count} selected","{count} iliyochaguliwa"],
+ "Filter file names …" : "Chuja majina ya faili...",
+ "Filter in current view" : "Chuja katika mwonekano wa sasa",
"{usedQuotaByte} used" : "{usedQuotaByte}imetumika",
"{used} of {quota} used" : "{used} ya {quota}imetumika",
"{relative}% used" : "{relative}% imetumika",
@@ -179,7 +181,6 @@ OC.L10N.register(
"No files in here" : "Hakuna faili hapa",
"Upload some content or sync with your devices!" : "Pakia baadhi ya maudhui au usawazishe na vifaa vyako!",
"Go back" : "Rudi nyuma",
- "Filter file names …" : "Chuja majina ya faili...",
"Views" : "Mionekano",
"Files settings" : "Mipangilio ya faili",
"Your files" : "Mafaili yako",
@@ -361,6 +362,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Orodha ya faili na vikasha vilivyoboreshwa hivi karibuni",
"No recently modified files" : "Hakuna faili zilizoboreshwa hivi karibuni",
"Files and folders you recently modified will show up here." : "Faili na vikasha ulivyoboresha hivi karibuni vitaonekana hapa",
+ "Search" : "Tafuta",
"No entries found in this folder" : "Hakuna maingizo yaliyopatikana katika kasha hili",
"Select all" : "Chagua zote",
"Upload too large" : "Upakiaji mkubwa mno",
diff --git a/apps/files/l10n/sw.json b/apps/files/l10n/sw.json
index 25b74f3019f..339ae8195fa 100644
--- a/apps/files/l10n/sw.json
+++ b/apps/files/l10n/sw.json
@@ -123,6 +123,8 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Orodha hii haijatolewa kikamilifu kwa sababu za utendaji. Faili zitatolewa unapopitia orodha.",
"File not found" : "Faili halipatikani",
"_{count} selected_::_{count} selected_" : ["{count} selected","{count} iliyochaguliwa"],
+ "Filter file names …" : "Chuja majina ya faili...",
+ "Filter in current view" : "Chuja katika mwonekano wa sasa",
"{usedQuotaByte} used" : "{usedQuotaByte}imetumika",
"{used} of {quota} used" : "{used} ya {quota}imetumika",
"{relative}% used" : "{relative}% imetumika",
@@ -177,7 +179,6 @@
"No files in here" : "Hakuna faili hapa",
"Upload some content or sync with your devices!" : "Pakia baadhi ya maudhui au usawazishe na vifaa vyako!",
"Go back" : "Rudi nyuma",
- "Filter file names …" : "Chuja majina ya faili...",
"Views" : "Mionekano",
"Files settings" : "Mipangilio ya faili",
"Your files" : "Mafaili yako",
@@ -359,6 +360,7 @@
"List of recently modified files and folders." : "Orodha ya faili na vikasha vilivyoboreshwa hivi karibuni",
"No recently modified files" : "Hakuna faili zilizoboreshwa hivi karibuni",
"Files and folders you recently modified will show up here." : "Faili na vikasha ulivyoboresha hivi karibuni vitaonekana hapa",
+ "Search" : "Tafuta",
"No entries found in this folder" : "Hakuna maingizo yaliyopatikana katika kasha hili",
"Select all" : "Chagua zote",
"Upload too large" : "Upakiaji mkubwa mno",
diff --git a/apps/files/l10n/th.js b/apps/files/l10n/th.js
index 320ce095c41..631f7c5f408 100644
--- a/apps/files/l10n/th.js
+++ b/apps/files/l10n/th.js
@@ -159,6 +159,7 @@ OC.L10N.register(
"All files" : "ไฟล์ทั้งหมด",
"Personal files" : "ไฟล์ส่วนตัว",
"Recent" : "ล่าสุด",
+ "Search" : "ค้นหา",
"No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้",
"Select all" : "เลือกทั้งหมด",
"Upload too large" : "ไฟล์ที่อัปโหลดมีขนาดใหญ่เกินไป",
diff --git a/apps/files/l10n/th.json b/apps/files/l10n/th.json
index f62e46e0e6e..6cb4833fffc 100644
--- a/apps/files/l10n/th.json
+++ b/apps/files/l10n/th.json
@@ -157,6 +157,7 @@
"All files" : "ไฟล์ทั้งหมด",
"Personal files" : "ไฟล์ส่วนตัว",
"Recent" : "ล่าสุด",
+ "Search" : "ค้นหา",
"No entries found in this folder" : "ไม่พบรายการในโฟลเดอร์นี้",
"Select all" : "เลือกทั้งหมด",
"Upload too large" : "ไฟล์ที่อัปโหลดมีขนาดใหญ่เกินไป",
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 829f9438f3b..c0a8ce3f885 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Başarımı olumsuz etkilememek için listenin tümü görüntülenmiyor. Listede ilerledikçe dosyalar görüntülenecek.",
"File not found" : "Dosya bulunamadı",
"_{count} selected_::_{count} selected_" : ["{count} seçilmiş","{count} seçilmiş"],
+ "Filter file names …" : "Dosya adlarını süz…",
+ "Filter in current view" : "Geçerli görünümü süz",
+ "Search globally" : "Genel arama",
"{usedQuotaByte} used" : "{usedQuotaByte} kullanılmış",
"{used} of {quota} used" : "{used} / {quota} kullanılmış",
"{relative}% used" : "%{relative} kullanılmış",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Burada herhangi bir dosya yok",
"Upload some content or sync with your devices!" : "Bir şeyler yükleyin ya da aygıtlarınızla eşitleyin!",
"Go back" : "Geri dön",
- "Filter file names …" : "Dosya adlarını süz…",
"Views" : "Görünümler",
"Files settings" : "Dosyalar ayarları",
"Your files" : "Dosyalarınız",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Son değiştirilen dosya ve klasörlerin listesi.",
"No recently modified files" : "Yakınlarda değiştirilmiş bir dosya yok",
"Files and folders you recently modified will show up here." : "Son zamanlarda değiştirdiğiniz dosya ve klasörler burada görüntülenir.",
+ "Search" : "Ara",
"No entries found in this folder" : "Bu klasörde herhangi bir kayıt bulunamadı",
"Select all" : "Tümünü seç",
"Upload too large" : "Yükleme boyutu çok büyük",
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index a83f1db0285..97aab1e31d2 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Başarımı olumsuz etkilememek için listenin tümü görüntülenmiyor. Listede ilerledikçe dosyalar görüntülenecek.",
"File not found" : "Dosya bulunamadı",
"_{count} selected_::_{count} selected_" : ["{count} seçilmiş","{count} seçilmiş"],
+ "Filter file names …" : "Dosya adlarını süz…",
+ "Filter in current view" : "Geçerli görünümü süz",
+ "Search globally" : "Genel arama",
"{usedQuotaByte} used" : "{usedQuotaByte} kullanılmış",
"{used} of {quota} used" : "{used} / {quota} kullanılmış",
"{relative}% used" : "%{relative} kullanılmış",
@@ -177,7 +180,6 @@
"No files in here" : "Burada herhangi bir dosya yok",
"Upload some content or sync with your devices!" : "Bir şeyler yükleyin ya da aygıtlarınızla eşitleyin!",
"Go back" : "Geri dön",
- "Filter file names …" : "Dosya adlarını süz…",
"Views" : "Görünümler",
"Files settings" : "Dosyalar ayarları",
"Your files" : "Dosyalarınız",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Son değiştirilen dosya ve klasörlerin listesi.",
"No recently modified files" : "Yakınlarda değiştirilmiş bir dosya yok",
"Files and folders you recently modified will show up here." : "Son zamanlarda değiştirdiğiniz dosya ve klasörler burada görüntülenir.",
+ "Search" : "Ara",
"No entries found in this folder" : "Bu klasörde herhangi bir kayıt bulunamadı",
"Select all" : "Tümünü seç",
"Upload too large" : "Yükleme boyutu çok büyük",
diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js
index fe1c8faea3a..31de0abdb8e 100644
--- a/apps/files/l10n/ug.js
+++ b/apps/files/l10n/ug.js
@@ -104,6 +104,8 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "كۇنۇپكىلار بار ئىستون ماۋزۇلىرى تەرتىپلىك.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "بۇ تىزىملىك ئىقتىدار سەۋەبىدىن تولۇق كۆرسىتىلمىگەن. ھۆججەتلەر تىزىملىكتىن ئۆتكەندە كۆرسىتىلىدۇ.",
"File not found" : "ھۆججەت تېپىلمىدى",
+ "Filter in current view" : "نۆۋەتتىكى كۆرۈنۈشتە سۈزۈڭ",
+ "Search globally" : "دۇنيا مىقياسىدا ئىزدەڭ",
"{usedQuotaByte} used" : "{usedQuotaByte} ئىشلىتىلگەن",
"{used} of {quota} used" : "{used} {quota} ئىشلىتىلگەن",
"{relative}% used" : "{relative}% ئىشلىتىلگەن",
@@ -284,6 +286,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "يېقىندا ئۆزگەرتىلگەن ھۆججەت ۋە ھۆججەت قىسقۇچلارنىڭ تىزىملىكى.",
"No recently modified files" : "يېقىندا ئۆزگەرتىلگەن ھۆججەت يوق",
"Files and folders you recently modified will show up here." : "سىز يېقىندا ئۆزگەرتكەن ھۆججەت ۋە ھۆججەت قىسقۇچلار بۇ يەردە كۆرۈنىدۇ.",
+ "Search" : "ئىزدەش",
"No entries found in this folder" : "بۇ ھۆججەت قىسقۇچتا ھېچقانداق مەزمۇن تېپىلمىدى",
"Select all" : "ھەممىنى تاللاڭ",
"Upload too large" : "يۈكلەندىغىنى بەك چوڭ",
diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json
index 7d5baaee516..3eb9b801cc0 100644
--- a/apps/files/l10n/ug.json
+++ b/apps/files/l10n/ug.json
@@ -102,6 +102,8 @@
"Column headers with buttons are sortable." : "كۇنۇپكىلار بار ئىستون ماۋزۇلىرى تەرتىپلىك.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "بۇ تىزىملىك ئىقتىدار سەۋەبىدىن تولۇق كۆرسىتىلمىگەن. ھۆججەتلەر تىزىملىكتىن ئۆتكەندە كۆرسىتىلىدۇ.",
"File not found" : "ھۆججەت تېپىلمىدى",
+ "Filter in current view" : "نۆۋەتتىكى كۆرۈنۈشتە سۈزۈڭ",
+ "Search globally" : "دۇنيا مىقياسىدا ئىزدەڭ",
"{usedQuotaByte} used" : "{usedQuotaByte} ئىشلىتىلگەن",
"{used} of {quota} used" : "{used} {quota} ئىشلىتىلگەن",
"{relative}% used" : "{relative}% ئىشلىتىلگەن",
@@ -282,6 +284,7 @@
"List of recently modified files and folders." : "يېقىندا ئۆزگەرتىلگەن ھۆججەت ۋە ھۆججەت قىسقۇچلارنىڭ تىزىملىكى.",
"No recently modified files" : "يېقىندا ئۆزگەرتىلگەن ھۆججەت يوق",
"Files and folders you recently modified will show up here." : "سىز يېقىندا ئۆزگەرتكەن ھۆججەت ۋە ھۆججەت قىسقۇچلار بۇ يەردە كۆرۈنىدۇ.",
+ "Search" : "ئىزدەش",
"No entries found in this folder" : "بۇ ھۆججەت قىسقۇچتا ھېچقانداق مەزمۇن تېپىلمىدى",
"Select all" : "ھەممىنى تاللاڭ",
"Upload too large" : "يۈكلەندىغىنى بەك چوڭ",
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index e1059df3ed0..517b23256f7 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Список не подається повністю з міркувань обчислювальних потужностей. Файли показуватимуться під час прокручування списку.",
"File not found" : "Файл не знайдено",
"_{count} selected_::_{count} selected_" : ["Вибрано {count}","Вибрано {count}","Вибрано {count} ","Вибрано {count} "],
+ "Filter file names …" : "Фільтр за іменем файлу ...",
+ "Filter in current view" : "Фільтр поточного подання",
+ "Search globally" : "Шукати всюди",
"{usedQuotaByte} used" : "{usedQuotaByte} використано",
"{used} of {quota} used" : "Використано {used} із {quota}",
"{relative}% used" : "{relative}% використано",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "Тут немає файлів",
"Upload some content or sync with your devices!" : "Завантажте вміст або синхронізуйтеся з вашими пристроями!",
"Go back" : "Повернутися назад",
- "Filter file names …" : "Фільтр за іменем файлу ...",
"Views" : "Подання",
"Files settings" : "Налаштування",
"Your files" : "Ваші файли",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Список нещодавно змінених файлів та каталогів.",
"No recently modified files" : "Відсутні файли із нещодавними змінами",
"Files and folders you recently modified will show up here." : "Тут показуватимуться файли та каталоги, які було нещодавно змінено.",
+ "Search" : "Пошук",
"No entries found in this folder" : "В цьому каталозі нічого не знайдено",
"Select all" : "Вибрати все",
"Upload too large" : "Файл занадто великий",
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index a0ce459f192..4b89cd0dcfa 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Список не подається повністю з міркувань обчислювальних потужностей. Файли показуватимуться під час прокручування списку.",
"File not found" : "Файл не знайдено",
"_{count} selected_::_{count} selected_" : ["Вибрано {count}","Вибрано {count}","Вибрано {count} ","Вибрано {count} "],
+ "Filter file names …" : "Фільтр за іменем файлу ...",
+ "Filter in current view" : "Фільтр поточного подання",
+ "Search globally" : "Шукати всюди",
"{usedQuotaByte} used" : "{usedQuotaByte} використано",
"{used} of {quota} used" : "Використано {used} із {quota}",
"{relative}% used" : "{relative}% використано",
@@ -177,7 +180,6 @@
"No files in here" : "Тут немає файлів",
"Upload some content or sync with your devices!" : "Завантажте вміст або синхронізуйтеся з вашими пристроями!",
"Go back" : "Повернутися назад",
- "Filter file names …" : "Фільтр за іменем файлу ...",
"Views" : "Подання",
"Files settings" : "Налаштування",
"Your files" : "Ваші файли",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "Список нещодавно змінених файлів та каталогів.",
"No recently modified files" : "Відсутні файли із нещодавними змінами",
"Files and folders you recently modified will show up here." : "Тут показуватимуться файли та каталоги, які було нещодавно змінено.",
+ "Search" : "Пошук",
"No entries found in this folder" : "В цьому каталозі нічого не знайдено",
"Select all" : "Вибрати все",
"Upload too large" : "Файл занадто великий",
diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js
index bcdf60036d6..92f4d917072 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -105,6 +105,8 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Tiêu đề cột có thể sắp xếp được.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Danh sách này không được hiển thị đầy đủ để tăng hiệu năng. Các tập tin sẽ được hiển thị khi bạn điều hướng qua danh sách.",
"File not found" : "Không tìm thấy tập tin",
+ "Filter in current view" : "Lọc kết quả tìm kiếm hiện tại",
+ "Search globally" : "Tìm kiếm trên toàn cầu",
"{usedQuotaByte} used" : "{usedQuotaByte} đã được sử dụng",
"{used} of {quota} used" : "{used} trong {quota} đã được sử dụng",
"{relative}% used" : "đã sử dụng {relative}%",
@@ -282,6 +284,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "Danh sách các tập tin và thư mục được sửa đổi gần đây.",
"No recently modified files" : "Không có tập tin được sửa đổi gần đây",
"Files and folders you recently modified will show up here." : "Các tập tin và thư mục bạn sửa đổi gần đây sẽ hiển thị ở đây.",
+ "Search" : "Tìm kiếm",
"No entries found in this folder" : "Chưa có mục nào trong thư mục",
"Select all" : "Chọn tất cả",
"Upload too large" : "Tập tin tải lên quá lớn",
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index b54892c9301..06e0c312cca 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -103,6 +103,8 @@
"Column headers with buttons are sortable." : "Tiêu đề cột có thể sắp xếp được.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Danh sách này không được hiển thị đầy đủ để tăng hiệu năng. Các tập tin sẽ được hiển thị khi bạn điều hướng qua danh sách.",
"File not found" : "Không tìm thấy tập tin",
+ "Filter in current view" : "Lọc kết quả tìm kiếm hiện tại",
+ "Search globally" : "Tìm kiếm trên toàn cầu",
"{usedQuotaByte} used" : "{usedQuotaByte} đã được sử dụng",
"{used} of {quota} used" : "{used} trong {quota} đã được sử dụng",
"{relative}% used" : "đã sử dụng {relative}%",
@@ -280,6 +282,7 @@
"List of recently modified files and folders." : "Danh sách các tập tin và thư mục được sửa đổi gần đây.",
"No recently modified files" : "Không có tập tin được sửa đổi gần đây",
"Files and folders you recently modified will show up here." : "Các tập tin và thư mục bạn sửa đổi gần đây sẽ hiển thị ở đây.",
+ "Search" : "Tìm kiếm",
"No entries found in this folder" : "Chưa có mục nào trong thư mục",
"Select all" : "Chọn tất cả",
"Upload too large" : "Tập tin tải lên quá lớn",
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 1309bf4379f..d6ef1d2d90d 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出于性能考虑,此列表未完全呈现。文件将在您浏览列表时呈现。",
"File not found" : "文件未找到",
"_{count} selected_::_{count} selected_" : ["已选择 {count} 个"],
+ "Filter file names …" : "筛选文件名…",
+ "Filter in current view" : "在当前视图中筛选",
+ "Search globally" : "全局搜索",
"{usedQuotaByte} used" : "已使用 {usedQuotaByte}",
"{used} of {quota} used" : "已使用 {used}(共 {quota})",
"{relative}% used" : "已使用 {relative}%",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "这里没有文件",
"Upload some content or sync with your devices!" : "上传一些内容或与您的设备同步!",
"Go back" : "返回",
- "Filter file names …" : "筛选文件名…",
"Views" : "视图",
"Files settings" : "文件设置",
"Your files" : "你的文件",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "最近修改的文件与文件夹列表。",
"No recently modified files" : "近期无修改文件",
"Files and folders you recently modified will show up here." : "你最近修改的文件与文件夹将会显示在此处。",
+ "Search" : "搜索",
"No entries found in this folder" : "在此文件夹中找不到项目",
"Select all" : "全部选择",
"Upload too large" : "上传文件过大",
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index aca369c6619..2e6a0f38b0a 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出于性能考虑,此列表未完全呈现。文件将在您浏览列表时呈现。",
"File not found" : "文件未找到",
"_{count} selected_::_{count} selected_" : ["已选择 {count} 个"],
+ "Filter file names …" : "筛选文件名…",
+ "Filter in current view" : "在当前视图中筛选",
+ "Search globally" : "全局搜索",
"{usedQuotaByte} used" : "已使用 {usedQuotaByte}",
"{used} of {quota} used" : "已使用 {used}(共 {quota})",
"{relative}% used" : "已使用 {relative}%",
@@ -177,7 +180,6 @@
"No files in here" : "这里没有文件",
"Upload some content or sync with your devices!" : "上传一些内容或与您的设备同步!",
"Go back" : "返回",
- "Filter file names …" : "筛选文件名…",
"Views" : "视图",
"Files settings" : "文件设置",
"Your files" : "你的文件",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "最近修改的文件与文件夹列表。",
"No recently modified files" : "近期无修改文件",
"Files and folders you recently modified will show up here." : "你最近修改的文件与文件夹将会显示在此处。",
+ "Search" : "搜索",
"No entries found in this folder" : "在此文件夹中找不到项目",
"Select all" : "全部选择",
"Upload too large" : "上传文件过大",
diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js
index 12e62becfe7..db15d092849 100644
--- a/apps/files/l10n/zh_HK.js
+++ b/apps/files/l10n/zh_HK.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出於性能考慮,此清單未完全呈現。檔案將在您瀏覽清單時呈現。",
"File not found" : "找不到檔案",
"_{count} selected_::_{count} selected_" : ["已選擇 {count} 項"],
+ "Filter file names …" : "過濾檔案名稱 …",
+ "Filter in current view" : "目前檢視裡的篩選條件",
+ "Search globally" : "全域搜尋",
"{usedQuotaByte} used" : "已使用 {usedQuotaByte} ",
"{used} of {quota} used" : "已使用 {quota} 當中的 {used}",
"{relative}% used" : "已使用 {relative}%",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "沒有任何檔案",
"Upload some content or sync with your devices!" : "在您的裝置同步或上傳一些內容!",
"Go back" : "返回",
- "Filter file names …" : "過濾檔案名稱 …",
"Views" : "視圖",
"Files settings" : "檔案設定",
"Your files" : "您的檔案",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "最近修改的檔案和資料夾的清單。",
"No recently modified files" : "近期無修改檔案",
"Files and folders you recently modified will show up here." : "您最近修改的檔案和資料夾將顯示在此處。",
+ "Search" : "搜尋",
"No entries found in this folder" : "在此資料夾中沒有任何項目",
"Select all" : "全選",
"Upload too large" : "上傳過大",
diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json
index c211e9cf075..69646f60f45 100644
--- a/apps/files/l10n/zh_HK.json
+++ b/apps/files/l10n/zh_HK.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出於性能考慮,此清單未完全呈現。檔案將在您瀏覽清單時呈現。",
"File not found" : "找不到檔案",
"_{count} selected_::_{count} selected_" : ["已選擇 {count} 項"],
+ "Filter file names …" : "過濾檔案名稱 …",
+ "Filter in current view" : "目前檢視裡的篩選條件",
+ "Search globally" : "全域搜尋",
"{usedQuotaByte} used" : "已使用 {usedQuotaByte} ",
"{used} of {quota} used" : "已使用 {quota} 當中的 {used}",
"{relative}% used" : "已使用 {relative}%",
@@ -177,7 +180,6 @@
"No files in here" : "沒有任何檔案",
"Upload some content or sync with your devices!" : "在您的裝置同步或上傳一些內容!",
"Go back" : "返回",
- "Filter file names …" : "過濾檔案名稱 …",
"Views" : "視圖",
"Files settings" : "檔案設定",
"Your files" : "您的檔案",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "最近修改的檔案和資料夾的清單。",
"No recently modified files" : "近期無修改檔案",
"Files and folders you recently modified will show up here." : "您最近修改的檔案和資料夾將顯示在此處。",
+ "Search" : "搜尋",
"No entries found in this folder" : "在此資料夾中沒有任何項目",
"Select all" : "全選",
"Upload too large" : "上傳過大",
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index cfdfa03dc07..66f7bc84267 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -125,6 +125,9 @@ OC.L10N.register(
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出於效能考量,此清單未完全呈現。檔案將在您瀏覽清單時呈現。",
"File not found" : "找不到檔案",
"_{count} selected_::_{count} selected_" : ["已選取 {count} 個"],
+ "Filter file names …" : "過濾檔案名稱……",
+ "Filter in current view" : "目前檢視中的篩選條件",
+ "Search globally" : "全域搜尋",
"{usedQuotaByte} used" : "已使用 {usedQuotaByte}",
"{used} of {quota} used" : "已使用 {used},共 {quota}",
"{relative}% used" : "已使用 {relative}%",
@@ -179,7 +182,6 @@ OC.L10N.register(
"No files in here" : "沒有任何檔案",
"Upload some content or sync with your devices!" : "在您的裝置同步或上傳一些內容!",
"Go back" : "返回",
- "Filter file names …" : "過濾檔案名稱……",
"Views" : "顯示",
"Files settings" : "檔案設定",
"Your files" : "您的檔案",
@@ -364,6 +366,7 @@ OC.L10N.register(
"List of recently modified files and folders." : "最近修改的檔案與資料夾的清單。",
"No recently modified files" : "最近無修改檔案",
"Files and folders you recently modified will show up here." : "您最近修改的檔案與資料夾將會顯示在此處。",
+ "Search" : "搜尋",
"No entries found in this folder" : "此資料夾中沒有任何項目",
"Select all" : "全選",
"Upload too large" : "上傳檔案過大",
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index 4af203b309e..d5805b868e8 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -123,6 +123,9 @@
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出於效能考量,此清單未完全呈現。檔案將在您瀏覽清單時呈現。",
"File not found" : "找不到檔案",
"_{count} selected_::_{count} selected_" : ["已選取 {count} 個"],
+ "Filter file names …" : "過濾檔案名稱……",
+ "Filter in current view" : "目前檢視中的篩選條件",
+ "Search globally" : "全域搜尋",
"{usedQuotaByte} used" : "已使用 {usedQuotaByte}",
"{used} of {quota} used" : "已使用 {used},共 {quota}",
"{relative}% used" : "已使用 {relative}%",
@@ -177,7 +180,6 @@
"No files in here" : "沒有任何檔案",
"Upload some content or sync with your devices!" : "在您的裝置同步或上傳一些內容!",
"Go back" : "返回",
- "Filter file names …" : "過濾檔案名稱……",
"Views" : "顯示",
"Files settings" : "檔案設定",
"Your files" : "您的檔案",
@@ -362,6 +364,7 @@
"List of recently modified files and folders." : "最近修改的檔案與資料夾的清單。",
"No recently modified files" : "最近無修改檔案",
"Files and folders you recently modified will show up here." : "您最近修改的檔案與資料夾將會顯示在此處。",
+ "Search" : "搜尋",
"No entries found in this folder" : "此資料夾中沒有任何項目",
"Select all" : "全選",
"Upload too large" : "上傳檔案過大",
diff --git a/apps/files/src/actions/openInFilesAction.spec.ts b/apps/files/src/actions/openInFilesAction.spec.ts
index e732270d4c0..3ccd15fa2d2 100644
--- a/apps/files/src/actions/openInFilesAction.spec.ts
+++ b/apps/files/src/actions/openInFilesAction.spec.ts
@@ -19,7 +19,7 @@ const recentView = {
describe('Open in files action conditions tests', () => {
test('Default values', () => {
expect(action).toBeInstanceOf(FileAction)
- expect(action.id).toBe('open-in-files-recent')
+ expect(action.id).toBe('open-in-files')
expect(action.displayName([], recentView)).toBe('Open in Files')
expect(action.iconSvgInline([], recentView)).toBe('')
expect(action.default).toBe(DefaultType.HIDDEN)
diff --git a/apps/files/src/actions/openInFilesAction.ts b/apps/files/src/actions/openInFilesAction.ts
index 10e19e7eace..9e10b1ac74e 100644
--- a/apps/files/src/actions/openInFilesAction.ts
+++ b/apps/files/src/actions/openInFilesAction.ts
@@ -2,19 +2,21 @@
* SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
-import { translate as t } from '@nextcloud/l10n'
-import { type Node, FileType, FileAction, DefaultType } from '@nextcloud/files'
-/**
- * TODO: Move away from a redirect and handle
- * navigation straight out of the recent view
- */
+import type { Node } from '@nextcloud/files'
+
+import { t } from '@nextcloud/l10n'
+import { FileType, FileAction, DefaultType } from '@nextcloud/files'
+import { VIEW_ID as SEARCH_VIEW_ID } from '../views/search'
+
export const action = new FileAction({
- id: 'open-in-files-recent',
+ id: 'open-in-files',
displayName: () => t('files', 'Open in Files'),
iconSvgInline: () => '',
- enabled: (nodes, view) => view.id === 'recent',
+ enabled(nodes, view) {
+ return view.id === 'recent' || view.id === SEARCH_VIEW_ID
+ },
async exec(node: Node) {
let dir = node.dirname
diff --git a/apps/files/src/components/FilesNavigationItem.vue b/apps/files/src/components/FilesNavigationItem.vue
index 372a83e1441..2c7c8b4b944 100644
--- a/apps/files/src/components/FilesNavigationItem.vue
+++ b/apps/files/src/components/FilesNavigationItem.vue
@@ -89,7 +89,7 @@ export default defineComponent({
return (Object.values(this.views).reduce((acc, views) => [...acc, ...views], []) as View[])
.filter(view => view.params?.dir.startsWith(this.parent.params?.dir))
}
- return this.views[this.parent.id] ?? [] // Root level views have `undefined` parent ids
+ return this.filterVisible(this.views[this.parent.id] ?? [])
},
style() {
@@ -103,11 +103,15 @@ export default defineComponent({
},
methods: {
+ filterVisible(views: View[]) {
+ return views.filter(({ _view, id }) => id === this.currentView?.id || _view.hidden !== true)
+ },
+
hasChildViews(view: View): boolean {
if (this.level >= maxLevel) {
return false
}
- return this.views[view.id]?.length > 0
+ return this.filterVisible(this.views[view.id] ?? []).length > 0
},
/**
diff --git a/apps/files/src/components/FilesNavigationSearch.vue b/apps/files/src/components/FilesNavigationSearch.vue
new file mode 100644
index 00000000000..85dc5534e5e
--- /dev/null
+++ b/apps/files/src/components/FilesNavigationSearch.vue
@@ -0,0 +1,122 @@
+<!--
+ - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
+
+<script setup lang="ts">
+import { mdiMagnify, mdiSearchWeb } from '@mdi/js'
+import { t } from '@nextcloud/l10n'
+import { computed } from 'vue'
+import NcActions from '@nextcloud/vue/components/NcActions'
+import NcActionButton from '@nextcloud/vue/components/NcActionButton'
+import NcAppNavigationSearch from '@nextcloud/vue/components/NcAppNavigationSearch'
+import NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'
+import { onBeforeNavigation } from '../composables/useBeforeNavigation.ts'
+import { useNavigation } from '../composables/useNavigation.ts'
+import { useRouteParameters } from '../composables/useRouteParameters.ts'
+import { useFilesStore } from '../store/files.ts'
+import { useSearchStore } from '../store/search.ts'
+import { VIEW_ID } from '../views/search.ts'
+
+const { currentView } = useNavigation(true)
+const { directory } = useRouteParameters()
+
+const filesStore = useFilesStore()
+const searchStore = useSearchStore()
+
+/**
+ * When the route is changed from search view to something different
+ * we need to clear the search box.
+ */
+onBeforeNavigation((to, from, next) => {
+ if (to.params.view !== VIEW_ID && from.params.view === VIEW_ID) {
+ // we are leaving the search view so unset the query
+ searchStore.query = ''
+ searchStore.scope = 'filter'
+ } else if (to.params.view === VIEW_ID && from.params.view === VIEW_ID) {
+ // fix the query if the user refreshed the view
+ if (searchStore.query && !to.query.query) {
+ // @ts-expect-error This is a weird issue with vue-router v4 and will be fixed in v5 (vue 3)
+ return next({
+ ...to,
+ query: {
+ ...to.query,
+ query: searchStore.query,
+ },
+ })
+ }
+ }
+ next()
+})
+
+/**
+ * Are we currently on the search view.
+ * Needed to disable the action menu (we cannot change the search mode there)
+ */
+const isSearchView = computed(() => currentView.value.id === VIEW_ID)
+
+/**
+ * Local search is only possible on real DAV resources within the files root
+ */
+const canSearchLocally = computed(() => {
+ if (searchStore.base) {
+ return true
+ }
+
+ const folder = filesStore.getDirectoryByPath(currentView.value.id, directory.value)
+ return folder?.isDavResource && folder?.root?.startsWith('/files/')
+})
+
+/**
+ * Different searchbox label depending if filtering or searching
+ */
+const searchLabel = computed(() => {
+ if (searchStore.scope === 'globally') {
+ return t('files', 'Search globally by filename …')
+ } else if (searchStore.scope === 'locally') {
+ return t('files', 'Search here by filename …')
+ }
+ return t('files', 'Filter file names …')
+})
+
+/**
+ * Update the search value and set the base if needed
+ * @param value - The new value
+ */
+function onUpdateSearch(value: string) {
+ if (searchStore.scope === 'locally' && currentView.value.id !== VIEW_ID) {
+ searchStore.base = filesStore.getDirectoryByPath(currentView.value.id, directory.value)
+ }
+ searchStore.query = value
+}
+</script>
+
+<template>
+ <NcAppNavigationSearch :label="searchLabel" :model-value="searchStore.query" @update:modelValue="onUpdateSearch">
+ <template #actions>
+ <NcActions :aria-label="t('files', 'Search scope options')" :disabled="isSearchView">
+ <template #icon>
+ <NcIconSvgWrapper :path="searchStore.scope === 'globally' ? mdiSearchWeb : mdiMagnify" />
+ </template>
+ <NcActionButton close-after-click @click="searchStore.scope = 'filter'">
+ <template #icon>
+ <NcIconSvgWrapper :path="mdiMagnify" />
+ </template>
+ {{ t('files', 'Filter in current view') }}
+ </NcActionButton>
+ <NcActionButton v-if="canSearchLocally" close-after-click @click="searchStore.scope = 'locally'">
+ <template #icon>
+ <NcIconSvgWrapper :path="mdiMagnify" />
+ </template>
+ {{ t('files', 'Search from this location') }}
+ </NcActionButton>
+ <NcActionButton close-after-click @click="searchStore.scope = 'globally'">
+ <template #icon>
+ <NcIconSvgWrapper :path="mdiSearchWeb" />
+ </template>
+ {{ t('files', 'Search globally') }}
+ </NcActionButton>
+ </NcActions>
+ </template>
+ </NcAppNavigationSearch>
+</template>
diff --git a/apps/files/src/composables/useBeforeNavigation.ts b/apps/files/src/composables/useBeforeNavigation.ts
new file mode 100644
index 00000000000..38b72e40fb3
--- /dev/null
+++ b/apps/files/src/composables/useBeforeNavigation.ts
@@ -0,0 +1,20 @@
+/**
+ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import type { NavigationGuard } from 'vue-router'
+
+import { onUnmounted } from 'vue'
+import { useRouter } from 'vue-router/composables'
+
+/**
+ * Helper until we use Vue-Router v4 (Vue3).
+ *
+ * @param fn - The navigation guard
+ */
+export function onBeforeNavigation(fn: NavigationGuard) {
+ const router = useRouter()
+ const remove = router.beforeResolve(fn)
+ onUnmounted(remove)
+}
diff --git a/apps/files/src/composables/useFilenameFilter.ts b/apps/files/src/composables/useFilenameFilter.ts
deleted file mode 100644
index 54c16f35384..00000000000
--- a/apps/files/src/composables/useFilenameFilter.ts
+++ /dev/null
@@ -1,47 +0,0 @@
-/*!
- * SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-import { registerFileListFilter, unregisterFileListFilter } from '@nextcloud/files'
-import { watchThrottled } from '@vueuse/core'
-import { onMounted, onUnmounted, ref } from 'vue'
-import { FilenameFilter } from '../filters/FilenameFilter'
-
-/**
- * This is for the `Navigation` component to provide a filename filter
- */
-export function useFilenameFilter() {
- const searchQuery = ref('')
- const filenameFilter = new FilenameFilter()
-
- /**
- * Updating the search query ref from the filter
- * @param event The update:query event
- */
- function updateQuery(event: CustomEvent) {
- if (event.type === 'update:query') {
- searchQuery.value = event.detail
- event.stopPropagation()
- }
- }
-
- onMounted(() => {
- filenameFilter.addEventListener('update:query', updateQuery)
- registerFileListFilter(filenameFilter)
- })
- onUnmounted(() => {
- filenameFilter.removeEventListener('update:query', updateQuery)
- unregisterFileListFilter(filenameFilter.id)
- })
-
- // Update the query on the filter, but throttle to max. every 800ms
- // This will debounce the filter refresh
- watchThrottled(searchQuery, () => {
- filenameFilter.updateQuery(searchQuery.value)
- }, { throttle: 800 })
-
- return {
- searchQuery,
- }
-}
diff --git a/apps/files/src/eventbus.d.ts b/apps/files/src/eventbus.d.ts
index fb61b4a6d03..ab8dbb63dfc 100644
--- a/apps/files/src/eventbus.d.ts
+++ b/apps/files/src/eventbus.d.ts
@@ -2,7 +2,9 @@
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
-import type { IFileListFilter, Node } from '@nextcloud/files'
+
+import type { IFileListFilter, Node, View } from '@nextcloud/files'
+import type { SearchScope } from './types'
declare module '@nextcloud/event-bus' {
export interface NextcloudEvents {
@@ -13,8 +15,13 @@ declare module '@nextcloud/event-bus' {
'files:favorites:removed': Node
'files:favorites:added': Node
+ 'files:filter:added': IFileListFilter
+ 'files:filter:removed': string
+ // the state of some filters has changed
'files:filters:changed': undefined
+ 'files:navigation:changed': View
+
'files:node:created': Node
'files:node:deleted': Node
'files:node:updated': Node
@@ -22,8 +29,7 @@ declare module '@nextcloud/event-bus' {
'files:node:renamed': Node
'files:node:moved': { node: Node, oldSource: string }
- 'files:filter:added': IFileListFilter
- 'files:filter:removed': string
+ 'files:search:updated': { query: string, scope: SearchScope }
}
}
diff --git a/apps/files/src/filters/FilenameFilter.ts b/apps/files/src/filters/FilenameFilter.ts
index 5019ca42d83..7914142f6ca 100644
--- a/apps/files/src/filters/FilenameFilter.ts
+++ b/apps/files/src/filters/FilenameFilter.ts
@@ -4,17 +4,31 @@
*/
import type { IFileListFilterChip, INode } from '@nextcloud/files'
-import { FileListFilter } from '@nextcloud/files'
+
+import { subscribe } from '@nextcloud/event-bus'
+import { FileListFilter, registerFileListFilter } from '@nextcloud/files'
+
+/**
+ * Register the filename filter
+ */
+export function registerFilenameFilter() {
+ registerFileListFilter(new FilenameFilter())
+}
/**
* Simple file list filter controlled by the Navigation search box
*/
-export class FilenameFilter extends FileListFilter {
+class FilenameFilter extends FileListFilter {
private searchQuery = ''
constructor() {
super('files:filename', 5)
+ subscribe('files:search:updated', ({ query, scope }) => {
+ if (scope === 'filter') {
+ this.updateQuery(query)
+ }
+ })
}
public filter(nodes: INode[]): INode[] {
diff --git a/apps/files/src/init.ts b/apps/files/src/init.ts
index 492ffbb1915..a9aedb5fb63 100644
--- a/apps/files/src/init.ts
+++ b/apps/files/src/init.ts
@@ -26,13 +26,16 @@ import { registerTemplateEntries } from './newMenu/newFromTemplate.ts'
import { registerFavoritesView } from './views/favorites.ts'
import registerRecentView from './views/recent'
import registerPersonalFilesView from './views/personal-files'
-import registerFilesView from './views/files'
+import { registerFilesView } from './views/files'
import { registerFolderTreeView } from './views/folderTree.ts'
+import { registerSearchView } from './views/search.ts'
+
import registerPreviewServiceWorker from './services/ServiceWorker.js'
import { initLivePhotos } from './services/LivePhotos'
import { isPublicShare } from '@nextcloud/sharing/public'
import { registerConvertActions } from './actions/convertAction.ts'
+import { registerFilenameFilter } from './filters/FilenameFilter.ts'
// Register file actions
registerConvertActions()
@@ -56,8 +59,9 @@ registerTemplateEntries()
if (isPublicShare() === false) {
registerFavoritesView()
registerFilesView()
- registerRecentView()
registerPersonalFilesView()
+ registerRecentView()
+ registerSearchView()
registerFolderTreeView()
}
@@ -65,6 +69,7 @@ if (isPublicShare() === false) {
registerHiddenFilesFilter()
registerTypeFilter()
registerModifiedFilter()
+registerFilenameFilter()
// Register preview service worker
registerPreviewServiceWorker()
diff --git a/apps/files/src/router/router.ts b/apps/files/src/router/router.ts
index 00f08c38d31..20c252d6954 100644
--- a/apps/files/src/router/router.ts
+++ b/apps/files/src/router/router.ts
@@ -11,7 +11,6 @@ import Router, { isNavigationFailure, NavigationFailureType } from 'vue-router'
import Vue from 'vue'
import { useFilesStore } from '../store/files'
-import { useNavigation } from '../composables/useNavigation'
import { usePathsStore } from '../store/paths'
import logger from '../logger'
@@ -74,14 +73,27 @@ const router = new Router({
},
})
+// Handle aborted navigation (NavigationGuards) gracefully
+router.onError((error) => {
+ if (isNavigationFailure(error, NavigationFailureType.aborted)) {
+ logger.debug('Navigation was aboorted', { error })
+ } else {
+ throw error
+ }
+})
+
// If navigating back from a folder to a parent folder,
// we need to keep the current dir fileid so it's highlighted
// and scrolled into view.
-router.beforeEach((to, from, next) => {
+router.beforeResolve((to, from, next) => {
if (to.params?.parentIntercept) {
delete to.params.parentIntercept
- next()
- return
+ return next()
+ }
+
+ if (to.params.view !== from.params.view) {
+ // skip if different views
+ return next()
}
const fromDir = (from.query?.dir || '/') as string
@@ -89,17 +101,16 @@ router.beforeEach((to, from, next) => {
// We are going back to a parent directory
if (relative(fromDir, toDir) === '..') {
- const { currentView } = useNavigation()
const { getNode } = useFilesStore()
const { getPath } = usePathsStore()
- if (!currentView.value?.id) {
+ if (!from.params.view) {
logger.error('No current view id found, cannot navigate to parent directory', { fromDir, toDir })
return next()
}
// Get the previous parent's file id
- const fromSource = getPath(currentView.value?.id, fromDir)
+ const fromSource = getPath(from.params.view, fromDir)
if (!fromSource) {
logger.error('No source found for the parent directory', { fromDir, toDir })
return next()
@@ -112,7 +123,7 @@ router.beforeEach((to, from, next) => {
}
logger.debug('Navigating back to parent directory', { fromDir, toDir, fileId })
- next({
+ return next({
name: 'filelist',
query: to.query,
params: {
diff --git a/apps/files/src/services/Search.spec.ts b/apps/files/src/services/Search.spec.ts
new file mode 100644
index 00000000000..c2840521a15
--- /dev/null
+++ b/apps/files/src/services/Search.spec.ts
@@ -0,0 +1,61 @@
+/*!
+ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import { createPinia, setActivePinia } from 'pinia'
+import { beforeAll, beforeEach, describe, expect, it, vi } from 'vitest'
+import { getContents } from './Search.ts'
+import { Folder, Permission } from '@nextcloud/files'
+
+const searchNodes = vi.hoisted(() => vi.fn())
+vi.mock('./WebDavSearch.ts', () => ({ searchNodes }))
+vi.mock('@nextcloud/auth')
+
+describe('Search service', () => {
+ const fakeFolder = new Folder({ owner: 'owner', source: 'https://cloud.example.com/remote.php/dav/files/owner/folder', root: '/files/owner' })
+
+ beforeAll(() => {
+ window.OCP ??= {}
+ window.OCP.Files ??= {}
+ window.OCP.Files.Router ??= { params: {}, query: {} }
+ vi.spyOn(window.OCP.Files.Router, 'params', 'get').mockReturnValue({ view: 'files' })
+ })
+
+ beforeEach(() => {
+ vi.restoreAllMocks()
+ setActivePinia(createPinia())
+ })
+
+ it('rejects on error', async () => {
+ searchNodes.mockImplementationOnce(() => { throw new Error('expected error') })
+ expect(getContents).rejects.toThrow('expected error')
+ })
+
+ it('returns the search results and a fake root', async () => {
+ searchNodes.mockImplementationOnce(() => [fakeFolder])
+ const { contents, folder } = await getContents()
+
+ expect(searchNodes).toHaveBeenCalledOnce()
+ expect(contents).toHaveLength(1)
+ expect(contents).toEqual([fakeFolder])
+ // read only root
+ expect(folder.permissions).toBe(Permission.READ)
+ })
+
+ it('can be cancelled', async () => {
+ const { promise, resolve } = Promise.withResolvers<Event>()
+ searchNodes.mockImplementationOnce(async (_, { signal }: { signal: AbortSignal}) => {
+ signal.addEventListener('abort', resolve)
+ await promise
+ return []
+ })
+
+ const content = getContents()
+ content.cancel()
+
+ // its cancelled thus the promise returns the event
+ const event = await promise
+ expect(event.type).toBe('abort')
+ })
+})
diff --git a/apps/files/src/services/Search.ts b/apps/files/src/services/Search.ts
new file mode 100644
index 00000000000..ae6f1ee50e0
--- /dev/null
+++ b/apps/files/src/services/Search.ts
@@ -0,0 +1,44 @@
+/*!
+ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import type { ContentsWithRoot } from '@nextcloud/files'
+
+import { getCurrentUser } from '@nextcloud/auth'
+import { Folder, Permission } from '@nextcloud/files'
+import { defaultRemoteURL } from '@nextcloud/files/dav'
+import { CancelablePromise } from 'cancelable-promise'
+import { searchNodes } from './WebDavSearch.ts'
+import logger from '../logger.ts'
+import { useSearchStore } from '../store/search.ts'
+import { getPinia } from '../store/index.ts'
+
+/**
+ * Get the contents for a search view
+ */
+export function getContents(): CancelablePromise<ContentsWithRoot> {
+ const controller = new AbortController()
+
+ const searchStore = useSearchStore(getPinia())
+ const dir = searchStore.base?.path
+
+ return new CancelablePromise<ContentsWithRoot>(async (resolve, reject, cancel) => {
+ cancel(() => controller.abort())
+ try {
+ const contents = await searchNodes(searchStore.query, { dir, signal: controller.signal })
+ resolve({
+ contents,
+ folder: new Folder({
+ id: 0,
+ source: `${defaultRemoteURL}#search`,
+ owner: getCurrentUser()!.uid,
+ permissions: Permission.READ,
+ }),
+ })
+ } catch (error) {
+ logger.error('Failed to fetch search results', { error })
+ reject(error)
+ }
+ })
+}
diff --git a/apps/files/src/services/WebDavSearch.ts b/apps/files/src/services/WebDavSearch.ts
new file mode 100644
index 00000000000..feb7f30b357
--- /dev/null
+++ b/apps/files/src/services/WebDavSearch.ts
@@ -0,0 +1,83 @@
+/*!
+ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import type { INode } from '@nextcloud/files'
+import type { ResponseDataDetailed, SearchResult } from 'webdav'
+
+import { getCurrentUser } from '@nextcloud/auth'
+import { defaultRootPath, getDavNameSpaces, getDavProperties, resultToNode } from '@nextcloud/files/dav'
+import { getBaseUrl } from '@nextcloud/router'
+import { client } from './WebdavClient.ts'
+import logger from '../logger.ts'
+
+export interface SearchNodesOptions {
+ dir?: string,
+ signal?: AbortSignal
+}
+
+/**
+ * Search for nodes matching the given query.
+ *
+ * @param query - Search query
+ * @param options - Options
+ * @param options.dir - The base directory to scope the search to
+ * @param options.signal - Abort signal for the request
+ */
+export async function searchNodes(query: string, { dir, signal }: SearchNodesOptions): Promise<INode[]> {
+ const user = getCurrentUser()
+ if (!user) {
+ // the search plugin only works for user roots
+ return []
+ }
+
+ query = query.trim()
+ if (query.length < 3) {
+ // the search plugin only works with queries of at least 3 characters
+ return []
+ }
+
+ if (dir && !dir.startsWith('/')) {
+ dir = `/${dir}`
+ }
+
+ logger.debug('Searching for nodes', { query, dir })
+ const { data } = await client.search('/', {
+ details: true,
+ signal,
+ data: `
+<d:searchrequest ${getDavNameSpaces()}>
+ <d:basicsearch>
+ <d:select>
+ <d:prop>
+ ${getDavProperties()}
+ </d:prop>
+ </d:select>
+ <d:from>
+ <d:scope>
+ <d:href>/files/${user.uid}${dir || ''}</d:href>
+ <d:depth>infinity</d:depth>
+ </d:scope>
+ </d:from>
+ <d:where>
+ <d:like>
+ <d:prop>
+ <d:displayname/>
+ </d:prop>
+ <d:literal>%${query.replace('%', '')}%</d:literal>
+ </d:like>
+ </d:where>
+ <d:orderby/>
+ </d:basicsearch>
+</d:searchrequest>`,
+ }) as ResponseDataDetailed<SearchResult>
+
+ // check if the request was aborted
+ if (signal?.aborted) {
+ return []
+ }
+
+ // otherwise return the result mapped to Nextcloud nodes
+ return data.results.map((result) => resultToNode(result, defaultRootPath, getBaseUrl()))
+}
diff --git a/apps/files/src/store/files.ts b/apps/files/src/store/files.ts
index 295704c880b..3591832d0c4 100644
--- a/apps/files/src/store/files.ts
+++ b/apps/files/src/store/files.ts
@@ -54,13 +54,13 @@ export const useFilesStore = function(...args) {
actions: {
/**
- * Get cached child nodes within a given path
+ * Get cached directory matching a given path
*
- * @param service The service (files view)
- * @param path The path relative within the service
- * @return Array of cached nodes within the path
+ * @param service - The service (files view)
+ * @param path - The path relative within the service
+ * @return The folder if found
*/
- getNodesByPath(service: string, path?: string): Node[] {
+ getDirectoryByPath(service: string, path?: string): Folder | undefined {
const pathsStore = usePathsStore()
let folder: Folder | undefined
@@ -74,6 +74,19 @@ export const useFilesStore = function(...args) {
}
}
+ return folder
+ },
+
+ /**
+ * Get cached child nodes within a given path
+ *
+ * @param service - The service (files view)
+ * @param path - The path relative within the service
+ * @return Array of cached nodes within the path
+ */
+ getNodesByPath(service: string, path?: string): Node[] {
+ const folder = this.getDirectoryByPath(service, path)
+
// If we found a cache entry and the cache entry was already loaded (has children) then use it
return (folder?._children ?? [])
.map((source: string) => this.getNode(source))
diff --git a/apps/files/src/store/search.ts b/apps/files/src/store/search.ts
new file mode 100644
index 00000000000..286cad253fc
--- /dev/null
+++ b/apps/files/src/store/search.ts
@@ -0,0 +1,170 @@
+/*!
+ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import type { INode, View } from '@nextcloud/files'
+import type RouterService from '../services/RouterService'
+import type { SearchScope } from '../types'
+
+import { emit, subscribe } from '@nextcloud/event-bus'
+import { defineStore } from 'pinia'
+import { ref, watch } from 'vue'
+import { VIEW_ID } from '../views/search'
+import logger from '../logger'
+import debounce from 'debounce'
+
+export const useSearchStore = defineStore('search', () => {
+ /**
+ * The current search query
+ */
+ const query = ref('')
+
+ /**
+ * Where to start the search
+ */
+ const base = ref<INode>()
+
+ /**
+ * Scope of the search.
+ * Scopes:
+ * - filter: only filter current file list
+ * - locally: search from current location recursivly
+ * - globally: search everywhere
+ */
+ const scope = ref<SearchScope>('filter')
+
+ // reset the base if query is cleared
+ watch(scope, () => {
+ if (scope.value !== 'locally') {
+ base.value = undefined
+ }
+
+ updateSearch()
+ })
+
+ watch(query, (old, current) => {
+ // skip if only whitespaces changed
+ if (old.trim() === current.trim()) {
+ return
+ }
+
+ updateSearch()
+ })
+
+ // initialize the search store
+ initialize()
+
+ /**
+ * Debounced update of the current route
+ * @private
+ */
+ const updateRouter = debounce((isSearch: boolean, fileid?: number) => {
+ const router = window.OCP.Files.Router as RouterService
+ router.goToRoute(
+ undefined,
+ {
+ view: VIEW_ID,
+ ...(fileid === undefined ? {} : { fileid: String(fileid) }),
+ },
+ {
+ query: query.value,
+ },
+ isSearch,
+ )
+ })
+
+ /**
+ * Handle updating the filter if needed.
+ * Also update the search view by updating the current route if needed.
+ *
+ * @private
+ */
+ function updateSearch() {
+ // emit the search event to update the filter
+ emit('files:search:updated', { query: query.value, scope: scope.value })
+
+ const router = window.OCP.Files.Router as RouterService
+
+ // if we are on the search view and the query was unset or scope was set to 'filter' we need to move back to the files view
+ if (router.params.view === VIEW_ID && (query.value === '' || scope.value === 'filter')) {
+ scope.value = 'filter'
+ return router.goToRoute(
+ undefined,
+ {
+ view: 'files',
+ },
+ {
+ ...router.query,
+ query: undefined,
+ },
+ )
+ }
+
+ // for the filter scope we do not need to adjust the current route anymore
+ // also if the query is empty we do not need to do anything
+ if (scope.value === 'filter' || !query.value) {
+ return
+ }
+
+ // we only use the directory if we search locally
+ const fileid = scope.value === 'locally' ? base.value?.fileid : undefined
+ const isSearch = router.params.view === VIEW_ID
+
+ logger.debug('Update route for updated search query', { query: query.value, fileid, isSearch })
+ updateRouter(isSearch, fileid)
+ }
+
+ /**
+ * Event handler that resets the store if the file list view was changed.
+ *
+ * @param view - The new view that is active
+ * @private
+ */
+ function onViewChanged(view: View) {
+ if (view.id !== VIEW_ID) {
+ query.value = ''
+ scope.value = 'filter'
+ }
+ }
+
+ /**
+ * Initialize the store from the router if needed
+ */
+ function initialize() {
+ subscribe('files:navigation:changed', onViewChanged)
+
+ const router = window.OCP.Files.Router as RouterService
+ // if we initially load the search view (e.g. hard page refresh)
+ // then we need to initialize the store from the router
+ if (router.params.view === VIEW_ID) {
+ query.value = [router.query.query].flat()[0] ?? ''
+
+ if (query.value) {
+ scope.value = 'globally'
+ logger.debug('Directly navigated to search view', { query: query.value })
+ } else {
+ // we do not have any query so we need to move to the files list
+ logger.info('Directly navigated to search view without any query, redirect to files view.')
+ router.goToRoute(
+ undefined,
+ {
+ ...router.params,
+ view: 'files',
+ },
+ {
+ ...router.query,
+ query: undefined,
+ },
+ true,
+ )
+ }
+ }
+ }
+
+ return {
+ base,
+ query,
+ scope,
+ }
+})
diff --git a/apps/files/src/types.ts b/apps/files/src/types.ts
index db3de13d4eb..7e9696d31d6 100644
--- a/apps/files/src/types.ts
+++ b/apps/files/src/types.ts
@@ -111,6 +111,11 @@ export interface ActiveStore {
activeAction: FileAction|null
}
+/**
+ * Search scope for the in-files-search
+ */
+export type SearchScope = 'filter'|'locally'|'globally'
+
export interface TemplateFile {
app: string
label: string
diff --git a/apps/files/src/views/FilesList.vue b/apps/files/src/views/FilesList.vue
index 60791a2b527..89d9fed6ce5 100644
--- a/apps/files/src/views/FilesList.vue
+++ b/apps/files/src/views/FilesList.vue
@@ -160,6 +160,7 @@ import { showError, showSuccess, showWarning } from '@nextcloud/dialogs'
import { ShareType } from '@nextcloud/sharing'
import { UploadPicker, UploadStatus } from '@nextcloud/upload'
import { loadState } from '@nextcloud/initial-state'
+import { useThrottleFn } from '@vueuse/core'
import { defineComponent } from 'vue'
import NcAppContent from '@nextcloud/vue/components/NcAppContent'
@@ -325,16 +326,7 @@ export default defineComponent({
return
}
- if (this.directory === '/') {
- return this.filesStore.getRoot(this.currentView.id)
- }
-
- const source = this.pathsStore.getPath(this.currentView.id, this.directory)
- if (source === undefined) {
- return
- }
-
- return this.filesStore.getNode(source) as Folder
+ return this.filesStore.getDirectoryByPath(this.currentView.id, this.directory)
},
dirContents(): Node[] {
@@ -479,6 +471,10 @@ export default defineComponent({
const hidden = this.dirContents.length - this.dirContentsFiltered.length
return getSummaryFor(this.dirContentsFiltered, hidden)
},
+
+ debouncedFetchContent() {
+ return useThrottleFn(this.fetchContent, 800, true)
+ },
},
watch: {
@@ -540,14 +536,16 @@ export default defineComponent({
// filter content if filter were changed
subscribe('files:filters:changed', this.filterDirContent)
+ subscribe('files:search:updated', this.onUpdateSearch)
+
// Finally, fetch the current directory contents
await this.fetchContent()
if (this.fileId) {
// If we have a fileId, let's check if the file exists
- const node = this.dirContents.find(node => node.fileid.toString() === this.fileId.toString())
+ const node = this.dirContents.find(node => node.fileid?.toString() === this.fileId?.toString())
// If the file isn't in the current directory nor if
// the current directory is the file, we show an error
- if (!node && this.currentFolder.fileid.toString() !== this.fileId.toString()) {
+ if (!node && this.currentFolder?.fileid?.toString() !== this.fileId.toString()) {
showError(t('files', 'The file could not be found'))
}
}
@@ -557,9 +555,17 @@ export default defineComponent({
unsubscribe('files:node:deleted', this.onNodeDeleted)
unsubscribe('files:node:updated', this.onUpdatedNode)
unsubscribe('files:config:updated', this.fetchContent)
+ unsubscribe('files:filters:changed', this.filterDirContent)
+ unsubscribe('files:search:updated', this.onUpdateSearch)
},
methods: {
+ onUpdateSearch({ query, scope }) {
+ if (query && scope !== 'filter') {
+ this.debouncedFetchContent()
+ }
+ },
+
async fetchContent() {
this.loading = true
this.error = null
diff --git a/apps/files/src/views/Navigation.cy.ts b/apps/files/src/views/Navigation.cy.ts
index a88878e2d3a..6b03efa4f5f 100644
--- a/apps/files/src/views/Navigation.cy.ts
+++ b/apps/files/src/views/Navigation.cy.ts
@@ -10,7 +10,8 @@ import NavigationView from './Navigation.vue'
import { useViewConfigStore } from '../store/viewConfig'
import { Folder, View, getNavigation } from '@nextcloud/files'
-import router from '../router/router'
+import router from '../router/router.ts'
+import RouterService from '../services/RouterService'
const resetNavigation = () => {
const nav = getNavigation()
@@ -27,9 +28,18 @@ const createView = (id: string, name: string, parent?: string) => new View({
parent,
})
+function mockWindow() {
+ window.OCP ??= {}
+ window.OCP.Files ??= {}
+ window.OCP.Files.Router = new RouterService(router)
+}
+
describe('Navigation renders', () => {
- before(() => {
+ before(async () => {
delete window._nc_navigation
+ mockWindow()
+ getNavigation().register(createView('files', 'Files'))
+ await router.replace({ name: 'filelist', params: { view: 'files' } })
cy.mockInitialState('files', 'storageStats', {
used: 1000 * 1000 * 1000,
@@ -41,6 +51,7 @@ describe('Navigation renders', () => {
it('renders', () => {
cy.mount(NavigationView, {
+ router,
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
@@ -60,6 +71,7 @@ describe('Navigation API', () => {
before(async () => {
delete window._nc_navigation
Navigation = getNavigation()
+ mockWindow()
await router.replace({ name: 'filelist', params: { view: 'files' } })
})
@@ -152,14 +164,18 @@ describe('Navigation API', () => {
})
describe('Quota rendering', () => {
- before(() => {
+ before(async () => {
delete window._nc_navigation
+ mockWindow()
+ getNavigation().register(createView('files', 'Files'))
+ await router.replace({ name: 'filelist', params: { view: 'files' } })
})
afterEach(() => cy.unmockInitialState())
it('Unknown quota', () => {
cy.mount(NavigationView, {
+ router,
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
@@ -177,6 +193,7 @@ describe('Quota rendering', () => {
})
cy.mount(NavigationView, {
+ router,
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
@@ -197,6 +214,7 @@ describe('Quota rendering', () => {
})
cy.mount(NavigationView, {
+ router,
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
@@ -219,6 +237,7 @@ describe('Quota rendering', () => {
})
cy.mount(NavigationView, {
+ router,
global: {
plugins: [createTestingPinia({
createSpy: cy.spy,
diff --git a/apps/files/src/views/Navigation.vue b/apps/files/src/views/Navigation.vue
index 3147268f34d..c424a0d74b8 100644
--- a/apps/files/src/views/Navigation.vue
+++ b/apps/files/src/views/Navigation.vue
@@ -7,7 +7,7 @@
class="files-navigation"
:aria-label="t('files', 'Files')">
<template #search>
- <NcAppNavigationSearch v-model="searchQuery" :label="t('files', 'Filter file names …')" />
+ <FilesNavigationSearch />
</template>
<template #default>
<NcAppNavigationList class="files-navigation__list"
@@ -39,24 +39,24 @@
</template>
<script lang="ts">
-import { getNavigation, type View } from '@nextcloud/files'
+import type { View } from '@nextcloud/files'
import type { ViewConfig } from '../types.ts'
-import { defineComponent } from 'vue'
import { emit, subscribe } from '@nextcloud/event-bus'
-import { translate as t, getCanonicalLocale, getLanguage } from '@nextcloud/l10n'
+import { getNavigation } from '@nextcloud/files'
+import { t, getCanonicalLocale, getLanguage } from '@nextcloud/l10n'
+import { defineComponent } from 'vue'
import IconCog from 'vue-material-design-icons/Cog.vue'
import NcAppNavigation from '@nextcloud/vue/components/NcAppNavigation'
import NcAppNavigationItem from '@nextcloud/vue/components/NcAppNavigationItem'
import NcAppNavigationList from '@nextcloud/vue/components/NcAppNavigationList'
-import NcAppNavigationSearch from '@nextcloud/vue/components/NcAppNavigationSearch'
import NavigationQuota from '../components/NavigationQuota.vue'
import SettingsModal from './Settings.vue'
import FilesNavigationItem from '../components/FilesNavigationItem.vue'
+import FilesNavigationSearch from '../components/FilesNavigationSearch.vue'
import { useNavigation } from '../composables/useNavigation'
-import { useFilenameFilter } from '../composables/useFilenameFilter'
import { useFiltersStore } from '../store/filters.ts'
import { useViewConfigStore } from '../store/viewConfig.ts'
import logger from '../logger.ts'
@@ -75,12 +75,12 @@ export default defineComponent({
components: {
IconCog,
FilesNavigationItem,
+ FilesNavigationSearch,
NavigationQuota,
NcAppNavigation,
NcAppNavigationItem,
NcAppNavigationList,
- NcAppNavigationSearch,
SettingsModal,
},
@@ -88,11 +88,9 @@ export default defineComponent({
const filtersStore = useFiltersStore()
const viewConfigStore = useViewConfigStore()
const { currentView, views } = useNavigation()
- const { searchQuery } = useFilenameFilter()
return {
currentView,
- searchQuery,
t,
views,
diff --git a/apps/files/src/views/SearchEmptyView.vue b/apps/files/src/views/SearchEmptyView.vue
new file mode 100644
index 00000000000..0553e416caf
--- /dev/null
+++ b/apps/files/src/views/SearchEmptyView.vue
@@ -0,0 +1,57 @@
+<!--
+ - SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+ - SPDX-License-Identifier: AGPL-3.0-or-later
+-->
+
+<script setup lang="ts">
+import { mdiMagnifyClose } from '@mdi/js'
+import { t } from '@nextcloud/l10n'
+import debounce from 'debounce'
+import NcButton from '@nextcloud/vue/components/NcButton'
+import NcEmptyContent from '@nextcloud/vue/components/NcEmptyContent'
+import NcIconSvgWrapper from '@nextcloud/vue/components/NcIconSvgWrapper'
+import NcInputField from '@nextcloud/vue/components/NcInputField'
+import { getPinia } from '../store/index.ts'
+import { useSearchStore } from '../store/search.ts'
+
+const searchStore = useSearchStore(getPinia())
+const debouncedUpdate = debounce((value: string) => {
+ searchStore.query = value
+}, 500)
+</script>
+
+<template>
+ <NcEmptyContent :name="t('files', 'No search results for “{query}”', { query: searchStore.query })">
+ <template #icon>
+ <NcIconSvgWrapper :path="mdiMagnifyClose" />
+ </template>
+ <template #action>
+ <div class="search-empty-view__wrapper">
+ <NcInputField class="search-empty-view__input"
+ :label="t('files', 'Search for files')"
+ :model-value="searchStore.query"
+ type="search"
+ @update:model-value="debouncedUpdate" />
+ <NcButton v-if="searchStore.scope === 'locally'" @click="searchStore.scope = 'globally'">
+ {{ t('files', 'Search globally') }}
+ </NcButton>
+ </div>
+ </template>
+ </NcEmptyContent>
+</template>
+
+<style scoped lang="scss">
+.search-empty-view {
+ &__input {
+ flex: 0 1;
+ min-width: min(400px, 50vw);
+ }
+
+ &__wrapper {
+ display: flex;
+ flex-wrap: wrap;
+ gap: 10px;
+ align-items: baseline;
+ }
+}
+</style>
diff --git a/apps/files/src/views/files.ts b/apps/files/src/views/files.ts
index a49a13f91e1..699e173de63 100644
--- a/apps/files/src/views/files.ts
+++ b/apps/files/src/views/files.ts
@@ -8,10 +8,15 @@ import FolderSvg from '@mdi/svg/svg/folder.svg?raw'
import { getContents } from '../services/Files'
import { View, getNavigation } from '@nextcloud/files'
-export default () => {
+export const VIEW_ID = 'files'
+
+/**
+ * Register the files view to the navigation
+ */
+export function registerFilesView() {
const Navigation = getNavigation()
Navigation.register(new View({
- id: 'files',
+ id: VIEW_ID,
name: t('files', 'All files'),
caption: t('files', 'List of your files and folders.'),
diff --git a/apps/files/src/views/search.ts b/apps/files/src/views/search.ts
new file mode 100644
index 00000000000..a30f732163c
--- /dev/null
+++ b/apps/files/src/views/search.ts
@@ -0,0 +1,51 @@
+/**
+ * SPDX-FileCopyrightText: 2023 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+import type { ComponentPublicInstanceConstructor } from 'vue/types/v3-component-public-instance'
+
+import { View, getNavigation } from '@nextcloud/files'
+import { t } from '@nextcloud/l10n'
+import { getContents } from '../services/Search.ts'
+import { VIEW_ID as FILES_VIEW_ID } from './files.ts'
+import MagnifySvg from '@mdi/svg/svg/magnify.svg?raw'
+import Vue from 'vue'
+
+export const VIEW_ID = 'search'
+
+/**
+ * Register the search-in-files view
+ */
+export function registerSearchView() {
+ let instance: Vue
+ let view: ComponentPublicInstanceConstructor
+
+ const Navigation = getNavigation()
+ Navigation.register(new View({
+ id: VIEW_ID,
+ name: t('files', 'Search'),
+ caption: t('files', 'Search results within your files.'),
+
+ async emptyView(el) {
+ if (!view) {
+ view = (await import('./SearchEmptyView.vue')).default
+ } else {
+ instance.$destroy()
+ }
+ instance = new Vue(view)
+ instance.$mount(el)
+ },
+
+ icon: MagnifySvg,
+ order: 10,
+
+ parent: FILES_VIEW_ID,
+ // it should be shown expanded
+ expanded: true,
+ // this view is hidden by default and only shown when active
+ hidden: true,
+
+ getContents,
+ }))
+}
diff --git a/apps/files/tests/Activity/Filter/GenericTest.php b/apps/files/tests/Activity/Filter/GenericTest.php
index f37a1cb2c9e..40e2f9848b5 100644
--- a/apps/files/tests/Activity/Filter/GenericTest.php
+++ b/apps/files/tests/Activity/Filter/GenericTest.php
@@ -27,35 +27,27 @@ class GenericTest extends TestCase {
];
}
- /**
- * @dataProvider dataFilters
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')]
public function testImplementsInterface(string $filterClass): void {
$filter = Server::get($filterClass);
$this->assertInstanceOf(IFilter::class, $filter);
}
- /**
- * @dataProvider dataFilters
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')]
public function testGetIdentifier(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$this->assertIsString($filter->getIdentifier());
}
- /**
- * @dataProvider dataFilters
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')]
public function testGetName(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$this->assertIsString($filter->getName());
}
- /**
- * @dataProvider dataFilters
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')]
public function testGetPriority(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
@@ -65,9 +57,7 @@ class GenericTest extends TestCase {
$this->assertLessThanOrEqual(100, $priority);
}
- /**
- * @dataProvider dataFilters
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')]
public function testGetIcon(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
@@ -75,18 +65,14 @@ class GenericTest extends TestCase {
$this->assertStringStartsWith('http', $filter->getIcon());
}
- /**
- * @dataProvider dataFilters
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')]
public function testFilterTypes(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$this->assertIsArray($filter->filterTypes([]));
}
- /**
- * @dataProvider dataFilters
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataFilters')]
public function testAllowedApps(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
diff --git a/apps/files/tests/Activity/ProviderTest.php b/apps/files/tests/Activity/ProviderTest.php
index ed52c76ba28..b6ba095ecfe 100644
--- a/apps/files/tests/Activity/ProviderTest.php
+++ b/apps/files/tests/Activity/ProviderTest.php
@@ -90,9 +90,7 @@ class ProviderTest extends TestCase {
];
}
- /**
- * @dataProvider dataGetFile
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataGetFile')]
public function testGetFile(array|string $parameter, ?int $eventId, string $id, string $name, string $path): void {
$provider = $this->getProvider();
@@ -136,9 +134,7 @@ class ProviderTest extends TestCase {
];
}
- /**
- * @dataProvider dataGetUser
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataGetUser')]
public function testGetUser(string $uid, ?string $userDisplayName, ?array $cloudIdData, array $expected): void {
$provider = $this->getProvider();
diff --git a/apps/files/tests/Activity/Setting/GenericTest.php b/apps/files/tests/Activity/Setting/GenericTest.php
index 7e549ce9dc0..df6b1e0f6d4 100644
--- a/apps/files/tests/Activity/Setting/GenericTest.php
+++ b/apps/files/tests/Activity/Setting/GenericTest.php
@@ -22,35 +22,27 @@ class GenericTest extends TestCase {
];
}
- /**
- * @dataProvider dataSettings
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')]
public function testImplementsInterface(string $settingClass): void {
$setting = Server::get($settingClass);
$this->assertInstanceOf(ISetting::class, $setting);
}
- /**
- * @dataProvider dataSettings
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')]
public function testGetIdentifier(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsString($setting->getIdentifier());
}
- /**
- * @dataProvider dataSettings
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')]
public function testGetName(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsString($setting->getName());
}
- /**
- * @dataProvider dataSettings
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')]
public function testGetPriority(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
@@ -60,36 +52,28 @@ class GenericTest extends TestCase {
$this->assertLessThanOrEqual(100, $priority);
}
- /**
- * @dataProvider dataSettings
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')]
public function testCanChangeStream(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsBool($setting->canChangeStream());
}
- /**
- * @dataProvider dataSettings
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')]
public function testIsDefaultEnabledStream(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsBool($setting->isDefaultEnabledStream());
}
- /**
- * @dataProvider dataSettings
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')]
public function testCanChangeMail(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsBool($setting->canChangeMail());
}
- /**
- * @dataProvider dataSettings
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataSettings')]
public function testIsDefaultEnabledMail(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
diff --git a/apps/files/tests/AdvancedCapabilitiesTest.php b/apps/files/tests/AdvancedCapabilitiesTest.php
index 8f4a845b708..f39ac1c873f 100644
--- a/apps/files/tests/AdvancedCapabilitiesTest.php
+++ b/apps/files/tests/AdvancedCapabilitiesTest.php
@@ -23,9 +23,7 @@ class AdvancedCapabilitiesTest extends TestCase {
$this->capabilities = new AdvancedCapabilities($this->service);
}
- /**
- * @dataProvider dataGetCapabilities
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataGetCapabilities')]
public function testGetCapabilities(bool $wcf): void {
$this->service
->expects(self::once())
diff --git a/apps/files/tests/Command/DeleteOrphanedFilesTest.php b/apps/files/tests/Command/DeleteOrphanedFilesTest.php
index 54b5ac6c12f..a488915e0cb 100644
--- a/apps/files/tests/Command/DeleteOrphanedFilesTest.php
+++ b/apps/files/tests/Command/DeleteOrphanedFilesTest.php
@@ -117,7 +117,7 @@ class DeleteOrphanedFilesTest extends TestCase {
$output
->expects($this->exactly(3))
->method('writeln')
- ->willReturnCallback(function (string $message) use (&$calls) {
+ ->willReturnCallback(function (string $message) use (&$calls): void {
$expected = array_shift($calls);
$this->assertSame($expected, $message);
});
diff --git a/apps/files/tests/Controller/ApiControllerTest.php b/apps/files/tests/Controller/ApiControllerTest.php
index d6d86e293fd..e74989eb2f5 100644
--- a/apps/files/tests/Controller/ApiControllerTest.php
+++ b/apps/files/tests/Controller/ApiControllerTest.php
@@ -119,7 +119,7 @@ class ApiControllerTest extends TestCase {
$this->tagService->expects($this->once())
->method('updateFileTags')
->with('/path.txt', ['Tag1', 'Tag2'])
- ->will($this->throwException(new NotFoundException('My error message')));
+ ->willThrowException(new NotFoundException('My error message'));
$expected = new DataResponse(['message' => 'My error message'], Http::STATUS_NOT_FOUND);
$this->assertEquals($expected, $this->apiController->updateFileTags('/path.txt', ['Tag1', 'Tag2']));
@@ -129,7 +129,7 @@ class ApiControllerTest extends TestCase {
$this->tagService->expects($this->once())
->method('updateFileTags')
->with('/path.txt', ['Tag1', 'Tag2'])
- ->will($this->throwException(new StorageNotAvailableException('My error message')));
+ ->willThrowException(new StorageNotAvailableException('My error message'));
$expected = new DataResponse(['message' => 'My error message'], Http::STATUS_SERVICE_UNAVAILABLE);
$this->assertEquals($expected, $this->apiController->updateFileTags('/path.txt', ['Tag1', 'Tag2']));
@@ -139,7 +139,7 @@ class ApiControllerTest extends TestCase {
$this->tagService->expects($this->once())
->method('updateFileTags')
->with('/path.txt', ['Tag1', 'Tag2'])
- ->will($this->throwException(new \Exception('My error message')));
+ ->willThrowException(new \Exception('My error message'));
$expected = new DataResponse(['message' => 'My error message'], Http::STATUS_NOT_FOUND);
$this->assertEquals($expected, $this->apiController->updateFileTags('/path.txt', ['Tag1', 'Tag2']));
diff --git a/apps/files/tests/Controller/ViewControllerTest.php b/apps/files/tests/Controller/ViewControllerTest.php
index 93ef98bdec7..a9a80fc6f35 100644
--- a/apps/files/tests/Controller/ViewControllerTest.php
+++ b/apps/files/tests/Controller/ViewControllerTest.php
@@ -210,9 +210,7 @@ class ViewControllerTest extends TestCase {
];
}
- /**
- * @dataProvider dataTestShortRedirect
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('dataTestShortRedirect')]
public function testShortRedirect(?string $openfile, ?string $opendetails, string $result): void {
$this->appManager->expects($this->any())
->method('isEnabledForUser')
diff --git a/apps/files/tests/HelperTest.php b/apps/files/tests/HelperTest.php
index cb1fc5ed66d..ba93fa0efdf 100644
--- a/apps/files/tests/HelperTest.php
+++ b/apps/files/tests/HelperTest.php
@@ -76,9 +76,7 @@ class HelperTest extends \Test\TestCase {
];
}
- /**
- * @dataProvider sortDataProvider
- */
+ #[\PHPUnit\Framework\Attributes\DataProvider('sortDataProvider')]
public function testSortByName(string $sort, bool $sortDescending, array $expectedOrder): void {
if (($sort === 'mtime') && (PHP_INT_SIZE < 8)) {
$this->markTestSkipped('Skip mtime sorting on 32bit');
diff --git a/apps/files/tests/Service/TagServiceTest.php b/apps/files/tests/Service/TagServiceTest.php
index 74e58e674bb..424e483102c 100644
--- a/apps/files/tests/Service/TagServiceTest.php
+++ b/apps/files/tests/Service/TagServiceTest.php
@@ -53,7 +53,7 @@ class TagServiceTest extends \Test\TestCase {
->withAnyParameters()
->willReturn($user);
- $this->root = \OCP\Server::get(IRootFolder::class)->getUserFolder($this->user);
+ $this->root = Server::get(IRootFolder::class)->getUserFolder($this->user);
$this->tagger = Server::get(ITagManager::class)->load('files');
$this->tagService = $this->getTagService();