aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/l10n/ar.js6
-rw-r--r--apps/files/l10n/ar.json6
-rw-r--r--apps/files/l10n/ast.js2
-rw-r--r--apps/files/l10n/ast.json2
-rw-r--r--apps/files/l10n/bg.js4
-rw-r--r--apps/files/l10n/bg.json4
-rw-r--r--apps/files/l10n/ca.js6
-rw-r--r--apps/files/l10n/ca.json6
-rw-r--r--apps/files/l10n/cs.js9
-rw-r--r--apps/files/l10n/cs.json9
-rw-r--r--apps/files/l10n/da.js6
-rw-r--r--apps/files/l10n/da.json6
-rw-r--r--apps/files/l10n/de.js9
-rw-r--r--apps/files/l10n/de.json9
-rw-r--r--apps/files/l10n/de_DE.js9
-rw-r--r--apps/files/l10n/de_DE.json9
-rw-r--r--apps/files/l10n/el.js1
-rw-r--r--apps/files/l10n/el.json1
-rw-r--r--apps/files/l10n/en_GB.js9
-rw-r--r--apps/files/l10n/en_GB.json9
-rw-r--r--apps/files/l10n/es.js9
-rw-r--r--apps/files/l10n/es.json9
-rw-r--r--apps/files/l10n/es_EC.js4
-rw-r--r--apps/files/l10n/es_EC.json4
-rw-r--r--apps/files/l10n/es_MX.js4
-rw-r--r--apps/files/l10n/es_MX.json4
-rw-r--r--apps/files/l10n/et_EE.js9
-rw-r--r--apps/files/l10n/et_EE.json9
-rw-r--r--apps/files/l10n/eu.js6
-rw-r--r--apps/files/l10n/eu.json6
-rw-r--r--apps/files/l10n/fa.js212
-rw-r--r--apps/files/l10n/fa.json212
-rw-r--r--apps/files/l10n/fi.js14
-rw-r--r--apps/files/l10n/fi.json14
-rw-r--r--apps/files/l10n/fr.js9
-rw-r--r--apps/files/l10n/fr.json9
-rw-r--r--apps/files/l10n/ga.js9
-rw-r--r--apps/files/l10n/ga.json9
-rw-r--r--apps/files/l10n/gl.js6
-rw-r--r--apps/files/l10n/gl.json6
-rw-r--r--apps/files/l10n/hu.js6
-rw-r--r--apps/files/l10n/hu.json6
-rw-r--r--apps/files/l10n/is.js4
-rw-r--r--apps/files/l10n/is.json4
-rw-r--r--apps/files/l10n/it.js8
-rw-r--r--apps/files/l10n/it.json8
-rw-r--r--apps/files/l10n/ja.js9
-rw-r--r--apps/files/l10n/ja.json9
-rw-r--r--apps/files/l10n/ka.js4
-rw-r--r--apps/files/l10n/ka.json4
-rw-r--r--apps/files/l10n/ko.js6
-rw-r--r--apps/files/l10n/ko.json6
-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.js6
-rw-r--r--apps/files/l10n/mk.json6
-rw-r--r--apps/files/l10n/nb.js6
-rw-r--r--apps/files/l10n/nb.json6
-rw-r--r--apps/files/l10n/nl.js6
-rw-r--r--apps/files/l10n/nl.json6
-rw-r--r--apps/files/l10n/pl.js9
-rw-r--r--apps/files/l10n/pl.json9
-rw-r--r--apps/files/l10n/pt_BR.js39
-rw-r--r--apps/files/l10n/pt_BR.json39
-rw-r--r--apps/files/l10n/ru.js6
-rw-r--r--apps/files/l10n/ru.json6
-rw-r--r--apps/files/l10n/sc.js2
-rw-r--r--apps/files/l10n/sc.json2
-rw-r--r--apps/files/l10n/sk.js6
-rw-r--r--apps/files/l10n/sk.json6
-rw-r--r--apps/files/l10n/sl.js6
-rw-r--r--apps/files/l10n/sl.json6
-rw-r--r--apps/files/l10n/sr.js9
-rw-r--r--apps/files/l10n/sr.json9
-rw-r--r--apps/files/l10n/sv.js9
-rw-r--r--apps/files/l10n/sv.json9
-rw-r--r--apps/files/l10n/tr.js6
-rw-r--r--apps/files/l10n/tr.json6
-rw-r--r--apps/files/l10n/ug.js6
-rw-r--r--apps/files/l10n/ug.json6
-rw-r--r--apps/files/l10n/uk.js18
-rw-r--r--apps/files/l10n/uk.json18
-rw-r--r--apps/files/l10n/vi.js6
-rw-r--r--apps/files/l10n/vi.json6
-rw-r--r--apps/files/l10n/zh_CN.js9
-rw-r--r--apps/files/l10n/zh_CN.json9
-rw-r--r--apps/files/l10n/zh_HK.js9
-rw-r--r--apps/files/l10n/zh_HK.json9
-rw-r--r--apps/files/l10n/zh_TW.js9
-rw-r--r--apps/files/l10n/zh_TW.json9
-rw-r--r--apps/files/lib/BackgroundJob/ScanFiles.php6
-rw-r--r--apps/files/lib/Listener/SyncLivePhotosListener.php10
-rw-r--r--apps/files/openapi.json4
-rw-r--r--apps/files/src/actions/openLocallyAction.ts139
-rw-r--r--apps/files/src/router/router.ts62
-rw-r--r--apps/files/src/services/HotKeysService.spec.ts61
-rw-r--r--apps/files/tests/Activity/Filter/GenericTest.php25
-rw-r--r--apps/files/tests/Activity/ProviderTest.php44
-rw-r--r--apps/files/tests/Activity/Setting/GenericTest.php28
-rw-r--r--apps/files/tests/AdvancedCapabilitiesTest.php1
-rw-r--r--apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php49
-rw-r--r--apps/files/tests/BackgroundJob/ScanFilesTest.php15
-rw-r--r--apps/files/tests/Command/DeleteOrphanedFilesTest.php27
-rw-r--r--apps/files/tests/Controller/ApiControllerTest.php64
-rw-r--r--apps/files/tests/Controller/ConversionApiControllerTest.php7
-rw-r--r--apps/files/tests/Controller/ViewControllerTest.php15
-rw-r--r--apps/files/tests/HelperTest.php14
-rw-r--r--apps/files/tests/Service/TagServiceTest.php49
108 files changed, 1060 insertions, 658 deletions
diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js
index 4cffecf72eb..f1fbee6212f 100644
--- a/apps/files/l10n/ar.js
+++ b/apps/files/l10n/ar.js
@@ -279,12 +279,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : ".عملية النسخ أو النقل تمّ إلغاؤها",
"Open folder {displayName}" : "فتح المجلد {displayName}",
"Open in Files" : "فتح في \"الملفات\"",
+ "Open locally" : "الفتح محلّيّاً",
+ "Failed to redirect to client" : "فشل في التحويل الى العميل",
"Open file locally" : "فتح الملف محلّيّاً",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "يجب أن يفتح الملف الآن على جهازك. إذا لم يحدث ذلك، فيرجى التأكد من تثبيت تطبيق سطح المكتب.",
"Retry and close" : "أعِد المحاولة ثم أغلِق",
"Open online" : "إفتَح مُتَّصِلاً بالإنترنت",
- "Failed to redirect to client" : "فشل في التحويل الى العميل",
- "Open locally" : "الفتح محلّيّاً",
"Rename" : "إعادة التسمية",
"Open details" : "فتح التفاصيل",
"View in folder" : "عرض في المجلد",
@@ -435,8 +435,6 @@ OC.L10N.register(
"Upload (max. %s)" : "الرفع ( حد اقصى. %s ) ",
"Submitting fields…" : "إرسال الحقول...",
"Filter filenames…" : "تصفية باسم الملف...",
- "Edit file locally" : "تحرير الملف محلياً",
- "Edit online" : "التحرير عبر الإنترنت",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} مجلد","{folderCount} مجلد","{folderCount} مجلد","{folderCount} مجلدات","{folderCount} مجلد","{folderCount} مجلد"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} ملف","{fileCount} ملف","{fileCount} ملف","{fileCount} ملفات","{fileCount} ملف","{fileCount} ملف"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد","1 ملف و{folderCount} مجلدات","1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد"],
diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json
index 84c956af639..35d8957f85e 100644
--- a/apps/files/l10n/ar.json
+++ b/apps/files/l10n/ar.json
@@ -277,12 +277,12 @@
"Cancelled move or copy operation" : ".عملية النسخ أو النقل تمّ إلغاؤها",
"Open folder {displayName}" : "فتح المجلد {displayName}",
"Open in Files" : "فتح في \"الملفات\"",
+ "Open locally" : "الفتح محلّيّاً",
+ "Failed to redirect to client" : "فشل في التحويل الى العميل",
"Open file locally" : "فتح الملف محلّيّاً",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "يجب أن يفتح الملف الآن على جهازك. إذا لم يحدث ذلك، فيرجى التأكد من تثبيت تطبيق سطح المكتب.",
"Retry and close" : "أعِد المحاولة ثم أغلِق",
"Open online" : "إفتَح مُتَّصِلاً بالإنترنت",
- "Failed to redirect to client" : "فشل في التحويل الى العميل",
- "Open locally" : "الفتح محلّيّاً",
"Rename" : "إعادة التسمية",
"Open details" : "فتح التفاصيل",
"View in folder" : "عرض في المجلد",
@@ -433,8 +433,6 @@
"Upload (max. %s)" : "الرفع ( حد اقصى. %s ) ",
"Submitting fields…" : "إرسال الحقول...",
"Filter filenames…" : "تصفية باسم الملف...",
- "Edit file locally" : "تحرير الملف محلياً",
- "Edit online" : "التحرير عبر الإنترنت",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} مجلد","{folderCount} مجلد","{folderCount} مجلد","{folderCount} مجلدات","{folderCount} مجلد","{folderCount} مجلد"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} ملف","{fileCount} ملف","{fileCount} ملف","{fileCount} ملفات","{fileCount} ملف","{fileCount} ملف"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد","1 ملف و{folderCount} مجلدات","1 ملف و {folderCount} مجلد","1 ملف و {folderCount} مجلد"],
diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js
index 036797e4a76..d9bdbf9b621 100644
--- a/apps/files/l10n/ast.js
+++ b/apps/files/l10n/ast.js
@@ -196,8 +196,8 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Anulóse la operación de mover o copiar",
"Open folder {displayName}" : "Abrir la carpeta «{displayName}»",
"Open in Files" : "Abrir en Ficheros",
- "Failed to redirect to client" : "Nun se pue redirixir al veceru",
"Open locally" : "Abrir llocalmente",
+ "Failed to redirect to client" : "Nun se pue redirixir al veceru",
"Rename" : "Renomar",
"Open details" : "Abrir los detalles",
"View in folder" : "Ver na carpeta",
diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json
index c44539d7603..3ccfed40a0c 100644
--- a/apps/files/l10n/ast.json
+++ b/apps/files/l10n/ast.json
@@ -194,8 +194,8 @@
"Cancelled move or copy operation" : "Anulóse la operación de mover o copiar",
"Open folder {displayName}" : "Abrir la carpeta «{displayName}»",
"Open in Files" : "Abrir en Ficheros",
- "Failed to redirect to client" : "Nun se pue redirixir al veceru",
"Open locally" : "Abrir llocalmente",
+ "Failed to redirect to client" : "Nun se pue redirixir al veceru",
"Rename" : "Renomar",
"Open details" : "Abrir los detalles",
"View in folder" : "Ver na carpeta",
diff --git a/apps/files/l10n/bg.js b/apps/files/l10n/bg.js
index 454ccaf0894..a4e57455bba 100644
--- a/apps/files/l10n/bg.js
+++ b/apps/files/l10n/bg.js
@@ -144,9 +144,9 @@ OC.L10N.register(
"Copy" : "Копирай",
"Move" : "Преместване",
"Move or copy" : "Премести или копирай",
- "Open file locally" : "Локално отваряне на файл",
- "Failed to redirect to client" : "Неуспешно пренасочване към клиент",
"Open locally" : "Локално отваряне",
+ "Failed to redirect to client" : "Неуспешно пренасочване към клиент",
+ "Open file locally" : "Локално отваряне на файл",
"Rename" : "Преименувай",
"Open details" : "Отваряне на подробности",
"View in folder" : "Преглед в папката",
diff --git a/apps/files/l10n/bg.json b/apps/files/l10n/bg.json
index 8f2d29bdb50..0ab99619fd5 100644
--- a/apps/files/l10n/bg.json
+++ b/apps/files/l10n/bg.json
@@ -142,9 +142,9 @@
"Copy" : "Копирай",
"Move" : "Преместване",
"Move or copy" : "Премести или копирай",
- "Open file locally" : "Локално отваряне на файл",
- "Failed to redirect to client" : "Неуспешно пренасочване към клиент",
"Open locally" : "Локално отваряне",
+ "Failed to redirect to client" : "Неуспешно пренасочване към клиент",
+ "Open file locally" : "Локално отваряне на файл",
"Rename" : "Преименувай",
"Open details" : "Отваряне на подробности",
"View in folder" : "Преглед в папката",
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index 460fc96ee21..165d9f4db58 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -279,12 +279,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "S'ha cancel·lat l'operació de desplaçament o còpia",
"Open folder {displayName}" : "Obre la carpeta {displayName}",
"Open in Files" : "Obre a Fitxers",
+ "Open locally" : "Obre en local",
+ "Failed to redirect to client" : "No s'ha pogut redirigir al client",
"Open file locally" : "Obre el fitxer en local",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Ara s'hauria d'obrir el fitxer al dispositiu. Si no és així, comproveu que teniu instal·lada l'aplicació d'escriptori.",
"Retry and close" : "Torna-ho a provar i tanca",
"Open online" : "Obre en línia",
- "Failed to redirect to client" : "No s'ha pogut redirigir al client",
- "Open locally" : "Obre en local",
"Rename" : "Canvia el nom",
"Open details" : "Obre els detalls",
"View in folder" : "Visualitza-ho en la carpeta",
@@ -435,8 +435,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Puja (màx. %s)",
"Submitting fields…" : "S'estan enviant camps…",
"Filter filenames…" : "Filtra els noms de fitxer…",
- "Edit file locally" : "Edició del fitxer localment",
- "Edit online" : "Edició en remot",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} carpeta","{folderCount} carpetes"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fitxer","{fileCount} fitxers"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fitxer i {folderCount} carpeta","1 fitxer i {folderCount} carpetes"],
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 7b9690f94b4..785f02ffb75 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -277,12 +277,12 @@
"Cancelled move or copy operation" : "S'ha cancel·lat l'operació de desplaçament o còpia",
"Open folder {displayName}" : "Obre la carpeta {displayName}",
"Open in Files" : "Obre a Fitxers",
+ "Open locally" : "Obre en local",
+ "Failed to redirect to client" : "No s'ha pogut redirigir al client",
"Open file locally" : "Obre el fitxer en local",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Ara s'hauria d'obrir el fitxer al dispositiu. Si no és així, comproveu que teniu instal·lada l'aplicació d'escriptori.",
"Retry and close" : "Torna-ho a provar i tanca",
"Open online" : "Obre en línia",
- "Failed to redirect to client" : "No s'ha pogut redirigir al client",
- "Open locally" : "Obre en local",
"Rename" : "Canvia el nom",
"Open details" : "Obre els detalls",
"View in folder" : "Visualitza-ho en la carpeta",
@@ -433,8 +433,6 @@
"Upload (max. %s)" : "Puja (màx. %s)",
"Submitting fields…" : "S'estan enviant camps…",
"Filter filenames…" : "Filtra els noms de fitxer…",
- "Edit file locally" : "Edició del fitxer localment",
- "Edit online" : "Edició en remot",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} carpeta","{folderCount} carpetes"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fitxer","{fileCount} fitxers"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fitxer i {folderCount} carpeta","1 fitxer i {folderCount} carpetes"],
diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js
index 9fa7c438bc6..e3739719ee2 100644
--- a/apps/files/l10n/cs.js
+++ b/apps/files/l10n/cs.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Operace přesunutí či zkopírování zrušena",
"Open folder {displayName}" : "Otevřít složku {displayName}",
"Open in Files" : "Otevřít v Souborech",
+ "Open locally" : "Otevřít lokálně",
+ "Failed to redirect to client" : "Nepodařilo se přesměrovat klienta",
"Open file locally" : "Otevřít soubor lokálně",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Soubor by se nyní měl otevřít na vašem zařízení. Pokud ne, zkontrolujte, zda máte nainstalovanou desktopovou aplikaci.",
"Retry and close" : "Zkusit znovu a zavřít",
"Open online" : "Otevřít online",
- "Failed to redirect to client" : "Nepodařilo se přesměrovat klienta",
- "Open locally" : "Otevřít lokálně",
"Rename" : "Přejmenovat",
"Open details" : "Otevřít podrobnosti",
"View in folder" : "Zobrazit ve složce",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Nahrát (max. %s)",
"Submitting fields…" : "Odesílání kolonek…",
"Filter filenames…" : "Filtrovat názvy souborů…",
- "Edit file locally" : "Upravit soubor lokálně",
- "Edit online" : "Upravit online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} složka","{folderCount} složky","{folderCount} složek","{folderCount} složky"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} soubor","{fileCount} soubory","{fileCount} souborů","{fileCount} soubory"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 soubor a {folderCount} složka","1 soubor a {folderCount} složky","1 soubor a {folderCount} složek","1 soubor a {folderCount} složky"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Osobní soubory",
"Text file" : "Textový soubor",
"New text file.txt" : "Nový textový soubor.txt",
+ "%1$s (renamed)" : "%1$s (přejmenované)",
+ "renamed file" : "přejmenovaný soubor",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po povolení názvů souborů, kompatibilních s Windows, stávající soubory už nebude možné změnit, ale je možné je přejmenovat na platné nové názvy jejich vlastníkem.",
"{count} files could not be converted" : "{count} souborů nebylo možné převést",
"{count} files successfully converted" : "{count} souborů úspěšně převedeno"
},
diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json
index 6887c3f59de..1f5d8646df1 100644
--- a/apps/files/l10n/cs.json
+++ b/apps/files/l10n/cs.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Operace přesunutí či zkopírování zrušena",
"Open folder {displayName}" : "Otevřít složku {displayName}",
"Open in Files" : "Otevřít v Souborech",
+ "Open locally" : "Otevřít lokálně",
+ "Failed to redirect to client" : "Nepodařilo se přesměrovat klienta",
"Open file locally" : "Otevřít soubor lokálně",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Soubor by se nyní měl otevřít na vašem zařízení. Pokud ne, zkontrolujte, zda máte nainstalovanou desktopovou aplikaci.",
"Retry and close" : "Zkusit znovu a zavřít",
"Open online" : "Otevřít online",
- "Failed to redirect to client" : "Nepodařilo se přesměrovat klienta",
- "Open locally" : "Otevřít lokálně",
"Rename" : "Přejmenovat",
"Open details" : "Otevřít podrobnosti",
"View in folder" : "Zobrazit ve složce",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Nahrát (max. %s)",
"Submitting fields…" : "Odesílání kolonek…",
"Filter filenames…" : "Filtrovat názvy souborů…",
- "Edit file locally" : "Upravit soubor lokálně",
- "Edit online" : "Upravit online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} složka","{folderCount} složky","{folderCount} složek","{folderCount} složky"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} soubor","{fileCount} soubory","{fileCount} souborů","{fileCount} soubory"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 soubor a {folderCount} složka","1 soubor a {folderCount} složky","1 soubor a {folderCount} složek","1 soubor a {folderCount} složky"],
@@ -453,6 +451,9 @@
"Personal Files" : "Osobní soubory",
"Text file" : "Textový soubor",
"New text file.txt" : "Nový textový soubor.txt",
+ "%1$s (renamed)" : "%1$s (přejmenované)",
+ "renamed file" : "přejmenovaný soubor",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po povolení názvů souborů, kompatibilních s Windows, stávající soubory už nebude možné změnit, ale je možné je přejmenovat na platné nové názvy jejich vlastníkem.",
"{count} files could not be converted" : "{count} souborů nebylo možné převést",
"{count} files successfully converted" : "{count} souborů úspěšně převedeno"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index 3d2898dc93e..1bd3dad4599 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -279,12 +279,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Flytning eller kopiering er annulleret",
"Open folder {displayName}" : "Åben mappe {displayName}",
"Open in Files" : "Åben i Filer",
+ "Open locally" : "Åben lokalt",
+ "Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
"Open file locally" : "Åben fil lokalt",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Filen bør nu åbne på dit apparat. Hvis den ikke gør det, så kontroller venligst at desktop app'en er installeret.",
"Retry and close" : "Forsøg igen og luk",
"Open online" : "Åben online",
- "Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
- "Open locally" : "Åben lokalt",
"Rename" : "Omdøb",
"Open details" : "Mere information",
"View in folder" : "Vis i mappe",
@@ -435,8 +435,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Upload (max. %s)",
"Submitting fields…" : "Sender felter...",
"Filter filenames…" : "Filtrer filnavne...",
- "Edit file locally" : "Rediger fil lokalt",
- "Edit online" : "Rediger online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mappe","{folderCount} mapper"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fil","{fileCount} filer"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fil og {folderCount} mapper","1 fil og {folderCount} mapper"],
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index e23ab072eb3..cce400a7144 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -277,12 +277,12 @@
"Cancelled move or copy operation" : "Flytning eller kopiering er annulleret",
"Open folder {displayName}" : "Åben mappe {displayName}",
"Open in Files" : "Åben i Filer",
+ "Open locally" : "Åben lokalt",
+ "Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
"Open file locally" : "Åben fil lokalt",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Filen bør nu åbne på dit apparat. Hvis den ikke gør det, så kontroller venligst at desktop app'en er installeret.",
"Retry and close" : "Forsøg igen og luk",
"Open online" : "Åben online",
- "Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
- "Open locally" : "Åben lokalt",
"Rename" : "Omdøb",
"Open details" : "Mere information",
"View in folder" : "Vis i mappe",
@@ -433,8 +433,6 @@
"Upload (max. %s)" : "Upload (max. %s)",
"Submitting fields…" : "Sender felter...",
"Filter filenames…" : "Filtrer filnavne...",
- "Edit file locally" : "Rediger fil lokalt",
- "Edit online" : "Rediger online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mappe","{folderCount} mapper"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fil","{fileCount} filer"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fil og {folderCount} mapper","1 fil og {folderCount} mapper"],
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index d21936c8ec9..7d0d105072c 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Verschieben oder Kopieren abgebrochen",
"Open folder {displayName}" : "Ordner {displayName} öffnen",
"Open in Files" : "In \"Dateien\" öffnen",
+ "Open locally" : "Lokal öffnen",
+ "Failed to redirect to client" : "Umleitung zum Client fehlgeschlagen",
"Open file locally" : "Datei lokal öffnen",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Die Datei sollte sich jetzt auf deinem Gerät öffnen. Wenn dies nicht der Fall ist, überprüfe, ob du die Desktop-App installiert hast.",
"Retry and close" : "Erneut versuchen und schließen",
"Open online" : "Online öffnen",
- "Failed to redirect to client" : "Umleitung zum Client fehlgeschlagen",
- "Open locally" : "Lokal öffnen",
"Rename" : "Umbenennen",
"Open details" : "Details öffnen",
"View in folder" : "In Ordner anzeigen",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Hochladen (max. %s)",
"Submitting fields…" : "Felder werden übermittelt…",
"Filter filenames…" : "Dateinamen filtern…",
- "Edit file locally" : "Datei lokal bearbeiten",
- "Edit online" : "Online bearbeiten",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} Ordner","{folderCount} Ordner"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} Datei","{fileCount} Dateien"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 Datei und {folderCount} Ordner","1 Datei und {folderCount} Ordner"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Persönliche Dateien",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
+ "%1$s (renamed)" : "%1$s (umbenannt)",
+ "renamed file" : "Umbenannte Datei",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden.",
"{count} files could not be converted" : "{count} Dateien konnten nicht konvertiert werden",
"{count} files successfully converted" : "{count} Dateien konvertiert"
},
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index 15fae9b76ba..7dca82a027c 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Verschieben oder Kopieren abgebrochen",
"Open folder {displayName}" : "Ordner {displayName} öffnen",
"Open in Files" : "In \"Dateien\" öffnen",
+ "Open locally" : "Lokal öffnen",
+ "Failed to redirect to client" : "Umleitung zum Client fehlgeschlagen",
"Open file locally" : "Datei lokal öffnen",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Die Datei sollte sich jetzt auf deinem Gerät öffnen. Wenn dies nicht der Fall ist, überprüfe, ob du die Desktop-App installiert hast.",
"Retry and close" : "Erneut versuchen und schließen",
"Open online" : "Online öffnen",
- "Failed to redirect to client" : "Umleitung zum Client fehlgeschlagen",
- "Open locally" : "Lokal öffnen",
"Rename" : "Umbenennen",
"Open details" : "Details öffnen",
"View in folder" : "In Ordner anzeigen",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Hochladen (max. %s)",
"Submitting fields…" : "Felder werden übermittelt…",
"Filter filenames…" : "Dateinamen filtern…",
- "Edit file locally" : "Datei lokal bearbeiten",
- "Edit online" : "Online bearbeiten",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} Ordner","{folderCount} Ordner"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} Datei","{fileCount} Dateien"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 Datei und {folderCount} Ordner","1 Datei und {folderCount} Ordner"],
@@ -453,6 +451,9 @@
"Personal Files" : "Persönliche Dateien",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
+ "%1$s (renamed)" : "%1$s (umbenannt)",
+ "renamed file" : "Umbenannte Datei",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden.",
"{count} files could not be converted" : "{count} Dateien konnten nicht konvertiert werden",
"{count} files successfully converted" : "{count} Dateien konvertiert"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index f831a8be747..c0f58b2e1eb 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Verschieben oder kopieren abgebrochen",
"Open folder {displayName}" : "Ordner {displayName} öffnen",
"Open in Files" : "In Dateien öffnen",
+ "Open locally" : "Lokal öffnen",
+ "Failed to redirect to client" : "Umleitung zum Client fehlgeschlagen",
"Open file locally" : "Datei lokal öffnen",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Die Datei sollte sich jetzt auf Ihrem Gerät öffnen. Wenn dies nicht der Fall ist, überprüfen Sie, ob Sie die Desktop-App installiert haben.",
"Retry and close" : "Erneut versuchen und schließen",
"Open online" : "Online öffnen",
- "Failed to redirect to client" : "Umleitung zum Client fehlgeschlagen",
- "Open locally" : "Lokal öffnen",
"Rename" : "Umbenennen",
"Open details" : "Details öffnen",
"View in folder" : "In Ordner anzeigen",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Hochladen (max. %s)",
"Submitting fields…" : "Felder werden übermittelt…",
"Filter filenames…" : "Dateinamen filtern…",
- "Edit file locally" : "Datei lokal bearbeiten",
- "Edit online" : "Online bearbeiten",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} Ordner","{folderCount} Ordner"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} Datei","{fileCount} Dateien"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 Datei und {folderCount} Ordner","1 Datei und {folderCount} Ordner"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Persönliche Dateien",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
+ "%1$s (renamed)" : "%1$s (umbenannt)",
+ "renamed file" : "Umbenannte Datei",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden.",
"{count} files could not be converted" : "{count} Dateien konnten nicht konvertiert werden",
"{count} files successfully converted" : "{count} Dateien konvertiert"
},
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index ae1dbdeca62..5f3c56b5943 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Verschieben oder kopieren abgebrochen",
"Open folder {displayName}" : "Ordner {displayName} öffnen",
"Open in Files" : "In Dateien öffnen",
+ "Open locally" : "Lokal öffnen",
+ "Failed to redirect to client" : "Umleitung zum Client fehlgeschlagen",
"Open file locally" : "Datei lokal öffnen",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Die Datei sollte sich jetzt auf Ihrem Gerät öffnen. Wenn dies nicht der Fall ist, überprüfen Sie, ob Sie die Desktop-App installiert haben.",
"Retry and close" : "Erneut versuchen und schließen",
"Open online" : "Online öffnen",
- "Failed to redirect to client" : "Umleitung zum Client fehlgeschlagen",
- "Open locally" : "Lokal öffnen",
"Rename" : "Umbenennen",
"Open details" : "Details öffnen",
"View in folder" : "In Ordner anzeigen",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Hochladen (max. %s)",
"Submitting fields…" : "Felder werden übermittelt…",
"Filter filenames…" : "Dateinamen filtern…",
- "Edit file locally" : "Datei lokal bearbeiten",
- "Edit online" : "Online bearbeiten",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} Ordner","{folderCount} Ordner"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} Datei","{fileCount} Dateien"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 Datei und {folderCount} Ordner","1 Datei und {folderCount} Ordner"],
@@ -453,6 +451,9 @@
"Personal Files" : "Persönliche Dateien",
"Text file" : "Textdatei",
"New text file.txt" : "Neue Textdatei file.txt",
+ "%1$s (renamed)" : "%1$s (umbenannt)",
+ "renamed file" : "Umbenannte Datei",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Nach Aktivierung der Windows-kompatiblen Dateinamen können vorhandene Dateien nicht mehr geändert, aber von ihrem Besitzer in gültige neue Namen umbenannt werden.",
"{count} files could not be converted" : "{count} Dateien konnten nicht konvertiert werden",
"{count} files successfully converted" : "{count} Dateien konvertiert"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index fbeb47e932e..b80ca51fce8 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -335,7 +335,6 @@ OC.L10N.register(
"An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών",
"Upload (max. %s)" : "Μεταφόρτωση (max. %s)",
"Filter filenames…" : "Φιλτράρετε τα ονόματα αρχείων...",
- "Edit file locally" : "Επεξεργασία αρχείου τοπικά",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} φάκελος","{folderCount} φακέλοι"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} αρχείο","{fileCount} αρχεία"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 αρχείο και {folderCount} φάκελος","1 αρχείο και {folderCount} φακέλοι"],
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index 7ee25f99471..517397b07c1 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -333,7 +333,6 @@
"An error occurred while trying to update the tags" : "Ένα σφάλμα προέκυψε κατά τη διάρκεια ενημέρωσης των ετικετών",
"Upload (max. %s)" : "Μεταφόρτωση (max. %s)",
"Filter filenames…" : "Φιλτράρετε τα ονόματα αρχείων...",
- "Edit file locally" : "Επεξεργασία αρχείου τοπικά",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} φάκελος","{folderCount} φακέλοι"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} αρχείο","{fileCount} αρχεία"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 αρχείο και {folderCount} φάκελος","1 αρχείο και {folderCount} φακέλοι"],
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index 1499c95351b..8c048258500 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Cancelled move or copy operation",
"Open folder {displayName}" : "Open folder {displayName}",
"Open in Files" : "Open in Files",
+ "Open locally" : "Open locally",
+ "Failed to redirect to client" : "Failed to redirect to client",
"Open file locally" : "Open file locally",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "The file should now open on your device. If it doesn't, please check that you have the desktop app installed.",
"Retry and close" : "Retry and close",
"Open online" : "Open online",
- "Failed to redirect to client" : "Failed to redirect to client",
- "Open locally" : "Open locally",
"Rename" : "Rename",
"Open details" : "Open details",
"View in folder" : "View in folder",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Upload (max. %s)",
"Submitting fields…" : "Submitting fields…",
"Filter filenames…" : "Filter filenames…",
- "Edit file locally" : "Edit file locally",
- "Edit online" : "Edit online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} folder","{folderCount} folders"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} file","{fileCount} files"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file and {folderCount} folder","1 file and {folderCount} folders"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Personal Files",
"Text file" : "Text file",
"New text file.txt" : "New text file.txt",
+ "%1$s (renamed)" : "%1$s (renamed)",
+ "renamed file" : "renamed file",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
"{count} files could not be converted" : "{count} files could not be converted",
"{count} files successfully converted" : "{count} files successfully converted"
},
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index 093e3fbf15e..111c36b99b0 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Cancelled move or copy operation",
"Open folder {displayName}" : "Open folder {displayName}",
"Open in Files" : "Open in Files",
+ "Open locally" : "Open locally",
+ "Failed to redirect to client" : "Failed to redirect to client",
"Open file locally" : "Open file locally",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "The file should now open on your device. If it doesn't, please check that you have the desktop app installed.",
"Retry and close" : "Retry and close",
"Open online" : "Open online",
- "Failed to redirect to client" : "Failed to redirect to client",
- "Open locally" : "Open locally",
"Rename" : "Rename",
"Open details" : "Open details",
"View in folder" : "View in folder",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Upload (max. %s)",
"Submitting fields…" : "Submitting fields…",
"Filter filenames…" : "Filter filenames…",
- "Edit file locally" : "Edit file locally",
- "Edit online" : "Edit online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} folder","{folderCount} folders"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} file","{fileCount} files"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file and {folderCount} folder","1 file and {folderCount} folders"],
@@ -453,6 +451,9 @@
"Personal Files" : "Personal Files",
"Text file" : "Text file",
"New text file.txt" : "New text file.txt",
+ "%1$s (renamed)" : "%1$s (renamed)",
+ "renamed file" : "renamed file",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
"{count} files could not be converted" : "{count} files could not be converted",
"{count} files successfully converted" : "{count} files successfully converted"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index 9f1470a2e7b..052bcaa2aa0 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -280,12 +280,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Se canceló la operación de mover o copiar",
"Open folder {displayName}" : "Abrir carpeta {displayName}",
"Open in Files" : "Abrir en Archivos",
+ "Open locally" : "Abrir localmente",
+ "Failed to redirect to client" : "Fallo al redirigir al cliente",
"Open file locally" : "Abrir archivo localmente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "El archivo se abrirá ahora en tu dispositivo. Si esto no ocurre, por favor verifica que has instalado la aplicación de escritorio",
"Retry and close" : "Reintentar y cerrar",
"Open online" : "Abrir en línea",
- "Failed to redirect to client" : "Fallo al redirigir al cliente",
- "Open locally" : "Abrir localmente",
"Rename" : "Renombrar",
"Open details" : "Abrir detalles",
"View in folder" : "Ver en carpeta",
@@ -437,8 +437,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Subida (máx. %s)",
"Submitting fields…" : "Enviando campos…",
"Filter filenames…" : "Filtrar nombres de archivo…",
- "Edit file locally" : "Editar archivo localmente",
- "Edit online" : "Editar en línea",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} carpeta","{folderCount} carpetas","{folderCount} carpetas"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} archivo","{fileCount} archivos","{fileCount} archivos"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 archivo y {folderCount} carpeta","1 archivo y {folderCount} carpetas","1 archivo y {folderCount} carpetas"],
@@ -447,6 +445,9 @@ OC.L10N.register(
"Personal Files" : "Archivos Personales",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo archivo.txt",
+ "%1$s (renamed)" : "%1$s (renombrado)",
+ "renamed file" : "archivo renombrado",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Luego de habilitar los nombres de archivo compatibles con windows, los archivos existentes no podrán ser modificados, pero, podrán ser renombrados a nuevos nombres válidos por su respectivo propietario.",
"{count} files could not be converted" : "{count} archivos no han podido ser convertidos",
"{count} files successfully converted" : "{count} archivos convertidos correctamente"
},
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 6f586c00097..3a9fa3af3e5 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -278,12 +278,12 @@
"Cancelled move or copy operation" : "Se canceló la operación de mover o copiar",
"Open folder {displayName}" : "Abrir carpeta {displayName}",
"Open in Files" : "Abrir en Archivos",
+ "Open locally" : "Abrir localmente",
+ "Failed to redirect to client" : "Fallo al redirigir al cliente",
"Open file locally" : "Abrir archivo localmente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "El archivo se abrirá ahora en tu dispositivo. Si esto no ocurre, por favor verifica que has instalado la aplicación de escritorio",
"Retry and close" : "Reintentar y cerrar",
"Open online" : "Abrir en línea",
- "Failed to redirect to client" : "Fallo al redirigir al cliente",
- "Open locally" : "Abrir localmente",
"Rename" : "Renombrar",
"Open details" : "Abrir detalles",
"View in folder" : "Ver en carpeta",
@@ -435,8 +435,6 @@
"Upload (max. %s)" : "Subida (máx. %s)",
"Submitting fields…" : "Enviando campos…",
"Filter filenames…" : "Filtrar nombres de archivo…",
- "Edit file locally" : "Editar archivo localmente",
- "Edit online" : "Editar en línea",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} carpeta","{folderCount} carpetas","{folderCount} carpetas"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} archivo","{fileCount} archivos","{fileCount} archivos"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 archivo y {folderCount} carpeta","1 archivo y {folderCount} carpetas","1 archivo y {folderCount} carpetas"],
@@ -445,6 +443,9 @@
"Personal Files" : "Archivos Personales",
"Text file" : "Archivo de texto",
"New text file.txt" : "Nuevo archivo.txt",
+ "%1$s (renamed)" : "%1$s (renombrado)",
+ "renamed file" : "archivo renombrado",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Luego de habilitar los nombres de archivo compatibles con windows, los archivos existentes no podrán ser modificados, pero, podrán ser renombrados a nuevos nombres válidos por su respectivo propietario.",
"{count} files could not be converted" : "{count} archivos no han podido ser convertidos",
"{count} files successfully converted" : "{count} archivos convertidos correctamente"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
diff --git a/apps/files/l10n/es_EC.js b/apps/files/l10n/es_EC.js
index 7e353f0a6a4..2e937b91fae 100644
--- a/apps/files/l10n/es_EC.js
+++ b/apps/files/l10n/es_EC.js
@@ -149,9 +149,9 @@ OC.L10N.register(
"Move" : "Mover",
"Move or copy" : "Mover o copiar",
"Open folder {displayName}" : "Abrir carpeta {displayName}.",
- "Open file locally" : "Abrir archivo localmente",
- "Failed to redirect to client" : "No se pudo redirigir al cliente.",
"Open locally" : "Abrir localmente",
+ "Failed to redirect to client" : "No se pudo redirigir al cliente.",
+ "Open file locally" : "Abrir archivo localmente",
"Rename" : "Renombrar",
"Open details" : "Abrir detalles.",
"View in folder" : "Ver en la carpeta",
diff --git a/apps/files/l10n/es_EC.json b/apps/files/l10n/es_EC.json
index 3f7ce16df35..ce46795a8ae 100644
--- a/apps/files/l10n/es_EC.json
+++ b/apps/files/l10n/es_EC.json
@@ -147,9 +147,9 @@
"Move" : "Mover",
"Move or copy" : "Mover o copiar",
"Open folder {displayName}" : "Abrir carpeta {displayName}.",
- "Open file locally" : "Abrir archivo localmente",
- "Failed to redirect to client" : "No se pudo redirigir al cliente.",
"Open locally" : "Abrir localmente",
+ "Failed to redirect to client" : "No se pudo redirigir al cliente.",
+ "Open file locally" : "Abrir archivo localmente",
"Rename" : "Renombrar",
"Open details" : "Abrir detalles.",
"View in folder" : "Ver en la carpeta",
diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 3fdea38848c..7ad14b22bbb 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -227,9 +227,9 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Se canceló la operación de mover o copiar",
"Open folder {displayName}" : "Abrir carpeta {displayName}",
"Open in Files" : "Abrir en Archivos",
+ "Failed to redirect to client" : "Fallo al redirigir al cliente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "El archivo se abrirá ahora en tu dispositivo. Si esto no ocurre, por favor verifica que hayas instalado la aplicación de escritorio.",
"Retry and close" : "Reintentar y cerrar",
- "Failed to redirect to client" : "Fallo al redirigir al cliente",
"Rename" : "Renombrar",
"Open details" : "Abrir detalles",
"View in folder" : "Ver en la carpeta",
@@ -380,8 +380,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Cargar (max. %s)",
"Submitting fields…" : "Enviando campos...",
"Filter filenames…" : "Filtrar nombres de archivos...",
- "Edit file locally" : "Editar el archivo localmente",
- "Edit online" : "Editar en línea",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} carpeta","{folderCount} carpetas","{folderCount} carpetas"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} archivo","{fileCount} archivos","{fileCount} archivos"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 archivo y {folderCount} carpeta","1 archivo y {folderCount} carpetas","1 archivo y {folderCount} carpetas"],
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index 24a26109117..93aee529828 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -225,9 +225,9 @@
"Cancelled move or copy operation" : "Se canceló la operación de mover o copiar",
"Open folder {displayName}" : "Abrir carpeta {displayName}",
"Open in Files" : "Abrir en Archivos",
+ "Failed to redirect to client" : "Fallo al redirigir al cliente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "El archivo se abrirá ahora en tu dispositivo. Si esto no ocurre, por favor verifica que hayas instalado la aplicación de escritorio.",
"Retry and close" : "Reintentar y cerrar",
- "Failed to redirect to client" : "Fallo al redirigir al cliente",
"Rename" : "Renombrar",
"Open details" : "Abrir detalles",
"View in folder" : "Ver en la carpeta",
@@ -378,8 +378,6 @@
"Upload (max. %s)" : "Cargar (max. %s)",
"Submitting fields…" : "Enviando campos...",
"Filter filenames…" : "Filtrar nombres de archivos...",
- "Edit file locally" : "Editar el archivo localmente",
- "Edit online" : "Editar en línea",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} carpeta","{folderCount} carpetas","{folderCount} carpetas"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} archivo","{fileCount} archivos","{fileCount} archivos"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 archivo y {folderCount} carpeta","1 archivo y {folderCount} carpetas","1 archivo y {folderCount} carpetas"],
diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index f5ca9e71e54..dad0e8a3e1b 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Teisaldamine või kopeerimine on katkestatud",
"Open folder {displayName}" : "Ava kaust {displayName}",
"Open in Files" : "Ava failirakenduses",
+ "Open locally" : "Ava kohalikust andmeruumist",
+ "Failed to redirect to client" : "Kliendi ümbersuunamine ei õnnestunud",
"Open file locally" : "Ava fail kohalikus seadmes",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Fail peaks nüüd sinu seadmes või arvutis olema avatud. Kui see nii pole, siis palun kontrolli, et töölauarakendus on paigaldatud.",
"Retry and close" : "Proovi uuesti ja sulge",
"Open online" : "Ava võrgust",
- "Failed to redirect to client" : "Kliendi ümbersuunamine ei õnnestunud",
- "Open locally" : "Ava kohalikust andmeruumist",
"Rename" : "Muuda nime",
"Open details" : "Ava üksikasjad",
"View in folder" : "Vaata kaustas",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Üleslaadimine (max. %s)",
"Submitting fields…" : "Saadan välju…",
"Filter filenames…" : "Otsi failinimesid…",
- "Edit file locally" : "Muuda faili kohalikus seadmes",
- "Edit online" : "Muuda võrgus",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} kaust","{folderCount} kausta"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fail","{fileCount} faili"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fail ja {folderCount} kaust","1 fail ja {folderCount} kausta"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Isiklikud Failid",
"Text file" : "Tekstifail",
"New text file.txt" : "Uus tekstifail.txt",
+ "%1$s (renamed)" : "%1$s (nimi on muudetud)",
+ "renamed file" : "muudetud nimega fail",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Kui võtad kasutusele Windowsiga ühilduvad failinimed, siis olemasolevad mitteühilduvaid faile ei saa enam muuta, aga faili omanik saab failinime muuta ühilduvaks.",
"{count} files could not be converted" : "{count} faili ei õnnestunud teisendada",
"{count} files successfully converted" : "{count} faili teisendamine õnnestus"
},
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index 5b90843bdf3..a909ea33670 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Teisaldamine või kopeerimine on katkestatud",
"Open folder {displayName}" : "Ava kaust {displayName}",
"Open in Files" : "Ava failirakenduses",
+ "Open locally" : "Ava kohalikust andmeruumist",
+ "Failed to redirect to client" : "Kliendi ümbersuunamine ei õnnestunud",
"Open file locally" : "Ava fail kohalikus seadmes",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Fail peaks nüüd sinu seadmes või arvutis olema avatud. Kui see nii pole, siis palun kontrolli, et töölauarakendus on paigaldatud.",
"Retry and close" : "Proovi uuesti ja sulge",
"Open online" : "Ava võrgust",
- "Failed to redirect to client" : "Kliendi ümbersuunamine ei õnnestunud",
- "Open locally" : "Ava kohalikust andmeruumist",
"Rename" : "Muuda nime",
"Open details" : "Ava üksikasjad",
"View in folder" : "Vaata kaustas",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Üleslaadimine (max. %s)",
"Submitting fields…" : "Saadan välju…",
"Filter filenames…" : "Otsi failinimesid…",
- "Edit file locally" : "Muuda faili kohalikus seadmes",
- "Edit online" : "Muuda võrgus",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} kaust","{folderCount} kausta"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fail","{fileCount} faili"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fail ja {folderCount} kaust","1 fail ja {folderCount} kausta"],
@@ -453,6 +451,9 @@
"Personal Files" : "Isiklikud Failid",
"Text file" : "Tekstifail",
"New text file.txt" : "Uus tekstifail.txt",
+ "%1$s (renamed)" : "%1$s (nimi on muudetud)",
+ "renamed file" : "muudetud nimega fail",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Kui võtad kasutusele Windowsiga ühilduvad failinimed, siis olemasolevad mitteühilduvaid faile ei saa enam muuta, aga faili omanik saab failinime muuta ühilduvaks.",
"{count} files could not be converted" : "{count} faili ei õnnestunud teisendada",
"{count} files successfully converted" : "{count} faili teisendamine õnnestus"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index c2cfee285f2..51ed660a406 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -251,11 +251,11 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Mugitze edo kopiatze operazioa utzi da",
"Open folder {displayName}" : "Ireki {displayName} karpeta",
"Open in Files" : "Ireki Fitxategiak aplikazioan",
+ "Open locally" : "Ireki lokalean",
+ "Failed to redirect to client" : "Bezerora birbideratzeak huts egin du",
"Open file locally" : "Ireki fitxategia lokalean",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Fitxategia orain zure gailuan ireki beharko litzateke. Hala ez bada, egiaztatu mahaigaineko aplikazioa instalatuta duzula.",
"Retry and close" : "Saiatu berriro eta itxi",
- "Failed to redirect to client" : "Bezerora birbideratzeak huts egin du",
- "Open locally" : "Ireki lokalean",
"Rename" : "Berrizendatu",
"Open details" : "Ireki xehetasunak",
"View in folder" : "Ikusi karpetan",
@@ -406,8 +406,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Igo (%s gehienez)",
"Submitting fields…" : "Eremuak bidaltzen…",
"Filter filenames…" : "Iragazi fitxategi-izenak...",
- "Edit file locally" : "Editatu fitxategia lokalean",
- "Edit online" : "Editatu sarean",
"_{folderCount} folder_::_{folderCount} folders_" : ["Karpeta {folderCount}","{folderCount} karpeta"],
"_{fileCount} file_::_{fileCount} files_" : ["Fitxategi {fileCount}","{fileCount} fitxategi"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["Fitxategi 1 eta karpeta {folderCount}","Fitxategi 1 eta {folderCount} karpeta"],
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index 3def8199ade..f050ebc9124 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -249,11 +249,11 @@
"Cancelled move or copy operation" : "Mugitze edo kopiatze operazioa utzi da",
"Open folder {displayName}" : "Ireki {displayName} karpeta",
"Open in Files" : "Ireki Fitxategiak aplikazioan",
+ "Open locally" : "Ireki lokalean",
+ "Failed to redirect to client" : "Bezerora birbideratzeak huts egin du",
"Open file locally" : "Ireki fitxategia lokalean",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Fitxategia orain zure gailuan ireki beharko litzateke. Hala ez bada, egiaztatu mahaigaineko aplikazioa instalatuta duzula.",
"Retry and close" : "Saiatu berriro eta itxi",
- "Failed to redirect to client" : "Bezerora birbideratzeak huts egin du",
- "Open locally" : "Ireki lokalean",
"Rename" : "Berrizendatu",
"Open details" : "Ireki xehetasunak",
"View in folder" : "Ikusi karpetan",
@@ -404,8 +404,6 @@
"Upload (max. %s)" : "Igo (%s gehienez)",
"Submitting fields…" : "Eremuak bidaltzen…",
"Filter filenames…" : "Iragazi fitxategi-izenak...",
- "Edit file locally" : "Editatu fitxategia lokalean",
- "Edit online" : "Editatu sarean",
"_{folderCount} folder_::_{folderCount} folders_" : ["Karpeta {folderCount}","{folderCount} karpeta"],
"_{fileCount} file_::_{fileCount} files_" : ["Fitxategi {fileCount}","{fileCount} fitxategi"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["Fitxategi 1 eta karpeta {folderCount}","Fitxategi 1 eta {folderCount} karpeta"],
diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js
index 6a23baaa9a3..38d47a69821 100644
--- a/apps/files/l10n/fa.js
+++ b/apps/files/l10n/fa.js
@@ -13,6 +13,7 @@ OC.L10N.register(
"Restored by {user}" : "بازیابی شده توسط {user}",
"Renamed by {user}" : "تغییر نام توسط {user}",
"Moved by {user}" : "منتقل شده توسط {user}",
+ "\"remote account\"" : "&quot;حساب از راه دور&quot;",
"You created {file}" : "شما {file} را ایجاد کردید",
"You created an encrypted file in {file}" : "شما یک فایل رمزگذاری شده در {file} ایجاد کردید",
"{user} created {file}" : "{user} {file} را ایجاد کرد",
@@ -42,11 +43,23 @@ OC.L10N.register(
"Files" : "پرونده‌ها",
"A file or folder has been <strong>changed</strong>" : "یک فایل یا پوشه تغییر کرده است",
"A favorite file or folder has been <strong>changed</strong>" : "یک فایل یا پوشه مورد علاقه تغییر کرده است",
+ "Failed to authorize" : "مجوز صادر نشد",
+ "Invalid folder path" : "Invalid folder path",
+ "Folder not found" : "Folder not found",
+ "The file cannot be found" : "The file cannot be found",
+ "The destination path does not exist: %1$s" : "The destination path does not exist: %1$s",
+ "You do not have permission to create a file at the specified location" : "You do not have permission to create a file at the specified location",
+ "The file could not be converted." : "The file could not be converted.",
+ "Could not get relative path to converted file" : "Could not get relative path to converted file",
+ "Favorite files" : "Favorite files",
"No favorites" : "هیچ برگزیده",
+ "More favorites" : "More favorites",
"Accept" : "قبول",
"Reject" : "رد کردن",
"Incoming ownership transfer from {user}" : "انتقال مالکیت ورودی از {user}",
"Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "آیا می خواهید {path} را بپذیرید؟\n\nتوجه: فرآیند انتقال پس از پذیرش ممکن است تا 1 ساعت طول بکشد.",
+ "Ownership transfer denied" : "Ownership transfer denied",
+ "Your ownership transfer of {path} was denied by {user}." : "Your ownership transfer of {path} was denied by {user}.",
"Ownership transfer failed" : "انتقال مالکیت ناموفق بود",
"Your ownership transfer of {path} to {user} failed." : "انتقال مالکیت شما از {path} به {user} انجام نشد.",
"The ownership transfer of {path} from {user} failed." : "انتقال مالکیت {path} از {user} انجام نشد.",
@@ -54,42 +67,77 @@ OC.L10N.register(
"Your ownership transfer of {path} to {user} has completed." : "انتقال مالکیت شما از {path} به {user} تکمیل شد.",
"The ownership transfer of {path} from {user} has completed." : "انتقال مالکیت {path} از {user} تکمیل شد.",
"in %s" : "در %s",
+ "Transferred from %1$s on %2$s" : "Transferred from %1$s on %2$s",
+ "Files compatibility" : "Files compatibility",
+ "Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed.",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command.",
+ "Enforce Windows compatibility" : "Enforce Windows compatibility",
+ "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity.",
"File Management" : "مدیریت فایل",
"Home" : "خانه",
"Target folder does not exist any more" : "پوشه هدف وجود ندارد",
"Reload current directory" : "دایرکتوری فعلی را دوباره بارگیری کنید",
"Go to the \"{dir}\" directory" : "به دایرکتوری \"{dir}\" بروید",
+ "Current directory path" : "Current directory path",
+ "Your have used your space quota and cannot upload files anymore" : "Your have used your space quota and cannot upload files anymore",
+ "You do not have permission to upload or create files here." : "You do not have permission to upload or create files here.",
"Drag and drop files here to upload" : "برای بارگذاری، فایل‌ها را بکشید و اینجا بیاندازید",
"Favorite" : "برگزیده",
- "Back" : "Back",
+ "Back" : "بازگشت",
+ "Toggle selection for file \"{displayName}\"" : "Toggle selection for file \"{displayName}\"",
+ "Toggle selection for folder \"{displayName}\"" : "Toggle selection for folder \"{displayName}\"",
+ "File is loading" : "File is loading",
+ "Folder is loading" : "Folder is loading",
"Filename" : "نام پرونده",
"Folder name" : "نام پوشه",
"This node is unavailable" : "گره شما در دسترس نیست",
+ "Another entry with the same name already exists." : "Another entry with the same name already exists.",
+ "Invalid filename." : "Invalid filename.",
"Renamed \"{oldName}\" to \"{newName}\"" : "تغییر نام \"{oldName}\" به \"{newName}\"",
"Rename file" : "تغییر نام فایل",
"Folder" : "پوشه",
+ "Unknown file type" : "Unknown file type",
+ "{ext} image" : "{ext} image",
+ "{ext} video" : "{ext} video",
+ "{ext} audio" : "{ext} audio",
+ "{ext} text" : "{ext} text",
"Pending" : "در انتظار",
+ "Unknown date" : "Unknown date",
"Clear filter" : "پاک کردن پالایه",
"Modified" : "تاریخ",
"Type" : "نوع",
- "Active filters" : "Active filters",
- "Remove filter" : "Remove filter",
+ "Active filters" : "فیلترهای فعال",
+ "Remove filter" : "فیلتر را بردارید",
"Total rows summary" : "خلاصه کل ردیف ها",
+ "Toggle selection for all files and folders" : "Toggle selection for all files and folders",
"Name" : "نام",
+ "File type" : "File type",
"Size" : "اندازه",
+ "\"{displayName}\" failed on some elements" : "\"{displayName}\" failed on some elements",
"\"{displayName}\" batch action executed successfully" : "عملکرد دسته‌ای \"{displayName}\" با موفقیت اجرا شد",
"\"{displayName}\" action failed" : "اقدام \"{displayName}\" ناموفق بود",
"Actions" : "فعالیت ها",
+ "(selected)" : "(selected)",
"List of files and folders." : "لیست فایل ها و پوشه ها",
+ "You have used your space quota and cannot upload files anymore." : "You have used your space quota and cannot upload files anymore.",
+ "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" : "فایل یافت نشد",
+ "{count} selected" : "{count} selected",
"{usedQuotaByte} used" : "{usedQuotaByte} استفاده شده است",
"{used} of {quota} used" : "{used} از {quota} استفاده شده",
+ "{relative}% used" : "{relative}% used",
"Could not refresh storage stats" : "نمی‌توان آمار ذخیره‌سازی را بازخوانی کرد",
"Your storage is full, files can not be updated or synced anymore!" : "فضای ذخیره ی شما کاملا پر است، بیش از این فایلها بهنگام یا همگام سازی نمی توانند بشوند!",
+ "Storage information" : "اطلاعات ذخیره‌سازی",
+ "Storage quota" : "محدودیت ذخیره‌سازی",
"New folder" : "پوشه جدید",
"Create new folder" : "ساختن پوشه جدید",
- "Create" : "ساخت",
+ "This name is already in use." : "This name is already in use.",
+ "Create" : "ایجاد",
+ "Fill template fields" : "Fill template fields",
+ "Submitting fields …" : "Submitting fields …",
"Submit" : "ارسال",
"Choose a file or folder to transfer" : "فایل یا پوشه ای را برای انتقال انتخاب کنید",
"Transfer" : "انتقال",
@@ -102,39 +150,84 @@ OC.L10N.register(
"Choose file or folder to transfer" : "فایل یا پوشه را برای انتقال انتخاب کنید",
"Change" : "تغییر",
"New owner" : "مالک جدید",
+ "Keep {old}" : "Keep {old}",
+ "Keep without extension" : "Keep without extension",
+ "Use {new}" : "Use {new}",
+ "Remove extension" : "Remove extension",
+ "Change file extension" : "Change file extension",
+ "Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable.",
+ "Removing the file extension \"{old}\" may render the file unreadable." : "Removing the file extension \"{old}\" may render the file unreadable.",
+ "Adding the file extension \"{new}\" may render the file unreadable." : "Adding the file extension \"{new}\" may render the file unreadable.",
+ "Do not show this dialog again." : "Do not show this dialog again.",
"Select file or folder to link to" : "فایل یا پوشه را برای پیوند انتخاب کنید",
"Choose {file}" : "انتخاب {file}",
"Share" : "اشتراک‌گذاری",
"Shared by link" : "اشتراک گذاشته شده از طریق لینک",
"Shared" : "به اشتراک گذاشته شده ",
- "Switch to list view" : "Switch to list view",
+ "Switch to list view" : "تغییر به نمای لیست",
+ "Switch to grid view" : "Switch to grid view",
+ "The file could not be found" : "The file could not be found",
"Upload was cancelled by user" : "آپلود توسط کاربر لغو شد",
"Not enough free space" : "فضای کافی در دسترس نیست",
"Operation is blocked by access control" : "مدیریت دسترسی، عملیات را متوقف کرد",
+ "Error during upload: {message}" : "Error during upload: {message}",
+ "Error during upload, status code {status}" : "Error during upload, status code {status}",
+ "Unknown error during upload" : "Unknown error during upload",
"\"{displayName}\" action executed successfully" : "عملکرد \"{displayName}\" با موفقیت اجرا شد",
"Loading current folder" : "در حال بارگیری پوشه فعلی",
"Retry" : "تلاش دوباره",
"No files in here" : "هیچ فایلی اینجا وجود ندارد",
"Upload some content or sync with your devices!" : "محتوایی را آپلود کنید یا با دستگاه خود همگام‌سازی کنید!",
"Go back" : "برگرد",
+ "Filter file names …" : "Filter file names …",
"Views" : "بازدیدها",
"Files settings" : "تنظیمات پرونده‌ها",
- "Open in files" : "Open in files",
+ "Your files" : "Your files",
+ "Open in files" : "باز کردن در فایل‌ها",
"File cannot be accessed" : "فایل قابل دسترسی نیست",
+ "The file could not be found or you do not have permissions to view it. Ask the sender to share it." : "The file could not be found or you do not have permissions to view it. Ask the sender to share it.",
"Clipboard is not available" : "کلیپ بورد در دسترس نیست",
"WebDAV URL copied to clipboard" : "URL WebDAV در کلیپ بورد کپی شد",
"Sort favorites first" : "ابتدا موارد دلخواه را مرتب کنید",
+ "Sort folders before files" : "Sort folders before files",
"Show hidden files" : "نمایش پرونده‌های مخفی",
+ "Show file type column" : "Show file type column",
"Crop image previews" : "پیش نمایش تصویر برش",
+ "Enable the grid view" : "Enable the grid view",
+ "Enable folder tree" : "Enable folder tree",
"Additional settings" : "تنظیمات اضافی",
"WebDAV" : "WebDAV",
+ "WebDAV URL" : "WebDAV URL",
"Copy to clipboard" : "کپی به کلیپ بورد",
"Use this address to access your Files via WebDAV" : "از این آدرس برای دسترسی به فایل های خود از طریق WebDAV استفاده کنید",
"If you have enabled 2FA, you must create and use a new app password by clicking here." : "اگر 2FA را فعال کرده اید، باید با کلیک کردن در اینجا یک رمز عبور برنامه جدید ایجاد و استفاده کنید.",
+ "Warnings" : "Warnings",
+ "Prevent warning dialogs from open or reenable them." : "Prevent warning dialogs from open or reenable them.",
+ "Show a warning dialog when changing a file extension." : "Show a warning dialog when changing a file extension.",
"Keyboard shortcuts" : "میان‌برهای صفحه‌کلید",
+ "Speed up your Files experience with these quick shortcuts." : "Speed up your Files experience with these quick shortcuts.",
+ "Open the actions menu for a file" : "Open the actions menu for a file",
+ "Rename a file" : "Rename a file",
+ "Delete a file" : "Delete a file",
+ "Favorite or remove a file from favorites" : "Favorite or remove a file from favorites",
+ "Manage tags for a file" : "Manage tags for a file",
"Selection" : "انتخاب",
+ "Select all files" : "Select all files",
+ "Deselect all files" : "Deselect all files",
+ "Select or deselect a file" : "Select or deselect a file",
+ "Select a range of files" : "Select a range of files",
"Navigation" : "جهت یابی",
+ "Navigate to the parent folder" : "Navigate to the parent folder",
+ "Navigate to the file above" : "Navigate to the file above",
+ "Navigate to the file below" : "Navigate to the file below",
+ "Navigate to the file on the left (in grid mode)" : "Navigate to the file on the left (in grid mode)",
+ "Navigate to the file on the right (in grid mode)" : "Navigate to the file on the right (in grid mode)",
"View" : "نمایش",
+ "Toggle the grid view" : "Toggle the grid view",
+ "Open the sidebar for a file" : "Open the sidebar for a file",
+ "Show those shortcuts" : "Show those shortcuts",
+ "You" : "You",
+ "Shared multiple times with different people" : "Shared multiple times with different people",
"Error while loading the file data" : "خطا هنگام بارگیری داده های فایل",
"Owner" : "مالک",
"Remove from favorites" : "حذف کردن از برگزیده ها",
@@ -145,45 +238,121 @@ OC.L10N.register(
"Pick a template for {name}" : "یک الگو برای {name} انتخاب کنید",
"Create a new file with the selected template" : "یک فایل جدید با الگوی انتخاب شده ایجاد کنید",
"Creating file" : "ایجاد فایل",
+ "Save as {displayName}" : "Save as {displayName}",
+ "Save as …" : "Save as …",
+ "Converting files …" : "Converting files …",
+ "Failed to convert files: {message}" : "Failed to convert files: {message}",
+ "All files failed to be converted" : "All files failed to be converted",
+ "One file could not be converted: {message}" : "One file could not be converted: {message}",
+ "_One file could not be converted_::_%n files could not be converted_" : ["One file could not be converted","%n files could not be converted"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["One file successfully converted","%n files successfully converted"],
+ "Files successfully converted" : "Files successfully converted",
+ "Failed to convert files" : "Failed to convert files",
+ "Converting file …" : "Converting file …",
+ "File successfully converted" : "File successfully converted",
+ "Failed to convert file: {message}" : "Failed to convert file: {message}",
+ "Failed to convert file" : "Failed to convert file",
+ "Deletion cancelled" : "Deletion cancelled",
"Leave this share" : "ترک این اشتراک",
+ "Leave these shares" : "Leave these shares",
"Disconnect storage" : "فضای ذخیره را جدا کنید",
+ "Disconnect storages" : "Disconnect storages",
"Delete permanently" : "حذف قطعی",
+ "Delete and unshare" : "Delete and unshare",
"Delete file" : "حذف پرونده",
- "Delete files" : "Delete files",
+ "Delete files" : "حذف فایل‌ها",
"Delete folder" : "حذف پوشه",
+ "Delete folders" : "Delete folders",
"Delete" : "حذف",
+ "_You are about to permanently delete {count} item_::_You are about to permanently delete {count} items_" : ["You are about to permanently delete {count} item","You are about to permanently delete {count} items"],
+ "_You are about to delete {count} item_::_You are about to delete {count} items_" : ["You are about to delete {count} item","You are about to delete {count} items"],
+ "Confirm deletion" : "Confirm deletion",
"Cancel" : "لغو",
+ "Moving \"{source}\" to \"{destination}\" …" : "Moving \"{source}\" to \"{destination}\" …",
+ "Copying \"{source}\" to \"{destination}\" …" : "Copying \"{source}\" to \"{destination}\" …",
+ "You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself",
+ "(copy)" : "(copy)",
+ "(copy %n)" : "(copy %n)",
+ "Move cancelled" : "Move cancelled",
+ "A file or folder with that name already exists in this folder" : "A file or folder with that name already exists in this folder",
+ "The files are locked" : "The files are locked",
+ "The file does not exist anymore" : "The file does not exist anymore",
+ "Choose destination" : "Choose destination",
"Copy to {target}" : "رونوشت به {target}",
"Copy" : "رونوشت",
"Move to {target}" : "جابجایی به {target}",
"Move" : "انتقال",
+ "Move or copy operation failed" : "Move or copy operation failed",
"Move or copy" : "انتقال یا رونوشت",
+ "Cancelled move or copy of \"{filename}\"." : "Cancelled move or copy of \"{filename}\".",
+ "Cancelled move or copy operation" : "Cancelled move or copy operation",
"Open folder {displayName}" : "باز کردن پوشه {displayName}",
"Open in Files" : "در فایل باز کنید",
- "Open file locally" : "گشودن محلی پرونده",
- "Failed to redirect to client" : "هدایت به مشتری انجام نشد",
"Open locally" : "گشودن محلی",
+ "Failed to redirect to client" : "هدایت به مشتری انجام نشد",
+ "Open file locally" : "گشودن محلی پرونده",
+ "The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "The file should now open on your device. If it doesn't, please check that you have the desktop app installed.",
+ "Retry and close" : "Retry and close",
+ "Open online" : "Open online",
"Rename" : "تغییرنام",
"Open details" : "باز کردن جزئیات",
"View in folder" : "مشاهده در پوشه",
"Today" : "امروز",
"Last 7 days" : "۷ روز گذشته",
"Last 30 days" : "۳۰ روز گذشته",
+ "This year ({year})" : "This year ({year})",
+ "Last year ({year})" : "Last year ({year})",
"Documents" : "سندها",
+ "Spreadsheets" : "Spreadsheets",
+ "Presentations" : "Presentations",
+ "PDFs" : "PDFs",
+ "Folders" : "Folders",
"Audio" : "صدا",
+ "Photos and images" : "Photos and images",
"Videos" : "فیلم ها ",
+ "New folder creation cancelled" : "New folder creation cancelled",
+ "Created new folder \"{name}\"" : "Created new folder \"{name}\"",
"Unable to initialize the templates directory" : "راه اندازی دایرکتوری الگوها ممکن نیست",
+ "Create templates folder" : "Create templates folder",
"Templates" : "قالب‌ها",
+ "New template folder" : "New template folder",
+ "In folder" : "In folder",
+ "Search in folder: {folder}" : "Search in folder: {folder}",
+ "One of the dropped files could not be processed" : "One of the dropped files could not be processed",
+ "Your browser does not support the Filesystem API. Directories will not be uploaded" : "Your browser does not support the Filesystem API. Directories will not be uploaded",
+ "No files to upload" : "No files to upload",
+ "Unable to create the directory {directory}" : "Unable to create the directory {directory}",
+ "Some files could not be uploaded" : "Some files could not be uploaded",
+ "Files uploaded successfully" : "Files uploaded successfully",
+ "No files to process" : "No files to process",
+ "Some files could not be copied" : "Some files could not be copied",
"Some files could not be moved" : "برخی از پرونده‌ها قابل انتقال نیستند",
+ "Files copied successfully" : "Files copied successfully",
+ "Files moved successfully" : "Files moved successfully",
+ "Conflicts resolution skipped" : "Conflicts resolution skipped",
+ "Upload cancelled" : "Upload cancelled",
"This operation is forbidden" : "این عملیات غیرمجاز است",
"This directory is unavailable, please check the logs or contact the administrator" : "پوشه‌ در دسترس نیست، لطفا لاگ‌ها را بررسی کنید یا به مدیر سیستم اطلاع دهید",
"Storage is temporarily not available" : "ذخیره سازی به طور موقت در دسترس نیست",
+ "Unexpected error: {error}" : "Unexpected error: {error}",
"_%n file_::_%n files_" : ["%n فایل","%n فایل"],
"_%n folder_::_%n folders_" : ["%n پوشه","%n پوشه"],
+ "_%n hidden_::_%n hidden_" : ["%n hidden","%n hidden"],
+ "Filename must not be empty." : "Filename must not be empty.",
+ "\"{char}\" is not allowed inside a filename." : "\"{char}\" is not allowed inside a filename.",
+ "\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" is a reserved name and not allowed for filenames.",
+ "\"{extension}\" is not an allowed filetype." : "\"{extension}\" is not an allowed filetype.",
+ "Filenames must not end with \"{extension}\"." : "Filenames must not end with \"{extension}\".",
+ "List of favorite files and folders." : "List of favorite files and folders.",
"No favorites yet" : "هنوز مورد دلخواه وجود ندارد",
"Files and folders you mark as favorite will show up here" : "فایل‌ها و پوشه‌های انتخاب شده به عنوان برگزیده توسط شما، در اینجا نمایش داده می‌شود",
"All files" : "تمامی فایل‌ها",
+ "List of your files and folders." : "List of your files and folders.",
+ "All folders" : "All folders",
"Personal files" : "فایل‌های شخصی",
+ "List of your files and folders that are not shared." : "List of your files and folders that are not shared.",
+ "No personal files found" : "No personal files found",
+ "Files that are not shared will show up here." : "Files that are not shared will show up here.",
"Recent" : "اخیر",
"List of recently modified files and folders." : "فهرست فایل‌ها و پوشه‌هایی که اخیراً اصلاح شده‌اند.",
"No recently modified files" : "هیچ فایلی که اخیراً اصلاح شده است",
@@ -208,13 +377,13 @@ OC.L10N.register(
"An unknown error has occurred" : "خطایی ناشناخته اتفاق افتاده است",
"File could not be uploaded" : "پرونده بارگذاری نشد",
"Uploading …" : "بارگذاری...",
- "{remainingTime} ({currentNumber}/{total})" : "{remainingTime} ({currentNumber}/{total})",
+ "{remainingTime} ({currentNumber}/{total})" : "{remainingTime}({currentNumber} /{total} )",
"Uploading … ({currentNumber}/{total})" : "در حال بارگذاری ... ({currentNumber}/{total})",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} از {totalSize} ({bitrate})",
"Uploading that item is not supported" : "بارگذاری آن مورد پشتیبانی نمی‌شود",
"Error when assembling chunks, status code {status}" : "خطا هنگام جمع آوری قطعه ها، کد وضعیت {status}",
"Choose target folder" : "پوشهٔ هدف را انتخاب کنید",
- "Set reminder" : "Set reminder",
+ "Set reminder" : "تنظیم یادآوری",
"Edit locally" : "ویرایش محلی",
"Open" : "باز کردن",
"Could not load info for file \"{file}\"" : "بارگیری اطلاعات برای پرونده امکان پذیر نیست \"{file}\"",
@@ -227,6 +396,9 @@ OC.L10N.register(
"Could not move \"{file}\", target exists" : "انتقال\"{file}\" امکان پذیر نیست ، هدف وجود دارد",
"Could not move \"{file}\"" : "پروندهٔ \"{file}\" منتقل نمی‌شود",
"copy" : "کپی",
+ "Could not copy \"{file}\", target exists" : "Could not copy \"{file}\", target exists",
+ "Could not copy \"{file}\"" : "Could not copy \"{file}\"",
+ "Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "رونوشت شده از {origin} و {nbfiles} پرونده‌های دیگر در {destination}",
"{newName} already exists" : "{newName} قبلاً موجود است",
"Could not rename \"{fileName}\", it does not exist any more" : "نمی‌توان نام «{fileName}» را تغییر داد، دیگر وجود ندارد",
@@ -261,14 +433,30 @@ OC.L10N.register(
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "حافظه خارجی \"{mountPoint}\" تقریباً پر است ({usedSpacePercent}%).",
"Your storage is almost full ({usedSpacePercent}%)." : "فضای ذخیره‌سازی شما تقریباً پر است ({usedSpacePercent}%).",
"_matches \"{filter}\"_::_match \"{filter}\"_" : ["مطابقت با \"{filter}\"","مطابقت با \"{filter}\""],
+ "Direct link was copied (only works for people who have access to this file/folder)" : "Direct link was copied (only works for people who have access to this file/folder)",
"Path" : "مسیر",
"_%n byte_::_%n bytes_" : ["%n بایت","%n بایت"],
+ "Favored" : "Favored",
+ "Favor" : "Favor",
+ "Copy direct link (only works for people who have access to this file/folder)" : "Copy direct link (only works for people who have access to this file/folder)",
"Upload file" : "بارگذاری پرونده",
+ "Not favored" : "Not favored",
"An error occurred while trying to update the tags" : "یک خطا در حین بروزرسانی برچسب‌ها رخ داده است",
"Upload (max. %s)" : "آپلود (بیشترین سایز %s)",
+ "Submitting fields…" : "Submitting fields…",
+ "Filter filenames…" : "Filter filenames…",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} پوشه","{folderCount} پوشه"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} پرونده","{fileCount} پرونده"],
+ "_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file and {folderCount} folder","1 file and {folderCount} folders"],
+ "_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} file and 1 folder","{fileCount} files and 1 folder"],
+ "{fileCount} files and {folderCount} folders" : "{fileCount} files and {folderCount} folders",
+ "Personal Files" : "Personal Files",
"Text file" : "فایل متنی",
- "New text file.txt" : "پروندهٔ متنی جدید با پسوند txt"
+ "New text file.txt" : "پروندهٔ متنی جدید با پسوند txt",
+ "%1$s (renamed)" : "%1$s (renamed)",
+ "renamed file" : "renamed file",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
+ "{count} files could not be converted" : "{count} files could not be converted",
+ "{count} files successfully converted" : "{count} files successfully converted"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json
index af4a5027093..d4cca468374 100644
--- a/apps/files/l10n/fa.json
+++ b/apps/files/l10n/fa.json
@@ -11,6 +11,7 @@
"Restored by {user}" : "بازیابی شده توسط {user}",
"Renamed by {user}" : "تغییر نام توسط {user}",
"Moved by {user}" : "منتقل شده توسط {user}",
+ "\"remote account\"" : "&quot;حساب از راه دور&quot;",
"You created {file}" : "شما {file} را ایجاد کردید",
"You created an encrypted file in {file}" : "شما یک فایل رمزگذاری شده در {file} ایجاد کردید",
"{user} created {file}" : "{user} {file} را ایجاد کرد",
@@ -40,11 +41,23 @@
"Files" : "پرونده‌ها",
"A file or folder has been <strong>changed</strong>" : "یک فایل یا پوشه تغییر کرده است",
"A favorite file or folder has been <strong>changed</strong>" : "یک فایل یا پوشه مورد علاقه تغییر کرده است",
+ "Failed to authorize" : "مجوز صادر نشد",
+ "Invalid folder path" : "Invalid folder path",
+ "Folder not found" : "Folder not found",
+ "The file cannot be found" : "The file cannot be found",
+ "The destination path does not exist: %1$s" : "The destination path does not exist: %1$s",
+ "You do not have permission to create a file at the specified location" : "You do not have permission to create a file at the specified location",
+ "The file could not be converted." : "The file could not be converted.",
+ "Could not get relative path to converted file" : "Could not get relative path to converted file",
+ "Favorite files" : "Favorite files",
"No favorites" : "هیچ برگزیده",
+ "More favorites" : "More favorites",
"Accept" : "قبول",
"Reject" : "رد کردن",
"Incoming ownership transfer from {user}" : "انتقال مالکیت ورودی از {user}",
"Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "آیا می خواهید {path} را بپذیرید؟\n\nتوجه: فرآیند انتقال پس از پذیرش ممکن است تا 1 ساعت طول بکشد.",
+ "Ownership transfer denied" : "Ownership transfer denied",
+ "Your ownership transfer of {path} was denied by {user}." : "Your ownership transfer of {path} was denied by {user}.",
"Ownership transfer failed" : "انتقال مالکیت ناموفق بود",
"Your ownership transfer of {path} to {user} failed." : "انتقال مالکیت شما از {path} به {user} انجام نشد.",
"The ownership transfer of {path} from {user} failed." : "انتقال مالکیت {path} از {user} انجام نشد.",
@@ -52,42 +65,77 @@
"Your ownership transfer of {path} to {user} has completed." : "انتقال مالکیت شما از {path} به {user} تکمیل شد.",
"The ownership transfer of {path} from {user} has completed." : "انتقال مالکیت {path} از {user} تکمیل شد.",
"in %s" : "در %s",
+ "Transferred from %1$s on %2$s" : "Transferred from %1$s on %2$s",
+ "Files compatibility" : "Files compatibility",
+ "Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed.",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command.",
+ "Enforce Windows compatibility" : "Enforce Windows compatibility",
+ "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity.",
"File Management" : "مدیریت فایل",
"Home" : "خانه",
"Target folder does not exist any more" : "پوشه هدف وجود ندارد",
"Reload current directory" : "دایرکتوری فعلی را دوباره بارگیری کنید",
"Go to the \"{dir}\" directory" : "به دایرکتوری \"{dir}\" بروید",
+ "Current directory path" : "Current directory path",
+ "Your have used your space quota and cannot upload files anymore" : "Your have used your space quota and cannot upload files anymore",
+ "You do not have permission to upload or create files here." : "You do not have permission to upload or create files here.",
"Drag and drop files here to upload" : "برای بارگذاری، فایل‌ها را بکشید و اینجا بیاندازید",
"Favorite" : "برگزیده",
- "Back" : "Back",
+ "Back" : "بازگشت",
+ "Toggle selection for file \"{displayName}\"" : "Toggle selection for file \"{displayName}\"",
+ "Toggle selection for folder \"{displayName}\"" : "Toggle selection for folder \"{displayName}\"",
+ "File is loading" : "File is loading",
+ "Folder is loading" : "Folder is loading",
"Filename" : "نام پرونده",
"Folder name" : "نام پوشه",
"This node is unavailable" : "گره شما در دسترس نیست",
+ "Another entry with the same name already exists." : "Another entry with the same name already exists.",
+ "Invalid filename." : "Invalid filename.",
"Renamed \"{oldName}\" to \"{newName}\"" : "تغییر نام \"{oldName}\" به \"{newName}\"",
"Rename file" : "تغییر نام فایل",
"Folder" : "پوشه",
+ "Unknown file type" : "Unknown file type",
+ "{ext} image" : "{ext} image",
+ "{ext} video" : "{ext} video",
+ "{ext} audio" : "{ext} audio",
+ "{ext} text" : "{ext} text",
"Pending" : "در انتظار",
+ "Unknown date" : "Unknown date",
"Clear filter" : "پاک کردن پالایه",
"Modified" : "تاریخ",
"Type" : "نوع",
- "Active filters" : "Active filters",
- "Remove filter" : "Remove filter",
+ "Active filters" : "فیلترهای فعال",
+ "Remove filter" : "فیلتر را بردارید",
"Total rows summary" : "خلاصه کل ردیف ها",
+ "Toggle selection for all files and folders" : "Toggle selection for all files and folders",
"Name" : "نام",
+ "File type" : "File type",
"Size" : "اندازه",
+ "\"{displayName}\" failed on some elements" : "\"{displayName}\" failed on some elements",
"\"{displayName}\" batch action executed successfully" : "عملکرد دسته‌ای \"{displayName}\" با موفقیت اجرا شد",
"\"{displayName}\" action failed" : "اقدام \"{displayName}\" ناموفق بود",
"Actions" : "فعالیت ها",
+ "(selected)" : "(selected)",
"List of files and folders." : "لیست فایل ها و پوشه ها",
+ "You have used your space quota and cannot upload files anymore." : "You have used your space quota and cannot upload files anymore.",
+ "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" : "فایل یافت نشد",
+ "{count} selected" : "{count} selected",
"{usedQuotaByte} used" : "{usedQuotaByte} استفاده شده است",
"{used} of {quota} used" : "{used} از {quota} استفاده شده",
+ "{relative}% used" : "{relative}% used",
"Could not refresh storage stats" : "نمی‌توان آمار ذخیره‌سازی را بازخوانی کرد",
"Your storage is full, files can not be updated or synced anymore!" : "فضای ذخیره ی شما کاملا پر است، بیش از این فایلها بهنگام یا همگام سازی نمی توانند بشوند!",
+ "Storage information" : "اطلاعات ذخیره‌سازی",
+ "Storage quota" : "محدودیت ذخیره‌سازی",
"New folder" : "پوشه جدید",
"Create new folder" : "ساختن پوشه جدید",
- "Create" : "ساخت",
+ "This name is already in use." : "This name is already in use.",
+ "Create" : "ایجاد",
+ "Fill template fields" : "Fill template fields",
+ "Submitting fields …" : "Submitting fields …",
"Submit" : "ارسال",
"Choose a file or folder to transfer" : "فایل یا پوشه ای را برای انتقال انتخاب کنید",
"Transfer" : "انتقال",
@@ -100,39 +148,84 @@
"Choose file or folder to transfer" : "فایل یا پوشه را برای انتقال انتخاب کنید",
"Change" : "تغییر",
"New owner" : "مالک جدید",
+ "Keep {old}" : "Keep {old}",
+ "Keep without extension" : "Keep without extension",
+ "Use {new}" : "Use {new}",
+ "Remove extension" : "Remove extension",
+ "Change file extension" : "Change file extension",
+ "Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable." : "Changing the file extension from \"{old}\" to \"{new}\" may render the file unreadable.",
+ "Removing the file extension \"{old}\" may render the file unreadable." : "Removing the file extension \"{old}\" may render the file unreadable.",
+ "Adding the file extension \"{new}\" may render the file unreadable." : "Adding the file extension \"{new}\" may render the file unreadable.",
+ "Do not show this dialog again." : "Do not show this dialog again.",
"Select file or folder to link to" : "فایل یا پوشه را برای پیوند انتخاب کنید",
"Choose {file}" : "انتخاب {file}",
"Share" : "اشتراک‌گذاری",
"Shared by link" : "اشتراک گذاشته شده از طریق لینک",
"Shared" : "به اشتراک گذاشته شده ",
- "Switch to list view" : "Switch to list view",
+ "Switch to list view" : "تغییر به نمای لیست",
+ "Switch to grid view" : "Switch to grid view",
+ "The file could not be found" : "The file could not be found",
"Upload was cancelled by user" : "آپلود توسط کاربر لغو شد",
"Not enough free space" : "فضای کافی در دسترس نیست",
"Operation is blocked by access control" : "مدیریت دسترسی، عملیات را متوقف کرد",
+ "Error during upload: {message}" : "Error during upload: {message}",
+ "Error during upload, status code {status}" : "Error during upload, status code {status}",
+ "Unknown error during upload" : "Unknown error during upload",
"\"{displayName}\" action executed successfully" : "عملکرد \"{displayName}\" با موفقیت اجرا شد",
"Loading current folder" : "در حال بارگیری پوشه فعلی",
"Retry" : "تلاش دوباره",
"No files in here" : "هیچ فایلی اینجا وجود ندارد",
"Upload some content or sync with your devices!" : "محتوایی را آپلود کنید یا با دستگاه خود همگام‌سازی کنید!",
"Go back" : "برگرد",
+ "Filter file names …" : "Filter file names …",
"Views" : "بازدیدها",
"Files settings" : "تنظیمات پرونده‌ها",
- "Open in files" : "Open in files",
+ "Your files" : "Your files",
+ "Open in files" : "باز کردن در فایل‌ها",
"File cannot be accessed" : "فایل قابل دسترسی نیست",
+ "The file could not be found or you do not have permissions to view it. Ask the sender to share it." : "The file could not be found or you do not have permissions to view it. Ask the sender to share it.",
"Clipboard is not available" : "کلیپ بورد در دسترس نیست",
"WebDAV URL copied to clipboard" : "URL WebDAV در کلیپ بورد کپی شد",
"Sort favorites first" : "ابتدا موارد دلخواه را مرتب کنید",
+ "Sort folders before files" : "Sort folders before files",
"Show hidden files" : "نمایش پرونده‌های مخفی",
+ "Show file type column" : "Show file type column",
"Crop image previews" : "پیش نمایش تصویر برش",
+ "Enable the grid view" : "Enable the grid view",
+ "Enable folder tree" : "Enable folder tree",
"Additional settings" : "تنظیمات اضافی",
"WebDAV" : "WebDAV",
+ "WebDAV URL" : "WebDAV URL",
"Copy to clipboard" : "کپی به کلیپ بورد",
"Use this address to access your Files via WebDAV" : "از این آدرس برای دسترسی به فایل های خود از طریق WebDAV استفاده کنید",
"If you have enabled 2FA, you must create and use a new app password by clicking here." : "اگر 2FA را فعال کرده اید، باید با کلیک کردن در اینجا یک رمز عبور برنامه جدید ایجاد و استفاده کنید.",
+ "Warnings" : "Warnings",
+ "Prevent warning dialogs from open or reenable them." : "Prevent warning dialogs from open or reenable them.",
+ "Show a warning dialog when changing a file extension." : "Show a warning dialog when changing a file extension.",
"Keyboard shortcuts" : "میان‌برهای صفحه‌کلید",
+ "Speed up your Files experience with these quick shortcuts." : "Speed up your Files experience with these quick shortcuts.",
+ "Open the actions menu for a file" : "Open the actions menu for a file",
+ "Rename a file" : "Rename a file",
+ "Delete a file" : "Delete a file",
+ "Favorite or remove a file from favorites" : "Favorite or remove a file from favorites",
+ "Manage tags for a file" : "Manage tags for a file",
"Selection" : "انتخاب",
+ "Select all files" : "Select all files",
+ "Deselect all files" : "Deselect all files",
+ "Select or deselect a file" : "Select or deselect a file",
+ "Select a range of files" : "Select a range of files",
"Navigation" : "جهت یابی",
+ "Navigate to the parent folder" : "Navigate to the parent folder",
+ "Navigate to the file above" : "Navigate to the file above",
+ "Navigate to the file below" : "Navigate to the file below",
+ "Navigate to the file on the left (in grid mode)" : "Navigate to the file on the left (in grid mode)",
+ "Navigate to the file on the right (in grid mode)" : "Navigate to the file on the right (in grid mode)",
"View" : "نمایش",
+ "Toggle the grid view" : "Toggle the grid view",
+ "Open the sidebar for a file" : "Open the sidebar for a file",
+ "Show those shortcuts" : "Show those shortcuts",
+ "You" : "You",
+ "Shared multiple times with different people" : "Shared multiple times with different people",
"Error while loading the file data" : "خطا هنگام بارگیری داده های فایل",
"Owner" : "مالک",
"Remove from favorites" : "حذف کردن از برگزیده ها",
@@ -143,45 +236,121 @@
"Pick a template for {name}" : "یک الگو برای {name} انتخاب کنید",
"Create a new file with the selected template" : "یک فایل جدید با الگوی انتخاب شده ایجاد کنید",
"Creating file" : "ایجاد فایل",
+ "Save as {displayName}" : "Save as {displayName}",
+ "Save as …" : "Save as …",
+ "Converting files …" : "Converting files …",
+ "Failed to convert files: {message}" : "Failed to convert files: {message}",
+ "All files failed to be converted" : "All files failed to be converted",
+ "One file could not be converted: {message}" : "One file could not be converted: {message}",
+ "_One file could not be converted_::_%n files could not be converted_" : ["One file could not be converted","%n files could not be converted"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["One file successfully converted","%n files successfully converted"],
+ "Files successfully converted" : "Files successfully converted",
+ "Failed to convert files" : "Failed to convert files",
+ "Converting file …" : "Converting file …",
+ "File successfully converted" : "File successfully converted",
+ "Failed to convert file: {message}" : "Failed to convert file: {message}",
+ "Failed to convert file" : "Failed to convert file",
+ "Deletion cancelled" : "Deletion cancelled",
"Leave this share" : "ترک این اشتراک",
+ "Leave these shares" : "Leave these shares",
"Disconnect storage" : "فضای ذخیره را جدا کنید",
+ "Disconnect storages" : "Disconnect storages",
"Delete permanently" : "حذف قطعی",
+ "Delete and unshare" : "Delete and unshare",
"Delete file" : "حذف پرونده",
- "Delete files" : "Delete files",
+ "Delete files" : "حذف فایل‌ها",
"Delete folder" : "حذف پوشه",
+ "Delete folders" : "Delete folders",
"Delete" : "حذف",
+ "_You are about to permanently delete {count} item_::_You are about to permanently delete {count} items_" : ["You are about to permanently delete {count} item","You are about to permanently delete {count} items"],
+ "_You are about to delete {count} item_::_You are about to delete {count} items_" : ["You are about to delete {count} item","You are about to delete {count} items"],
+ "Confirm deletion" : "Confirm deletion",
"Cancel" : "لغو",
+ "Moving \"{source}\" to \"{destination}\" …" : "Moving \"{source}\" to \"{destination}\" …",
+ "Copying \"{source}\" to \"{destination}\" …" : "Copying \"{source}\" to \"{destination}\" …",
+ "You cannot move a file/folder onto itself or into a subfolder of itself" : "You cannot move a file/folder onto itself or into a subfolder of itself",
+ "(copy)" : "(copy)",
+ "(copy %n)" : "(copy %n)",
+ "Move cancelled" : "Move cancelled",
+ "A file or folder with that name already exists in this folder" : "A file or folder with that name already exists in this folder",
+ "The files are locked" : "The files are locked",
+ "The file does not exist anymore" : "The file does not exist anymore",
+ "Choose destination" : "Choose destination",
"Copy to {target}" : "رونوشت به {target}",
"Copy" : "رونوشت",
"Move to {target}" : "جابجایی به {target}",
"Move" : "انتقال",
+ "Move or copy operation failed" : "Move or copy operation failed",
"Move or copy" : "انتقال یا رونوشت",
+ "Cancelled move or copy of \"{filename}\"." : "Cancelled move or copy of \"{filename}\".",
+ "Cancelled move or copy operation" : "Cancelled move or copy operation",
"Open folder {displayName}" : "باز کردن پوشه {displayName}",
"Open in Files" : "در فایل باز کنید",
- "Open file locally" : "گشودن محلی پرونده",
- "Failed to redirect to client" : "هدایت به مشتری انجام نشد",
"Open locally" : "گشودن محلی",
+ "Failed to redirect to client" : "هدایت به مشتری انجام نشد",
+ "Open file locally" : "گشودن محلی پرونده",
+ "The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "The file should now open on your device. If it doesn't, please check that you have the desktop app installed.",
+ "Retry and close" : "Retry and close",
+ "Open online" : "Open online",
"Rename" : "تغییرنام",
"Open details" : "باز کردن جزئیات",
"View in folder" : "مشاهده در پوشه",
"Today" : "امروز",
"Last 7 days" : "۷ روز گذشته",
"Last 30 days" : "۳۰ روز گذشته",
+ "This year ({year})" : "This year ({year})",
+ "Last year ({year})" : "Last year ({year})",
"Documents" : "سندها",
+ "Spreadsheets" : "Spreadsheets",
+ "Presentations" : "Presentations",
+ "PDFs" : "PDFs",
+ "Folders" : "Folders",
"Audio" : "صدا",
+ "Photos and images" : "Photos and images",
"Videos" : "فیلم ها ",
+ "New folder creation cancelled" : "New folder creation cancelled",
+ "Created new folder \"{name}\"" : "Created new folder \"{name}\"",
"Unable to initialize the templates directory" : "راه اندازی دایرکتوری الگوها ممکن نیست",
+ "Create templates folder" : "Create templates folder",
"Templates" : "قالب‌ها",
+ "New template folder" : "New template folder",
+ "In folder" : "In folder",
+ "Search in folder: {folder}" : "Search in folder: {folder}",
+ "One of the dropped files could not be processed" : "One of the dropped files could not be processed",
+ "Your browser does not support the Filesystem API. Directories will not be uploaded" : "Your browser does not support the Filesystem API. Directories will not be uploaded",
+ "No files to upload" : "No files to upload",
+ "Unable to create the directory {directory}" : "Unable to create the directory {directory}",
+ "Some files could not be uploaded" : "Some files could not be uploaded",
+ "Files uploaded successfully" : "Files uploaded successfully",
+ "No files to process" : "No files to process",
+ "Some files could not be copied" : "Some files could not be copied",
"Some files could not be moved" : "برخی از پرونده‌ها قابل انتقال نیستند",
+ "Files copied successfully" : "Files copied successfully",
+ "Files moved successfully" : "Files moved successfully",
+ "Conflicts resolution skipped" : "Conflicts resolution skipped",
+ "Upload cancelled" : "Upload cancelled",
"This operation is forbidden" : "این عملیات غیرمجاز است",
"This directory is unavailable, please check the logs or contact the administrator" : "پوشه‌ در دسترس نیست، لطفا لاگ‌ها را بررسی کنید یا به مدیر سیستم اطلاع دهید",
"Storage is temporarily not available" : "ذخیره سازی به طور موقت در دسترس نیست",
+ "Unexpected error: {error}" : "Unexpected error: {error}",
"_%n file_::_%n files_" : ["%n فایل","%n فایل"],
"_%n folder_::_%n folders_" : ["%n پوشه","%n پوشه"],
+ "_%n hidden_::_%n hidden_" : ["%n hidden","%n hidden"],
+ "Filename must not be empty." : "Filename must not be empty.",
+ "\"{char}\" is not allowed inside a filename." : "\"{char}\" is not allowed inside a filename.",
+ "\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" is a reserved name and not allowed for filenames.",
+ "\"{extension}\" is not an allowed filetype." : "\"{extension}\" is not an allowed filetype.",
+ "Filenames must not end with \"{extension}\"." : "Filenames must not end with \"{extension}\".",
+ "List of favorite files and folders." : "List of favorite files and folders.",
"No favorites yet" : "هنوز مورد دلخواه وجود ندارد",
"Files and folders you mark as favorite will show up here" : "فایل‌ها و پوشه‌های انتخاب شده به عنوان برگزیده توسط شما، در اینجا نمایش داده می‌شود",
"All files" : "تمامی فایل‌ها",
+ "List of your files and folders." : "List of your files and folders.",
+ "All folders" : "All folders",
"Personal files" : "فایل‌های شخصی",
+ "List of your files and folders that are not shared." : "List of your files and folders that are not shared.",
+ "No personal files found" : "No personal files found",
+ "Files that are not shared will show up here." : "Files that are not shared will show up here.",
"Recent" : "اخیر",
"List of recently modified files and folders." : "فهرست فایل‌ها و پوشه‌هایی که اخیراً اصلاح شده‌اند.",
"No recently modified files" : "هیچ فایلی که اخیراً اصلاح شده است",
@@ -206,13 +375,13 @@
"An unknown error has occurred" : "خطایی ناشناخته اتفاق افتاده است",
"File could not be uploaded" : "پرونده بارگذاری نشد",
"Uploading …" : "بارگذاری...",
- "{remainingTime} ({currentNumber}/{total})" : "{remainingTime} ({currentNumber}/{total})",
+ "{remainingTime} ({currentNumber}/{total})" : "{remainingTime}({currentNumber} /{total} )",
"Uploading … ({currentNumber}/{total})" : "در حال بارگذاری ... ({currentNumber}/{total})",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} از {totalSize} ({bitrate})",
"Uploading that item is not supported" : "بارگذاری آن مورد پشتیبانی نمی‌شود",
"Error when assembling chunks, status code {status}" : "خطا هنگام جمع آوری قطعه ها، کد وضعیت {status}",
"Choose target folder" : "پوشهٔ هدف را انتخاب کنید",
- "Set reminder" : "Set reminder",
+ "Set reminder" : "تنظیم یادآوری",
"Edit locally" : "ویرایش محلی",
"Open" : "باز کردن",
"Could not load info for file \"{file}\"" : "بارگیری اطلاعات برای پرونده امکان پذیر نیست \"{file}\"",
@@ -225,6 +394,9 @@
"Could not move \"{file}\", target exists" : "انتقال\"{file}\" امکان پذیر نیست ، هدف وجود دارد",
"Could not move \"{file}\"" : "پروندهٔ \"{file}\" منتقل نمی‌شود",
"copy" : "کپی",
+ "Could not copy \"{file}\", target exists" : "Could not copy \"{file}\", target exists",
+ "Could not copy \"{file}\"" : "Could not copy \"{file}\"",
+ "Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "رونوشت شده از {origin} و {nbfiles} پرونده‌های دیگر در {destination}",
"{newName} already exists" : "{newName} قبلاً موجود است",
"Could not rename \"{fileName}\", it does not exist any more" : "نمی‌توان نام «{fileName}» را تغییر داد، دیگر وجود ندارد",
@@ -259,14 +431,30 @@
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "حافظه خارجی \"{mountPoint}\" تقریباً پر است ({usedSpacePercent}%).",
"Your storage is almost full ({usedSpacePercent}%)." : "فضای ذخیره‌سازی شما تقریباً پر است ({usedSpacePercent}%).",
"_matches \"{filter}\"_::_match \"{filter}\"_" : ["مطابقت با \"{filter}\"","مطابقت با \"{filter}\""],
+ "Direct link was copied (only works for people who have access to this file/folder)" : "Direct link was copied (only works for people who have access to this file/folder)",
"Path" : "مسیر",
"_%n byte_::_%n bytes_" : ["%n بایت","%n بایت"],
+ "Favored" : "Favored",
+ "Favor" : "Favor",
+ "Copy direct link (only works for people who have access to this file/folder)" : "Copy direct link (only works for people who have access to this file/folder)",
"Upload file" : "بارگذاری پرونده",
+ "Not favored" : "Not favored",
"An error occurred while trying to update the tags" : "یک خطا در حین بروزرسانی برچسب‌ها رخ داده است",
"Upload (max. %s)" : "آپلود (بیشترین سایز %s)",
+ "Submitting fields…" : "Submitting fields…",
+ "Filter filenames…" : "Filter filenames…",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} پوشه","{folderCount} پوشه"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} پرونده","{fileCount} پرونده"],
+ "_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file and {folderCount} folder","1 file and {folderCount} folders"],
+ "_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} file and 1 folder","{fileCount} files and 1 folder"],
+ "{fileCount} files and {folderCount} folders" : "{fileCount} files and {folderCount} folders",
+ "Personal Files" : "Personal Files",
"Text file" : "فایل متنی",
- "New text file.txt" : "پروندهٔ متنی جدید با پسوند txt"
+ "New text file.txt" : "پروندهٔ متنی جدید با پسوند txt",
+ "%1$s (renamed)" : "%1$s (renamed)",
+ "renamed file" : "renamed file",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.",
+ "{count} files could not be converted" : "{count} files could not be converted",
+ "{count} files successfully converted" : "{count} files successfully converted"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js
index 4c419f2e482..91ff67eb0e2 100644
--- a/apps/files/l10n/fi.js
+++ b/apps/files/l10n/fi.js
@@ -87,6 +87,11 @@ OC.L10N.register(
"Renamed \"{oldName}\" to \"{newName}\"" : "Kohteen \"{oldName}\" uudeksi nimeksi asetettiin \"{newName}\"",
"Rename file" : "Nimeä tiedosto uudelleen",
"Folder" : "Kansio",
+ "Unknown file type" : "Tuntematon tiedostotyyppi",
+ "{ext} image" : "{ext} kuva",
+ "{ext} video" : "{ext} video",
+ "{ext} audio" : "{ext} ääni",
+ "{ext} text" : "{ext} teksti",
"Pending" : "Odottaa",
"Unknown date" : "Tuntematon päivämäärä",
"Clear filter" : "Tyhjennä suodatin",
@@ -95,6 +100,7 @@ OC.L10N.register(
"Active filters" : "Aktiiviset suodattimet",
"Remove filter" : "Poista suodatin",
"Name" : "Nimi",
+ "File type" : "Tiedoston tyyppi",
"Size" : "Koko",
"\"{displayName}\" batch action executed successfully" : "\"{displayName}\" massatoiminto suoritettu",
"Actions" : "Toiminnot",
@@ -164,6 +170,7 @@ OC.L10N.register(
"Sort favorites first" : "Järjestä suosikit ensiksi",
"Sort folders before files" : "Järjestä kansiot ennen tiedostoja",
"Show hidden files" : "Näytä piilotetut tiedostot",
+ "Show file type column" : "Näytä tiedostotyypin sarake",
"Crop image previews" : "Rajaa kuvien esikatseluja",
"Enable the grid view" : "Käytä ruudukkonäkymää",
"Enable folder tree" : "Ota kansiopuu käyttöön",
@@ -244,10 +251,10 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Siirto- tai kopiointitoiminto peruttu",
"Open folder {displayName}" : "Avaa kansio {displayName}",
"Open in Files" : "Avaa tiedostosovelluksessa",
+ "Open locally" : "Avaa paikallisesti",
+ "Failed to redirect to client" : "Uudelleenohjaus asiakkaaseen epäonnistui",
"Open file locally" : "Avaa tiedosto paikallisesti",
"Retry and close" : "Yritä uudelleen ja sulje",
- "Failed to redirect to client" : "Uudelleenohjaus asiakkaaseen epäonnistui",
- "Open locally" : "Avaa paikallisesti",
"Rename" : "Nimeä uudelleen",
"Open details" : "Avaa yksityiskohdat",
"View in folder" : "Näe kansiossa",
@@ -290,6 +297,7 @@ OC.L10N.register(
"Unexpected error: {error}" : "Odottamaton virhe: {error}",
"_%n file_::_%n files_" : ["%n tiedosto","%n tiedostoa"],
"_%n folder_::_%n folders_" : ["%n kansio","%n kansiota"],
+ "_%n hidden_::_%n hidden_" : ["%n piilotettu","%n piilotettua"],
"Filename must not be empty." : "Tiedostonimi ei voi olla tyhjä.",
"\"{char}\" is not allowed inside a filename." : "\"{char}\" ei ole sallittu tiedoston nimessä.",
"\"{extension}\" is not an allowed filetype." : "\"{extension}\" ei ole sallitttu tiedostotyyppi.",
@@ -393,7 +401,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Lähetys (enintään %s)",
"Submitting fields…" : "Lähetetään tietoja...",
"Filter filenames…" : "Suodata tiedostonimiä...",
- "Edit file locally" : "Muokkaa tiedostoa paikallisesti",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} kansio","{folderCount} kansiota"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} tiedosto","{fileCount} tiedostoa"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 tiedosto ja {folderCount} kansio","1 tiedosto ja {folderCount} kansiota"],
@@ -402,6 +409,7 @@ OC.L10N.register(
"Personal Files" : "Henkilökohtaiset tiedostot",
"Text file" : "Tekstitiedosto",
"New text file.txt" : "Uusi tekstitiedosto.txt",
+ "%1$s (renamed)" : "%1$s (nimetty uudelleen)",
"{count} files could not be converted" : "{count} tiedostoa ei voitu muuntaa",
"{count} files successfully converted" : "{count} tiedostoa muunnettu onnistuneesti"
},
diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json
index fad7ebafc6e..86e0f1dd414 100644
--- a/apps/files/l10n/fi.json
+++ b/apps/files/l10n/fi.json
@@ -85,6 +85,11 @@
"Renamed \"{oldName}\" to \"{newName}\"" : "Kohteen \"{oldName}\" uudeksi nimeksi asetettiin \"{newName}\"",
"Rename file" : "Nimeä tiedosto uudelleen",
"Folder" : "Kansio",
+ "Unknown file type" : "Tuntematon tiedostotyyppi",
+ "{ext} image" : "{ext} kuva",
+ "{ext} video" : "{ext} video",
+ "{ext} audio" : "{ext} ääni",
+ "{ext} text" : "{ext} teksti",
"Pending" : "Odottaa",
"Unknown date" : "Tuntematon päivämäärä",
"Clear filter" : "Tyhjennä suodatin",
@@ -93,6 +98,7 @@
"Active filters" : "Aktiiviset suodattimet",
"Remove filter" : "Poista suodatin",
"Name" : "Nimi",
+ "File type" : "Tiedoston tyyppi",
"Size" : "Koko",
"\"{displayName}\" batch action executed successfully" : "\"{displayName}\" massatoiminto suoritettu",
"Actions" : "Toiminnot",
@@ -162,6 +168,7 @@
"Sort favorites first" : "Järjestä suosikit ensiksi",
"Sort folders before files" : "Järjestä kansiot ennen tiedostoja",
"Show hidden files" : "Näytä piilotetut tiedostot",
+ "Show file type column" : "Näytä tiedostotyypin sarake",
"Crop image previews" : "Rajaa kuvien esikatseluja",
"Enable the grid view" : "Käytä ruudukkonäkymää",
"Enable folder tree" : "Ota kansiopuu käyttöön",
@@ -242,10 +249,10 @@
"Cancelled move or copy operation" : "Siirto- tai kopiointitoiminto peruttu",
"Open folder {displayName}" : "Avaa kansio {displayName}",
"Open in Files" : "Avaa tiedostosovelluksessa",
+ "Open locally" : "Avaa paikallisesti",
+ "Failed to redirect to client" : "Uudelleenohjaus asiakkaaseen epäonnistui",
"Open file locally" : "Avaa tiedosto paikallisesti",
"Retry and close" : "Yritä uudelleen ja sulje",
- "Failed to redirect to client" : "Uudelleenohjaus asiakkaaseen epäonnistui",
- "Open locally" : "Avaa paikallisesti",
"Rename" : "Nimeä uudelleen",
"Open details" : "Avaa yksityiskohdat",
"View in folder" : "Näe kansiossa",
@@ -288,6 +295,7 @@
"Unexpected error: {error}" : "Odottamaton virhe: {error}",
"_%n file_::_%n files_" : ["%n tiedosto","%n tiedostoa"],
"_%n folder_::_%n folders_" : ["%n kansio","%n kansiota"],
+ "_%n hidden_::_%n hidden_" : ["%n piilotettu","%n piilotettua"],
"Filename must not be empty." : "Tiedostonimi ei voi olla tyhjä.",
"\"{char}\" is not allowed inside a filename." : "\"{char}\" ei ole sallittu tiedoston nimessä.",
"\"{extension}\" is not an allowed filetype." : "\"{extension}\" ei ole sallitttu tiedostotyyppi.",
@@ -391,7 +399,6 @@
"Upload (max. %s)" : "Lähetys (enintään %s)",
"Submitting fields…" : "Lähetetään tietoja...",
"Filter filenames…" : "Suodata tiedostonimiä...",
- "Edit file locally" : "Muokkaa tiedostoa paikallisesti",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} kansio","{folderCount} kansiota"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} tiedosto","{fileCount} tiedostoa"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 tiedosto ja {folderCount} kansio","1 tiedosto ja {folderCount} kansiota"],
@@ -400,6 +407,7 @@
"Personal Files" : "Henkilökohtaiset tiedostot",
"Text file" : "Tekstitiedosto",
"New text file.txt" : "Uusi tekstitiedosto.txt",
+ "%1$s (renamed)" : "%1$s (nimetty uudelleen)",
"{count} files could not be converted" : "{count} tiedostoa ei voitu muuntaa",
"{count} files successfully converted" : "{count} tiedostoa muunnettu onnistuneesti"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 20142bbebf2..7a03d199e85 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Opération de déplacement ou de copie annulée",
"Open folder {displayName}" : "Ouvrir le dossier {displayName}",
"Open in Files" : "Ouvrir dans Fichiers",
+ "Open locally" : "Ouvrir localement",
+ "Failed to redirect to client" : "Échec de la redirection vers le client",
"Open file locally" : "Ouvrir le fichier localement",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Le fichier devrait maintenant s'ouvrir sur votre appareil. Si ce n'est pas le cas, vérifiez que vous avez installé l'application de bureau.",
"Retry and close" : "Réessayer et fermer",
"Open online" : "Ouvrir en ligne",
- "Failed to redirect to client" : "Échec de la redirection vers le client",
- "Open locally" : "Ouvrir localement",
"Rename" : "Renommer",
"Open details" : "Ouvrir les détails",
"View in folder" : "Afficher dans le dossier",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Envoi (max. %s)",
"Submitting fields…" : "Validation des champs...",
"Filter filenames…" : "Filtrer par nom de fichier…",
- "Edit file locally" : "Éditer le fichier localement",
- "Edit online" : "Éditer en ligne",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} dossier","{folderCount} dossiers","{folderCount} dossiers"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fichier","{fileCount} fichiers","{fileCount} fichiers"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fichier et {folderCount} dossier","1 fichier et {folderCount} dossiers","1 fichier et {folderCount} dossiers"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Fichiers personnels",
"Text file" : "Fichier texte",
"New text file.txt" : "Nouveau fichier texte.txt",
+ "%1$s (renamed)" : "%1$s (renommé)",
+ "renamed file" : "fichier renommé",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Après avoir activé les noms de fichiers compatibles Windows, les fichiers existants ne peuvent plus être modifiés, mais peuvent être renommés avec des noms valides par leur propriétaire.",
"{count} files could not be converted" : "{count}fichier n'a pas pu être converti",
"{count} files successfully converted" : "{count}fichier converti avec succès"
},
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index af4f5f70116..7485b1c5749 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Opération de déplacement ou de copie annulée",
"Open folder {displayName}" : "Ouvrir le dossier {displayName}",
"Open in Files" : "Ouvrir dans Fichiers",
+ "Open locally" : "Ouvrir localement",
+ "Failed to redirect to client" : "Échec de la redirection vers le client",
"Open file locally" : "Ouvrir le fichier localement",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Le fichier devrait maintenant s'ouvrir sur votre appareil. Si ce n'est pas le cas, vérifiez que vous avez installé l'application de bureau.",
"Retry and close" : "Réessayer et fermer",
"Open online" : "Ouvrir en ligne",
- "Failed to redirect to client" : "Échec de la redirection vers le client",
- "Open locally" : "Ouvrir localement",
"Rename" : "Renommer",
"Open details" : "Ouvrir les détails",
"View in folder" : "Afficher dans le dossier",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Envoi (max. %s)",
"Submitting fields…" : "Validation des champs...",
"Filter filenames…" : "Filtrer par nom de fichier…",
- "Edit file locally" : "Éditer le fichier localement",
- "Edit online" : "Éditer en ligne",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} dossier","{folderCount} dossiers","{folderCount} dossiers"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fichier","{fileCount} fichiers","{fileCount} fichiers"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fichier et {folderCount} dossier","1 fichier et {folderCount} dossiers","1 fichier et {folderCount} dossiers"],
@@ -453,6 +451,9 @@
"Personal Files" : "Fichiers personnels",
"Text file" : "Fichier texte",
"New text file.txt" : "Nouveau fichier texte.txt",
+ "%1$s (renamed)" : "%1$s (renommé)",
+ "renamed file" : "fichier renommé",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Après avoir activé les noms de fichiers compatibles Windows, les fichiers existants ne peuvent plus être modifiés, mais peuvent être renommés avec des noms valides par leur propriétaire.",
"{count} files could not be converted" : "{count}fichier n'a pas pu être converti",
"{count} files successfully converted" : "{count}fichier converti avec succès"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
diff --git a/apps/files/l10n/ga.js b/apps/files/l10n/ga.js
index e08c16d1f7e..0aca93f958f 100644
--- a/apps/files/l10n/ga.js
+++ b/apps/files/l10n/ga.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Oibríocht aistrithe nó cóipeála curtha ar ceal",
"Open folder {displayName}" : "Oscail fillteán {displayName}",
"Open in Files" : "Oscail i Comhaid",
+ "Open locally" : "Oscail go háitiúil",
+ "Failed to redirect to client" : "Theip ar atreorú chuig an gcliant",
"Open file locally" : "Oscail comhad go háitiúil",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Ba cheart an comhad a oscailt anois ar do ghléas. Mura ndéanann sé, seiceáil le do thoil go bhfuil an aip deisce suiteáilte agat.",
"Retry and close" : "Bain triail eile as agus dún",
"Open online" : "Oscail ar líne",
- "Failed to redirect to client" : "Theip ar atreorú chuig an gcliant",
- "Open locally" : "Oscail go háitiúil",
"Rename" : "Athainmnigh",
"Open details" : "Sonraí oscailte",
"View in folder" : "Amharc san fhillteán",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Uaslódáil (%s ar a mhéad)",
"Submitting fields…" : "Réimsí á gcur isteach…",
"Filter filenames…" : "Scag ainmneacha comhaid…",
- "Edit file locally" : "Cuir an comhad in eagar go háitiúil",
- "Edit online" : "Cuir in eagar ar líne",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} fillteán","{folderCount} fillteáin","{folderCount} fillteáin","{folderCount} fillteáin","{folderCount} fillteáin"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} comhad","{fileCount} comhaid","{fileCount} comhaid","{fileCount} comhaid","{fileCount} comhaid"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 chomhad agus {folderCount} fillteán","1 chomhad agus {folderCount} fillteáin","1 chomhad agus {folderCount} fillteáin","1 chomhad agus {folderCount} fillteáin","1 chomhad agus {folderCount} fillteáin"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Comhaid Phearsanta",
"Text file" : "Comhad téacs",
"New text file.txt" : "Comhad téacs nua.txt",
+ "%1$s (renamed)" : "%1$s (athainmnithe)",
+ "renamed file" : "comhad athainmnithe",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Tar éis na hainmneacha comhad atá comhoiriúnach le Windows a chumasú, ní féidir comhaid atá ann cheana a mhodhnú a thuilleadh ach is féidir lena n-úinéir iad a athainmniú go hainmneacha nua bailí.",
"{count} files could not be converted" : "{count} níorbh fhéidir comhaid a thiontú",
"{count} files successfully converted" : "{count} comhaid a thiontú go rathúil"
},
diff --git a/apps/files/l10n/ga.json b/apps/files/l10n/ga.json
index acc3249e017..d8fa2048c0a 100644
--- a/apps/files/l10n/ga.json
+++ b/apps/files/l10n/ga.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Oibríocht aistrithe nó cóipeála curtha ar ceal",
"Open folder {displayName}" : "Oscail fillteán {displayName}",
"Open in Files" : "Oscail i Comhaid",
+ "Open locally" : "Oscail go háitiúil",
+ "Failed to redirect to client" : "Theip ar atreorú chuig an gcliant",
"Open file locally" : "Oscail comhad go háitiúil",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Ba cheart an comhad a oscailt anois ar do ghléas. Mura ndéanann sé, seiceáil le do thoil go bhfuil an aip deisce suiteáilte agat.",
"Retry and close" : "Bain triail eile as agus dún",
"Open online" : "Oscail ar líne",
- "Failed to redirect to client" : "Theip ar atreorú chuig an gcliant",
- "Open locally" : "Oscail go háitiúil",
"Rename" : "Athainmnigh",
"Open details" : "Sonraí oscailte",
"View in folder" : "Amharc san fhillteán",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Uaslódáil (%s ar a mhéad)",
"Submitting fields…" : "Réimsí á gcur isteach…",
"Filter filenames…" : "Scag ainmneacha comhaid…",
- "Edit file locally" : "Cuir an comhad in eagar go háitiúil",
- "Edit online" : "Cuir in eagar ar líne",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} fillteán","{folderCount} fillteáin","{folderCount} fillteáin","{folderCount} fillteáin","{folderCount} fillteáin"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} comhad","{fileCount} comhaid","{fileCount} comhaid","{fileCount} comhaid","{fileCount} comhaid"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 chomhad agus {folderCount} fillteán","1 chomhad agus {folderCount} fillteáin","1 chomhad agus {folderCount} fillteáin","1 chomhad agus {folderCount} fillteáin","1 chomhad agus {folderCount} fillteáin"],
@@ -453,6 +451,9 @@
"Personal Files" : "Comhaid Phearsanta",
"Text file" : "Comhad téacs",
"New text file.txt" : "Comhad téacs nua.txt",
+ "%1$s (renamed)" : "%1$s (athainmnithe)",
+ "renamed file" : "comhad athainmnithe",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Tar éis na hainmneacha comhad atá comhoiriúnach le Windows a chumasú, ní féidir comhaid atá ann cheana a mhodhnú a thuilleadh ach is féidir lena n-úinéir iad a athainmniú go hainmneacha nua bailí.",
"{count} files could not be converted" : "{count} níorbh fhéidir comhaid a thiontú",
"{count} files successfully converted" : "{count} comhaid a thiontú go rathúil"
},"pluralForm" :"nplurals=5; plural=(n==1 ? 0 : n==2 ? 1 : n<7 ? 2 : n<11 ? 3 : 4);"
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index c352a853798..bcd590765b6 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -277,12 +277,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Foi cancelada a operación de movemento ou copia",
"Open folder {displayName}" : "Abrir o cartafol {displayName}",
"Open in Files" : "Abrir en Ficheiros",
+ "Open locally" : "Abrir localmente",
+ "Failed to redirect to client" : "Produciuse un fallo ao redirixir ao cliente",
"Open file locally" : "Abrir o ficheiro localmente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "O ficheiro debería abrirse agora no seu dispositivo. Se non é así, comprobe se ten instalada a aplicación de escritorio.",
"Retry and close" : "Tentar de novo e pechar",
"Open online" : "Abrir en liña",
- "Failed to redirect to client" : "Produciuse un fallo ao redirixir ao cliente",
- "Open locally" : "Abrir localmente",
"Rename" : "Cambiar o nome",
"Open details" : "Abrir detalles",
"View in folder" : "Ver no cartafol",
@@ -433,8 +433,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Envío (máx. %s)",
"Submitting fields…" : "Enviando os campos...",
"Filter filenames…" : "Filtrar os nomes de ficheiro…",
- "Edit file locally" : "Editar o ficheiro localmente",
- "Edit online" : "Editar en liña",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} cartafol","{folderCount} cartafoles"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} ficheiro","{fileCount} ficheiros"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ficheiro e {folderCount} cartafol","1 ficheiro e {folderCount} cartafoles"],
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index 88363ce23bc..bcb6369d52d 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -275,12 +275,12 @@
"Cancelled move or copy operation" : "Foi cancelada a operación de movemento ou copia",
"Open folder {displayName}" : "Abrir o cartafol {displayName}",
"Open in Files" : "Abrir en Ficheiros",
+ "Open locally" : "Abrir localmente",
+ "Failed to redirect to client" : "Produciuse un fallo ao redirixir ao cliente",
"Open file locally" : "Abrir o ficheiro localmente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "O ficheiro debería abrirse agora no seu dispositivo. Se non é así, comprobe se ten instalada a aplicación de escritorio.",
"Retry and close" : "Tentar de novo e pechar",
"Open online" : "Abrir en liña",
- "Failed to redirect to client" : "Produciuse un fallo ao redirixir ao cliente",
- "Open locally" : "Abrir localmente",
"Rename" : "Cambiar o nome",
"Open details" : "Abrir detalles",
"View in folder" : "Ver no cartafol",
@@ -431,8 +431,6 @@
"Upload (max. %s)" : "Envío (máx. %s)",
"Submitting fields…" : "Enviando os campos...",
"Filter filenames…" : "Filtrar os nomes de ficheiro…",
- "Edit file locally" : "Editar o ficheiro localmente",
- "Edit online" : "Editar en liña",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} cartafol","{folderCount} cartafoles"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} ficheiro","{fileCount} ficheiros"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ficheiro e {folderCount} cartafol","1 ficheiro e {folderCount} cartafoles"],
diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js
index a07747091f7..eaed162caac 100644
--- a/apps/files/l10n/hu.js
+++ b/apps/files/l10n/hu.js
@@ -264,11 +264,11 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Az áthelyezés vagy másolás művelet megszakítva",
"Open folder {displayName}" : "A(z) {displayName} mappa megnyitása",
"Open in Files" : "Megnyitás a Fájlokban",
+ "Open locally" : "Megnyitás helyben",
+ "Failed to redirect to client" : "Nem sikerült az átirányítás a klienshez",
"Open file locally" : "A fájl megnyitása helyben",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "A fájlnak most már meg kellene nyílni az eszközén. Ha mégsem, ellenőrizze, hogy telepítve van-e az asztali alkalmazás.",
"Retry and close" : "Újrapróbálás és bezárás",
- "Failed to redirect to client" : "Nem sikerült az átirányítás a klienshez",
- "Open locally" : "Megnyitás helyben",
"Rename" : "Átnevezés",
"Open details" : "Részletek megnyitása",
"View in folder" : "Megtekintés mappában",
@@ -419,8 +419,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Feltöltés (legfeljebb %s)",
"Submitting fields…" : "Mezők beküldése…",
"Filter filenames…" : "Fájlnevek szűrése…",
- "Edit file locally" : "Fájl helyi szerkesztése",
- "Edit online" : "Online szerkesztés",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mappa","{folderCount} mappa"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fájl","{fileCount} fájl"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fájl és {folderCount} mappa","1 fájl és {folderCount} mappa"],
diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json
index f396814aa2b..f00a3f35eb3 100644
--- a/apps/files/l10n/hu.json
+++ b/apps/files/l10n/hu.json
@@ -262,11 +262,11 @@
"Cancelled move or copy operation" : "Az áthelyezés vagy másolás művelet megszakítva",
"Open folder {displayName}" : "A(z) {displayName} mappa megnyitása",
"Open in Files" : "Megnyitás a Fájlokban",
+ "Open locally" : "Megnyitás helyben",
+ "Failed to redirect to client" : "Nem sikerült az átirányítás a klienshez",
"Open file locally" : "A fájl megnyitása helyben",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "A fájlnak most már meg kellene nyílni az eszközén. Ha mégsem, ellenőrizze, hogy telepítve van-e az asztali alkalmazás.",
"Retry and close" : "Újrapróbálás és bezárás",
- "Failed to redirect to client" : "Nem sikerült az átirányítás a klienshez",
- "Open locally" : "Megnyitás helyben",
"Rename" : "Átnevezés",
"Open details" : "Részletek megnyitása",
"View in folder" : "Megtekintés mappában",
@@ -417,8 +417,6 @@
"Upload (max. %s)" : "Feltöltés (legfeljebb %s)",
"Submitting fields…" : "Mezők beküldése…",
"Filter filenames…" : "Fájlnevek szűrése…",
- "Edit file locally" : "Fájl helyi szerkesztése",
- "Edit online" : "Online szerkesztés",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mappa","{folderCount} mappa"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fájl","{fileCount} fájl"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fájl és {folderCount} mappa","1 fájl és {folderCount} mappa"],
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 396e17102d2..75cccd78118 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -263,9 +263,9 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Hætti við aðgerð við að færa eða afrita",
"Open folder {displayName}" : "Opna möppu {displayName}",
"Open in Files" : "Opna í skráaforritinu",
+ "Failed to redirect to client" : "Mistókst að endurbeina til biðlara",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Skráin ætti núna að opnast á tækinu þínu. Ef það gerist ekki, ættirðu að ganga úr skugga um að þú sért með vinnutölvuforritið uppsett.",
"Retry and close" : "Prófa aftur og loka",
- "Failed to redirect to client" : "Mistókst að endurbeina til biðlara",
"Rename" : "Endurnefna",
"Open details" : "Opna nánari upplýsingar",
"View in folder" : "Skoða í möppu",
@@ -416,8 +416,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Senda inn (hám. %s)",
"Submitting fields…" : "Sendi inn gögn úr reitum…",
"Filter filenames…" : "Sía skráaheiti…",
- "Edit file locally" : "Breyta skrá á tölvunni",
- "Edit online" : "Breyta á netinu",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mappa","{folderCount} möppur"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} skrá","{fileCount} skrár"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 skrá og {folderCount} mappa","1 skrá og {folderCount} möppur"],
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 4da31a7d937..0dcd0432f49 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -261,9 +261,9 @@
"Cancelled move or copy operation" : "Hætti við aðgerð við að færa eða afrita",
"Open folder {displayName}" : "Opna möppu {displayName}",
"Open in Files" : "Opna í skráaforritinu",
+ "Failed to redirect to client" : "Mistókst að endurbeina til biðlara",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Skráin ætti núna að opnast á tækinu þínu. Ef það gerist ekki, ættirðu að ganga úr skugga um að þú sért með vinnutölvuforritið uppsett.",
"Retry and close" : "Prófa aftur og loka",
- "Failed to redirect to client" : "Mistókst að endurbeina til biðlara",
"Rename" : "Endurnefna",
"Open details" : "Opna nánari upplýsingar",
"View in folder" : "Skoða í möppu",
@@ -414,8 +414,6 @@
"Upload (max. %s)" : "Senda inn (hám. %s)",
"Submitting fields…" : "Sendi inn gögn úr reitum…",
"Filter filenames…" : "Sía skráaheiti…",
- "Edit file locally" : "Breyta skrá á tölvunni",
- "Edit online" : "Breyta á netinu",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mappa","{folderCount} möppur"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} skrá","{fileCount} skrár"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 skrá og {folderCount} mappa","1 skrá og {folderCount} möppur"],
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index e189cf4673a..04252175d75 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Operazione di spostamento o copia annullata",
"Open folder {displayName}" : "Apri la cartella {displayName}",
"Open in Files" : "Apri in File",
+ "Open locally" : "Aprire localmente",
+ "Failed to redirect to client" : "Reindirizzamento al client non riuscito",
"Open file locally" : "Apri file localmente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Il file dovrebbe ora aprirsi sul tuo dispositivo. In caso contrario, controlla di aver installato l'app desktop.",
"Retry and close" : "Riprova e chiudi",
"Open online" : "Apri online",
- "Failed to redirect to client" : "Reindirizzamento al client non riuscito",
- "Open locally" : "Aprire localmente",
"Rename" : "Rinomina",
"Open details" : "Apri i dettagli",
"View in folder" : "Visualizza nella cartella",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Carica (massimo %s)",
"Submitting fields…" : "Invio dei campi…",
"Filter filenames…" : "Filtra nomi di file…",
- "Edit file locally" : "Modifica il file localmente",
- "Edit online" : "Modifica online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} cartella","{folderCount} cartelle","{folderCount} cartelle"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} file","{fileCount} file","{fileCount} file"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file e {folderCount} cartella","1 file e {folderCount} cartelle","1 file e {folderCount} cartelle"],
@@ -455,6 +453,8 @@ OC.L10N.register(
"Personal Files" : "File personali",
"Text file" : "File di testo",
"New text file.txt" : "Nuovo file di testo.txt",
+ "%1$s (renamed)" : "%1$s (rinominato)",
+ "renamed file" : "file rinominato",
"{count} files could not be converted" : "{count} file non possono essere convertiti",
"{count} files successfully converted" : "{count} file convertiti con successo"
},
diff --git a/apps/files/l10n/it.json b/apps/files/l10n/it.json
index e3787686d41..0c71fc93b41 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Operazione di spostamento o copia annullata",
"Open folder {displayName}" : "Apri la cartella {displayName}",
"Open in Files" : "Apri in File",
+ "Open locally" : "Aprire localmente",
+ "Failed to redirect to client" : "Reindirizzamento al client non riuscito",
"Open file locally" : "Apri file localmente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Il file dovrebbe ora aprirsi sul tuo dispositivo. In caso contrario, controlla di aver installato l'app desktop.",
"Retry and close" : "Riprova e chiudi",
"Open online" : "Apri online",
- "Failed to redirect to client" : "Reindirizzamento al client non riuscito",
- "Open locally" : "Aprire localmente",
"Rename" : "Rinomina",
"Open details" : "Apri i dettagli",
"View in folder" : "Visualizza nella cartella",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Carica (massimo %s)",
"Submitting fields…" : "Invio dei campi…",
"Filter filenames…" : "Filtra nomi di file…",
- "Edit file locally" : "Modifica il file localmente",
- "Edit online" : "Modifica online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} cartella","{folderCount} cartelle","{folderCount} cartelle"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} file","{fileCount} file","{fileCount} file"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file e {folderCount} cartella","1 file e {folderCount} cartelle","1 file e {folderCount} cartelle"],
@@ -453,6 +451,8 @@
"Personal Files" : "File personali",
"Text file" : "File di testo",
"New text file.txt" : "Nuovo file di testo.txt",
+ "%1$s (renamed)" : "%1$s (rinominato)",
+ "renamed file" : "file rinominato",
"{count} files could not be converted" : "{count} file non possono essere convertiti",
"{count} files successfully converted" : "{count} file convertiti con successo"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
diff --git a/apps/files/l10n/ja.js b/apps/files/l10n/ja.js
index 6b29c1c9780..5e262b4f8cd 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "キャンセルされた移動またはコピー操作",
"Open folder {displayName}" : "フォルダ {displayName} を開く",
"Open in Files" : "ファイルアプリで開く",
+ "Open locally" : "ローカルで開く",
+ "Failed to redirect to client" : "クライアントへリダイレクトできませんでした",
"Open file locally" : "ローカルでファイルを開く",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "ファイルがデバイス上で開くはずです。開かない場合は、デスクトップアプリがインストールされているかご確認ください。",
"Retry and close" : "再試行して閉じる",
"Open online" : "オンラインで開く",
- "Failed to redirect to client" : "クライアントへリダイレクトできませんでした",
- "Open locally" : "ローカルで開く",
"Rename" : "名前の変更",
"Open details" : "詳細を開く",
"View in folder" : "フォルダー内で表示",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "アップロード ( 最大 %s )",
"Submitting fields…" : "フィールドを送信中…",
"Filter filenames…" : "ファイルネームフィルター…",
- "Edit file locally" : "ファイルをローカルで編集",
- "Edit online" : "オンラインで編集",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} フォルダ"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} ファイル"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ファイルと {folderCount} フォルダ"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "個人ファイル",
"Text file" : "テキストファイル",
"New text file.txt" : "新規のテキストファイル作成",
+ "%1$s (renamed)" : "%1$s (リネーム済み)",
+ "renamed file" : "リネーム済みファイル",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows 互換のファイル名を有効にすると、既存のファイルは変更できなくなりますが、所有者が有効な新しいファイル名に変更できるようになります。",
"{count} files could not be converted" : "{count}個のファイルが変換できませんでした",
"{count} files successfully converted" : "{count}個のファイルの変換に成功しました"
},
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index d8d803191db..3b07da7e45e 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "キャンセルされた移動またはコピー操作",
"Open folder {displayName}" : "フォルダ {displayName} を開く",
"Open in Files" : "ファイルアプリで開く",
+ "Open locally" : "ローカルで開く",
+ "Failed to redirect to client" : "クライアントへリダイレクトできませんでした",
"Open file locally" : "ローカルでファイルを開く",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "ファイルがデバイス上で開くはずです。開かない場合は、デスクトップアプリがインストールされているかご確認ください。",
"Retry and close" : "再試行して閉じる",
"Open online" : "オンラインで開く",
- "Failed to redirect to client" : "クライアントへリダイレクトできませんでした",
- "Open locally" : "ローカルで開く",
"Rename" : "名前の変更",
"Open details" : "詳細を開く",
"View in folder" : "フォルダー内で表示",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "アップロード ( 最大 %s )",
"Submitting fields…" : "フィールドを送信中…",
"Filter filenames…" : "ファイルネームフィルター…",
- "Edit file locally" : "ファイルをローカルで編集",
- "Edit online" : "オンラインで編集",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} フォルダ"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} ファイル"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 ファイルと {folderCount} フォルダ"],
@@ -453,6 +451,9 @@
"Personal Files" : "個人ファイル",
"Text file" : "テキストファイル",
"New text file.txt" : "新規のテキストファイル作成",
+ "%1$s (renamed)" : "%1$s (リネーム済み)",
+ "renamed file" : "リネーム済みファイル",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Windows 互換のファイル名を有効にすると、既存のファイルは変更できなくなりますが、所有者が有効な新しいファイル名に変更できるようになります。",
"{count} files could not be converted" : "{count}個のファイルが変換できませんでした",
"{count} files successfully converted" : "{count}個のファイルの変換に成功しました"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files/l10n/ka.js b/apps/files/l10n/ka.js
index 70aa60fc292..550819832fc 100644
--- a/apps/files/l10n/ka.js
+++ b/apps/files/l10n/ka.js
@@ -170,9 +170,9 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Cancelled move or copy operation",
"Open folder {displayName}" : "Open folder {displayName}",
"Open in Files" : "Open in Files",
- "Open file locally" : "Open file locally",
- "Failed to redirect to client" : "Failed to redirect to client",
"Open locally" : "Open locally",
+ "Failed to redirect to client" : "Failed to redirect to client",
+ "Open file locally" : "Open file locally",
"Rename" : "Rename",
"Open details" : "Open details",
"View in folder" : "View in folder",
diff --git a/apps/files/l10n/ka.json b/apps/files/l10n/ka.json
index afd9e6386d7..b9120314895 100644
--- a/apps/files/l10n/ka.json
+++ b/apps/files/l10n/ka.json
@@ -168,9 +168,9 @@
"Cancelled move or copy operation" : "Cancelled move or copy operation",
"Open folder {displayName}" : "Open folder {displayName}",
"Open in Files" : "Open in Files",
- "Open file locally" : "Open file locally",
- "Failed to redirect to client" : "Failed to redirect to client",
"Open locally" : "Open locally",
+ "Failed to redirect to client" : "Failed to redirect to client",
+ "Open file locally" : "Open file locally",
"Rename" : "Rename",
"Open details" : "Open details",
"View in folder" : "View in folder",
diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js
index a91f928294e..927f765b6f6 100644
--- a/apps/files/l10n/ko.js
+++ b/apps/files/l10n/ko.js
@@ -267,11 +267,11 @@ OC.L10N.register(
"Cancelled move or copy operation" : "이동 또는 복사 작업을 취소함",
"Open folder {displayName}" : "{displayName} 폴더 열기",
"Open in Files" : "파일에서 열기",
+ "Open locally" : "로컬에서 열기",
+ "Failed to redirect to client" : "클라이언트로 리디렉션 하는데 실패함",
"Open file locally" : "로컬에서 파일 열기",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "이제 이 파일이 당신의 기기에서 열려야 합니다. 그렇지 않다면, 데스크톱 앱이 설치되어 있는지 확인하세요.",
"Retry and close" : "재시도 후 닫기",
- "Failed to redirect to client" : "클라이언트로 리디렉션 하는데 실패함",
- "Open locally" : "로컬에서 열기",
"Rename" : "이름 바꾸기",
"Open details" : "자세한 정보 열기",
"View in folder" : "폴더에서 보기",
@@ -422,8 +422,6 @@ OC.L10N.register(
"Upload (max. %s)" : "업로드(최대 %s)",
"Submitting fields…" : "입력란 제출중...",
"Filter filenames…" : "파일 이름 필터...",
- "Edit file locally" : "로컬에서 파일 편집",
- "Edit online" : "온라인으로 편집",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount}개 폴더"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount}개 파일"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1개 파일과 {folderCount}개 폴더"],
diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json
index d40c82e850e..1d8f34484ef 100644
--- a/apps/files/l10n/ko.json
+++ b/apps/files/l10n/ko.json
@@ -265,11 +265,11 @@
"Cancelled move or copy operation" : "이동 또는 복사 작업을 취소함",
"Open folder {displayName}" : "{displayName} 폴더 열기",
"Open in Files" : "파일에서 열기",
+ "Open locally" : "로컬에서 열기",
+ "Failed to redirect to client" : "클라이언트로 리디렉션 하는데 실패함",
"Open file locally" : "로컬에서 파일 열기",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "이제 이 파일이 당신의 기기에서 열려야 합니다. 그렇지 않다면, 데스크톱 앱이 설치되어 있는지 확인하세요.",
"Retry and close" : "재시도 후 닫기",
- "Failed to redirect to client" : "클라이언트로 리디렉션 하는데 실패함",
- "Open locally" : "로컬에서 열기",
"Rename" : "이름 바꾸기",
"Open details" : "자세한 정보 열기",
"View in folder" : "폴더에서 보기",
@@ -420,8 +420,6 @@
"Upload (max. %s)" : "업로드(최대 %s)",
"Submitting fields…" : "입력란 제출중...",
"Filter filenames…" : "파일 이름 필터...",
- "Edit file locally" : "로컬에서 파일 편집",
- "Edit online" : "온라인으로 편집",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount}개 폴더"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount}개 파일"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1개 파일과 {folderCount}개 폴더"],
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index 9f5a301df9e..e977378b33b 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -185,8 +185,8 @@ OC.L10N.register(
"Move or copy operation failed" : "Perkėlimo ar kopijavimo operacija patyrė nesėkmę",
"Move or copy" : "Perkelti ar kopijuoti",
"Open folder {displayName}" : "Atverti aplanką {displayName}",
- "Retry and close" : "Bandyti dar kartą ir užverti",
"Failed to redirect to client" : "Nepavyko peradresuoti į klientą",
+ "Retry and close" : "Bandyti dar kartą ir užverti",
"Rename" : "Pervadinti",
"Open details" : "Atverti išsamesnę informaciją",
"View in folder" : "Rodyti aplanke",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index ca5618e0f08..a2495e4f0f5 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -183,8 +183,8 @@
"Move or copy operation failed" : "Perkėlimo ar kopijavimo operacija patyrė nesėkmę",
"Move or copy" : "Perkelti ar kopijuoti",
"Open folder {displayName}" : "Atverti aplanką {displayName}",
- "Retry and close" : "Bandyti dar kartą ir užverti",
"Failed to redirect to client" : "Nepavyko peradresuoti į klientą",
+ "Retry and close" : "Bandyti dar kartą ir užverti",
"Rename" : "Pervadinti",
"Open details" : "Atverti išsamesnę informaciją",
"View in folder" : "Rodyti aplanke",
diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js
index 3f2259cc908..7becc5d47ec 100644
--- a/apps/files/l10n/mk.js
+++ b/apps/files/l10n/mk.js
@@ -201,9 +201,9 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Откажана операција на копирање или преместување",
"Open folder {displayName}" : "Отвори папка {displayName}",
"Open in Files" : "Отвори во датотеките",
- "Open file locally" : "Отвори ја датотеката локално",
- "Failed to redirect to client" : "Неуспешно пренасочување кон клиентот",
"Open locally" : "Отвори локално",
+ "Failed to redirect to client" : "Неуспешно пренасочување кон клиентот",
+ "Open file locally" : "Отвори ја датотеката локално",
"Rename" : "Преименувај",
"Open details" : "Отвори детали",
"View in folder" : "Погледни во папката",
@@ -218,6 +218,7 @@ OC.L10N.register(
"Videos" : "Видеа",
"Created new folder \"{name}\"" : "Креирана нова папка \"{name}\"",
"Unable to initialize the templates directory" : "Не може да се иницијализира папка за шаблони",
+ "Create templates folder" : "Креирај папка за шаблони",
"Templates" : "Шаблони",
"One of the dropped files could not be processed" : "Една од испуштените датотеки неможе да се процесоира",
"Some files could not be moved" : "Некои датотеки не можат да се преместат",
@@ -318,7 +319,6 @@ OC.L10N.register(
"Upload file" : "Прикачи датотека",
"An error occurred while trying to update the tags" : "Се случи грешка додека се обидувавте да ги освежите таговите",
"Upload (max. %s)" : "Префрлање (макс. %s)",
- "Edit file locally" : "Уреди ја датотеката локално",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} папка","{folderCount} папки"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} датотека","{fileCount} датотеки"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 датотека и {folderCount} папки","1 датотека и {folderCount} папки"],
diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json
index f3a3a4f32dc..051acd1855b 100644
--- a/apps/files/l10n/mk.json
+++ b/apps/files/l10n/mk.json
@@ -199,9 +199,9 @@
"Cancelled move or copy operation" : "Откажана операција на копирање или преместување",
"Open folder {displayName}" : "Отвори папка {displayName}",
"Open in Files" : "Отвори во датотеките",
- "Open file locally" : "Отвори ја датотеката локално",
- "Failed to redirect to client" : "Неуспешно пренасочување кон клиентот",
"Open locally" : "Отвори локално",
+ "Failed to redirect to client" : "Неуспешно пренасочување кон клиентот",
+ "Open file locally" : "Отвори ја датотеката локално",
"Rename" : "Преименувај",
"Open details" : "Отвори детали",
"View in folder" : "Погледни во папката",
@@ -216,6 +216,7 @@
"Videos" : "Видеа",
"Created new folder \"{name}\"" : "Креирана нова папка \"{name}\"",
"Unable to initialize the templates directory" : "Не може да се иницијализира папка за шаблони",
+ "Create templates folder" : "Креирај папка за шаблони",
"Templates" : "Шаблони",
"One of the dropped files could not be processed" : "Една од испуштените датотеки неможе да се процесоира",
"Some files could not be moved" : "Некои датотеки не можат да се преместат",
@@ -316,7 +317,6 @@
"Upload file" : "Прикачи датотека",
"An error occurred while trying to update the tags" : "Се случи грешка додека се обидувавте да ги освежите таговите",
"Upload (max. %s)" : "Префрлање (макс. %s)",
- "Edit file locally" : "Уреди ја датотеката локално",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} папка","{folderCount} папки"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} датотека","{fileCount} датотеки"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 датотека и {folderCount} папки","1 датотека и {folderCount} папки"],
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index e87b6544890..eb260daa93b 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -248,11 +248,11 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Kansellert flytte- eller kopieroperasjon",
"Open folder {displayName}" : "Åpne mappe {displayName}",
"Open in Files" : "Åpne i Filer",
+ "Open locally" : "Åpne lokalt",
+ "Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
"Open file locally" : "Åpne fil lokalt",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Filen skal nå åpnes på enheten din. Om ikke, vennligst sjekk at du har skrivebordsprogrammet installert.",
"Retry and close" : "Prøv igjen og lukk",
- "Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
- "Open locally" : "Åpne lokalt",
"Rename" : "Gi nytt navn",
"Open details" : "Åpne detaljer",
"View in folder" : "Vis i mappe",
@@ -403,8 +403,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Opplasting (maks %s)",
"Submitting fields…" : "Sender inn felt...",
"Filter filenames…" : "Filtrer filnavn...",
- "Edit file locally" : "Rediger fil lokalt",
- "Edit online" : "Rediger på nett",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mappe","{folderCount} mapper"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fil","{fileCount} filer"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fil og {folderCount} mappe","1 fil og {folderCount} mapper"],
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index 877330c4ebc..f92fd8a93d2 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -246,11 +246,11 @@
"Cancelled move or copy operation" : "Kansellert flytte- eller kopieroperasjon",
"Open folder {displayName}" : "Åpne mappe {displayName}",
"Open in Files" : "Åpne i Filer",
+ "Open locally" : "Åpne lokalt",
+ "Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
"Open file locally" : "Åpne fil lokalt",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Filen skal nå åpnes på enheten din. Om ikke, vennligst sjekk at du har skrivebordsprogrammet installert.",
"Retry and close" : "Prøv igjen og lukk",
- "Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
- "Open locally" : "Åpne lokalt",
"Rename" : "Gi nytt navn",
"Open details" : "Åpne detaljer",
"View in folder" : "Vis i mappe",
@@ -401,8 +401,6 @@
"Upload (max. %s)" : "Opplasting (maks %s)",
"Submitting fields…" : "Sender inn felt...",
"Filter filenames…" : "Filtrer filnavn...",
- "Edit file locally" : "Rediger fil lokalt",
- "Edit online" : "Rediger på nett",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mappe","{folderCount} mapper"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fil","{fileCount} filer"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fil og {folderCount} mappe","1 fil og {folderCount} mapper"],
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index e0563aaac3c..0aa38b97286 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -277,12 +277,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Verplaatsen of kopiëren geannuleerd.",
"Open folder {displayName}" : "Open map {displayName}",
"Open in Files" : "Open in Bestanden",
+ "Open locally" : "Lokaal openen",
+ "Failed to redirect to client" : "Omleiden naar cliënt mislukt",
"Open file locally" : "Bestand lokaal openen",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Het bestand zou nu moeten openen op je apparaat. Als dat niet het geval is, controleer dan of je de desktop app geïnstalleerd hebt.",
"Retry and close" : "Probeer opnieuw en sluiten",
"Open online" : "Open online",
- "Failed to redirect to client" : "Omleiden naar cliënt mislukt",
- "Open locally" : "Lokaal openen",
"Rename" : "Naam wijzigen",
"Open details" : "Details openen",
"View in folder" : "Bekijken in map",
@@ -433,8 +433,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Upload (max. %s)",
"Submitting fields…" : "Verzenden velden ...",
"Filter filenames…" : "Filter bestandsnamen...",
- "Edit file locally" : "Bestand lokaal bewerken",
- "Edit online" : "Bewerk online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} map","{folderCount} mappen"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} bestand","{fileCount} bestanden"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 bestand en {folderCount} map","1 bestand en {folderCount} mappen"],
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index d7fc7f09003..5ac658a7454 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -275,12 +275,12 @@
"Cancelled move or copy operation" : "Verplaatsen of kopiëren geannuleerd.",
"Open folder {displayName}" : "Open map {displayName}",
"Open in Files" : "Open in Bestanden",
+ "Open locally" : "Lokaal openen",
+ "Failed to redirect to client" : "Omleiden naar cliënt mislukt",
"Open file locally" : "Bestand lokaal openen",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Het bestand zou nu moeten openen op je apparaat. Als dat niet het geval is, controleer dan of je de desktop app geïnstalleerd hebt.",
"Retry and close" : "Probeer opnieuw en sluiten",
"Open online" : "Open online",
- "Failed to redirect to client" : "Omleiden naar cliënt mislukt",
- "Open locally" : "Lokaal openen",
"Rename" : "Naam wijzigen",
"Open details" : "Details openen",
"View in folder" : "Bekijken in map",
@@ -431,8 +431,6 @@
"Upload (max. %s)" : "Upload (max. %s)",
"Submitting fields…" : "Verzenden velden ...",
"Filter filenames…" : "Filter bestandsnamen...",
- "Edit file locally" : "Bestand lokaal bewerken",
- "Edit online" : "Bewerk online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} map","{folderCount} mappen"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} bestand","{fileCount} bestanden"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 bestand en {folderCount} map","1 bestand en {folderCount} mappen"],
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index 2e652ce1683..dc0e482ea90 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Anulowano operację przenoszenia lub kopiowania",
"Open folder {displayName}" : "Otwórz katalog {displayName}",
"Open in Files" : "Otwórz w Plikach",
+ "Open locally" : "Otwórz lokalnie",
+ "Failed to redirect to client" : "Nie udało się przekierować do klienta",
"Open file locally" : "Otwórz plik lokalnie",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Plik powinien teraz otworzyć się na Twoim urządzeniu. Jeśli tak się nie stanie, sprawdź, czy masz zainstalowaną aplikację komputerową.",
"Retry and close" : "Spróbuj ponownie i zamknij",
"Open online" : "Otwórz online",
- "Failed to redirect to client" : "Nie udało się przekierować do klienta",
- "Open locally" : "Otwórz lokalnie",
"Rename" : "Zmień nazwę",
"Open details" : "Otwórz szczegóły",
"View in folder" : "Zobacz w katalogu",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Wysyłanie (maks. %s)",
"Submitting fields…" : "Przesyłanie pól…",
"Filter filenames…" : "Filtruj nazwy plików…",
- "Edit file locally" : "Edytuj plik lokalnie",
- "Edit online" : "Edycja online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} katalog","{folderCount} katalogi","{folderCount} katalogów","{folderCount} katalogów"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} plik","{fileCount} pliki","{fileCount} plików","{fileCount} plików"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 plik i {folderCount} katalog","1 plik i {folderCount} katalogi","1 plik i {folderCount} katalogów","1 plik i {folderCount} katalogów"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Pliki osobiste",
"Text file" : "Plik tekstowy",
"New text file.txt" : "Nowy plik tekstowy.txt",
+ "%1$s (renamed)" : "%1$s (zmieniona nazwa)",
+ "renamed file" : "zmieniona nazwa pliku",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po włączeniu nazw plików zgodnych z systemem Windows, istniejących plików nie można już modyfikować, ale ich właściciel może zmienić ich nazwy na nowe, prawidłowe.",
"{count} files could not be converted" : "Nie można przekonwertować {count} plików",
"{count} files successfully converted" : "Zostały pomyślnie przekonwertowane{count} plików"
},
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index 24c20660260..e1c31eb98d0 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Anulowano operację przenoszenia lub kopiowania",
"Open folder {displayName}" : "Otwórz katalog {displayName}",
"Open in Files" : "Otwórz w Plikach",
+ "Open locally" : "Otwórz lokalnie",
+ "Failed to redirect to client" : "Nie udało się przekierować do klienta",
"Open file locally" : "Otwórz plik lokalnie",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Plik powinien teraz otworzyć się na Twoim urządzeniu. Jeśli tak się nie stanie, sprawdź, czy masz zainstalowaną aplikację komputerową.",
"Retry and close" : "Spróbuj ponownie i zamknij",
"Open online" : "Otwórz online",
- "Failed to redirect to client" : "Nie udało się przekierować do klienta",
- "Open locally" : "Otwórz lokalnie",
"Rename" : "Zmień nazwę",
"Open details" : "Otwórz szczegóły",
"View in folder" : "Zobacz w katalogu",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Wysyłanie (maks. %s)",
"Submitting fields…" : "Przesyłanie pól…",
"Filter filenames…" : "Filtruj nazwy plików…",
- "Edit file locally" : "Edytuj plik lokalnie",
- "Edit online" : "Edycja online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} katalog","{folderCount} katalogi","{folderCount} katalogów","{folderCount} katalogów"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} plik","{fileCount} pliki","{fileCount} plików","{fileCount} plików"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 plik i {folderCount} katalog","1 plik i {folderCount} katalogi","1 plik i {folderCount} katalogów","1 plik i {folderCount} katalogów"],
@@ -453,6 +451,9 @@
"Personal Files" : "Pliki osobiste",
"Text file" : "Plik tekstowy",
"New text file.txt" : "Nowy plik tekstowy.txt",
+ "%1$s (renamed)" : "%1$s (zmieniona nazwa)",
+ "renamed file" : "zmieniona nazwa pliku",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Po włączeniu nazw plików zgodnych z systemem Windows, istniejących plików nie można już modyfikować, ale ich właściciel może zmienić ich nazwy na nowe, prawidłowe.",
"{count} files could not be converted" : "Nie można przekonwertować {count} plików",
"{count} files successfully converted" : "Zostały pomyślnie przekonwertowane{count} plików"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index 091fe73d2f6..94915165618 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -200,7 +200,7 @@ OC.L10N.register(
"WebDAV URL" : "URL WebDAV",
"Copy to clipboard" : "Copiar para área de transferência",
"Use this address to access your Files via WebDAV" : "Use este endereço para acessar seus Arquivos via WebDAV",
- "If you have enabled 2FA, you must create and use a new app password by clicking here." : "If you have enabled 2FA, you must create and use a new app password by clicking here.",
+ "If you have enabled 2FA, you must create and use a new app password by clicking here." : "Se tiver ativado a 2FA, você deverá criar e usar uma nova senha do aplicativo clicando aqui.",
"Warnings" : "Avisos",
"Prevent warning dialogs from open or reenable them." : "Impedir que as caixas de diálogo de aviso sejam abertas ou reativá-las.",
"Show a warning dialog when changing a file extension." : "Mostrar uma caixa de diálogo de aviso ao alterar uma extensão de arquivo.",
@@ -244,8 +244,8 @@ OC.L10N.register(
"Failed to convert files: {message}" : "Falha ao converter arquivos: {message}",
"All files failed to be converted" : "Todos os arquivos falharam na conversão",
"One file could not be converted: {message}" : "Um arquivo não pôde ser convertido: {message}",
- "_One file could not be converted_::_%n files could not be converted_" : ["Não foi possível converter um arquivo","Não foi possível converter %n arquivos","Não foi possível converter %n arquivos"],
- "_One file successfully converted_::_%n files successfully converted_" : ["Um arquivo convertido com sucesso","%n arquivos convertidos com sucesso","%n arquivos convertidos com sucesso"],
+ "_One file could not be converted_::_%n files could not be converted_" : ["Não foi possível converter um arquivo","Não foi possível converter %n de arquivos","Não foi possível converter %n arquivos"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["Um arquivo convertido com sucesso","%n de arquivos convertidos com sucesso","%n arquivos convertidos com sucesso"],
"Files successfully converted" : "Arquivos convertidos com sucesso",
"Failed to convert files" : "Falha ao converter arquivos",
"Converting file …" : "Convertendo arquivo …",
@@ -264,8 +264,8 @@ OC.L10N.register(
"Delete folder" : "Excluir pasta",
"Delete folders" : "Excluir pastas",
"Delete" : "Excluir",
- "_You are about to permanently delete {count} item_::_You are about to permanently delete {count} items_" : ["Você está prestes a excluir permanentemente {count} item","Você está prestes a excluir permanentemente {count} itens","Você está prestes a excluir permanentemente {count} itens"],
- "_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Você está prestes a excluir {count} item","Você está prestes a excluir {count} itens","Você está prestes a excluir {count} itens"],
+ "_You are about to permanently delete {count} item_::_You are about to permanently delete {count} items_" : ["Você está prestes a excluir permanentemente {count} item","Você está prestes a excluir permanentemente {count} de itens","Você está prestes a excluir permanentemente {count} itens"],
+ "_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Você está prestes a excluir {count} item","Você está prestes a excluir {count} de itens","Você está prestes a excluir {count} itens"],
"Confirm deletion" : "Confirmar exclusão",
"Cancel" : "Cancelar",
"Moving \"{source}\" to \"{destination}\" …" : "Movendo \"{source}\" para \"{destination}\" …",
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Operação de mover ou copiar cancelada",
"Open folder {displayName}" : "Abrir a pasta {displayName}",
"Open in Files" : "Abrir em Arquivos",
+ "Open locally" : "Abrir localmente",
+ "Failed to redirect to client" : "Falha ao redirecionar para o cliente",
"Open file locally" : "Abrir o arquivo localmente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "O arquivo agora deve abrir no seu dispositivo. Caso contrário, verifique se você tem o aplicativo para desktop instalado.",
"Retry and close" : "Repetir e fechar",
"Open online" : "Abrir on-line",
- "Failed to redirect to client" : "Falha ao redirecionar para o cliente",
- "Open locally" : "Abrir localmente",
"Rename" : "Renomear",
"Open details" : "Abrir detalhes",
"View in folder" : "Exibir na pasta",
@@ -335,9 +335,9 @@ OC.L10N.register(
"This directory is unavailable, please check the logs or contact the administrator" : "Este diretório não está disponível, por favor verifique os logs ou contacte o administrador",
"Storage is temporarily not available" : "O armazenamento está temporariamente indisponível",
"Unexpected error: {error}" : "Erro inesperado: {error}",
- "_%n file_::_%n files_" : ["%n arquivo","%n arquivos","%n arquivos"],
- "_%n folder_::_%n folders_" : ["%n pasta","%n pastas","%n pastas"],
- "_%n hidden_::_%n hidden_" : ["%n oculto","%n ocultos","%n ocultos"],
+ "_%n file_::_%n files_" : ["%n arquivo","%n de arquivos","%n arquivos"],
+ "_%n folder_::_%n folders_" : ["%n pasta","%n de pastas","%n pastas"],
+ "_%n hidden_::_%n hidden_" : ["%n oculto","%n de ocultos","%n ocultos"],
"Filename must not be empty." : "O nome do arquivo não pode estar vazio.",
"\"{char}\" is not allowed inside a filename." : "\"{char}\" não é permitido dentro de um nome de arquivo.",
"\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" é um nome reservado e não é permitido para nomes de arquivos.",
@@ -412,9 +412,9 @@ OC.L10N.register(
"No search results in other folders for {tag}{filter}{endtag}" : "Sem resultados de pesquisa em outras pastas para {tag}{filter}{endtag}",
"Enter more than two characters to search in other folders" : "Digite mais de dois caracteres para pesquisar em outras pastas",
"{dirs} and {files}" : "{dirs} e {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluindo %n oculto","incluindo %n ocultos","incluindo %n ocultos"],
+ "_including %n hidden_::_including %n hidden_" : ["incluindo %n oculto","incluindo %n de ocultos","incluindo %n ocultos"],
"You do not have permission to upload or create files here" : "Você não tem permissão para carregar ou criar arquivos aqui",
- "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos","Enviando %n arquivos"],
+ "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n de arquivos","Enviando %n arquivos"],
"New" : "Novo",
"New file/folder menu" : "Menu de novo arquivo/pasta",
"Select file range" : "Selecionar o intervalo de arquivos",
@@ -432,7 +432,7 @@ OC.L10N.register(
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "A pasta de grupo \"{mountPoint}\" está quase cheia ({usedSpacePercent}%).",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O armazenamento externo \"{mountPoint}\" está quase cheio ({usedSpacePercent}%).",
"Your storage is almost full ({usedSpacePercent}%)." : "Seu armazenamento está quase cheio ({usedSpacePercent}%).",
- "_matches \"{filter}\"_::_match \"{filter}\"_" : ["coincide \"{filter}\"","coincide \"{filter}\"","coincide \"{filter}\""],
+ "_matches \"{filter}\"_::_match \"{filter}\"_" : ["corresponde a \"{filter}\"","correspondem a \"{filter}\"","correspondem a \"{filter}\""],
"Direct link was copied (only works for people who have access to this file/folder)" : "Link direto foi copiado (funciona apenas para pessoas que têm acesso a este arquivo/pasta)",
"Path" : "Caminho",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
@@ -445,16 +445,17 @@ OC.L10N.register(
"Upload (max. %s)" : "Upload (max. %s)",
"Submitting fields…" : "Enviando campos…",
"Filter filenames…" : "Filtrar nomes de arquivos…",
- "Edit file locally" : "Editar arquivo localmente",
- "Edit online" : "Editar on-line",
- "_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} pasta","{folderCount} pastas","{folderCount} pastas"],
- "_{fileCount} file_::_{fileCount} files_" : ["{fileCount} arquivo","{fileCount} arquivos","{fileCount} arquivos"],
- "_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 arquivo e {folderCount} pasta","1 arquivo e {folderCount} pastas","1 arquivo e {folderCount} pastas"],
- "_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} arquivo e 1 pasta","{fileCount} arquivos e 1 pasta","{fileCount} arquivos e 1 pasta"],
+ "_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} pasta","{folderCount} de pastas","{folderCount} pastas"],
+ "_{fileCount} file_::_{fileCount} files_" : ["{fileCount} arquivo","{fileCount} de arquivos","{fileCount} arquivos"],
+ "_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 arquivo e {folderCount} pasta","1 arquivo e {folderCount} de pastas","1 arquivo e {folderCount} pastas"],
+ "_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} arquivo e 1 pasta","{fileCount} de arquivos e 1 pasta","{fileCount} arquivos e 1 pasta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} arquivos e {folderCount} pastas",
"Personal Files" : "Arquivos pessoais",
"Text file" : "Arquivo texto",
"New text file.txt" : "Novo arquivo de texto.txt",
+ "%1$s (renamed)" : "%1$s (renomeado)",
+ "renamed file" : "arquivo renomeado",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Depois de ativar os nomes de arquivos compatíveis com o Windows, os arquivos existentes não podem mais ser modificados, mas podem ser renomeados para novos nomes válidos pelo proprietário.",
"{count} files could not be converted" : "{count} arquivos não puderam ser convertidos",
"{count} files successfully converted" : "{count} arquivos convertidos com sucesso"
},
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index a1a8a55396b..2b679a2df6b 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -198,7 +198,7 @@
"WebDAV URL" : "URL WebDAV",
"Copy to clipboard" : "Copiar para área de transferência",
"Use this address to access your Files via WebDAV" : "Use este endereço para acessar seus Arquivos via WebDAV",
- "If you have enabled 2FA, you must create and use a new app password by clicking here." : "If you have enabled 2FA, you must create and use a new app password by clicking here.",
+ "If you have enabled 2FA, you must create and use a new app password by clicking here." : "Se tiver ativado a 2FA, você deverá criar e usar uma nova senha do aplicativo clicando aqui.",
"Warnings" : "Avisos",
"Prevent warning dialogs from open or reenable them." : "Impedir que as caixas de diálogo de aviso sejam abertas ou reativá-las.",
"Show a warning dialog when changing a file extension." : "Mostrar uma caixa de diálogo de aviso ao alterar uma extensão de arquivo.",
@@ -242,8 +242,8 @@
"Failed to convert files: {message}" : "Falha ao converter arquivos: {message}",
"All files failed to be converted" : "Todos os arquivos falharam na conversão",
"One file could not be converted: {message}" : "Um arquivo não pôde ser convertido: {message}",
- "_One file could not be converted_::_%n files could not be converted_" : ["Não foi possível converter um arquivo","Não foi possível converter %n arquivos","Não foi possível converter %n arquivos"],
- "_One file successfully converted_::_%n files successfully converted_" : ["Um arquivo convertido com sucesso","%n arquivos convertidos com sucesso","%n arquivos convertidos com sucesso"],
+ "_One file could not be converted_::_%n files could not be converted_" : ["Não foi possível converter um arquivo","Não foi possível converter %n de arquivos","Não foi possível converter %n arquivos"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["Um arquivo convertido com sucesso","%n de arquivos convertidos com sucesso","%n arquivos convertidos com sucesso"],
"Files successfully converted" : "Arquivos convertidos com sucesso",
"Failed to convert files" : "Falha ao converter arquivos",
"Converting file …" : "Convertendo arquivo …",
@@ -262,8 +262,8 @@
"Delete folder" : "Excluir pasta",
"Delete folders" : "Excluir pastas",
"Delete" : "Excluir",
- "_You are about to permanently delete {count} item_::_You are about to permanently delete {count} items_" : ["Você está prestes a excluir permanentemente {count} item","Você está prestes a excluir permanentemente {count} itens","Você está prestes a excluir permanentemente {count} itens"],
- "_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Você está prestes a excluir {count} item","Você está prestes a excluir {count} itens","Você está prestes a excluir {count} itens"],
+ "_You are about to permanently delete {count} item_::_You are about to permanently delete {count} items_" : ["Você está prestes a excluir permanentemente {count} item","Você está prestes a excluir permanentemente {count} de itens","Você está prestes a excluir permanentemente {count} itens"],
+ "_You are about to delete {count} item_::_You are about to delete {count} items_" : ["Você está prestes a excluir {count} item","Você está prestes a excluir {count} de itens","Você está prestes a excluir {count} itens"],
"Confirm deletion" : "Confirmar exclusão",
"Cancel" : "Cancelar",
"Moving \"{source}\" to \"{destination}\" …" : "Movendo \"{source}\" para \"{destination}\" …",
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Operação de mover ou copiar cancelada",
"Open folder {displayName}" : "Abrir a pasta {displayName}",
"Open in Files" : "Abrir em Arquivos",
+ "Open locally" : "Abrir localmente",
+ "Failed to redirect to client" : "Falha ao redirecionar para o cliente",
"Open file locally" : "Abrir o arquivo localmente",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "O arquivo agora deve abrir no seu dispositivo. Caso contrário, verifique se você tem o aplicativo para desktop instalado.",
"Retry and close" : "Repetir e fechar",
"Open online" : "Abrir on-line",
- "Failed to redirect to client" : "Falha ao redirecionar para o cliente",
- "Open locally" : "Abrir localmente",
"Rename" : "Renomear",
"Open details" : "Abrir detalhes",
"View in folder" : "Exibir na pasta",
@@ -333,9 +333,9 @@
"This directory is unavailable, please check the logs or contact the administrator" : "Este diretório não está disponível, por favor verifique os logs ou contacte o administrador",
"Storage is temporarily not available" : "O armazenamento está temporariamente indisponível",
"Unexpected error: {error}" : "Erro inesperado: {error}",
- "_%n file_::_%n files_" : ["%n arquivo","%n arquivos","%n arquivos"],
- "_%n folder_::_%n folders_" : ["%n pasta","%n pastas","%n pastas"],
- "_%n hidden_::_%n hidden_" : ["%n oculto","%n ocultos","%n ocultos"],
+ "_%n file_::_%n files_" : ["%n arquivo","%n de arquivos","%n arquivos"],
+ "_%n folder_::_%n folders_" : ["%n pasta","%n de pastas","%n pastas"],
+ "_%n hidden_::_%n hidden_" : ["%n oculto","%n de ocultos","%n ocultos"],
"Filename must not be empty." : "O nome do arquivo não pode estar vazio.",
"\"{char}\" is not allowed inside a filename." : "\"{char}\" não é permitido dentro de um nome de arquivo.",
"\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" é um nome reservado e não é permitido para nomes de arquivos.",
@@ -410,9 +410,9 @@
"No search results in other folders for {tag}{filter}{endtag}" : "Sem resultados de pesquisa em outras pastas para {tag}{filter}{endtag}",
"Enter more than two characters to search in other folders" : "Digite mais de dois caracteres para pesquisar em outras pastas",
"{dirs} and {files}" : "{dirs} e {files}",
- "_including %n hidden_::_including %n hidden_" : ["incluindo %n oculto","incluindo %n ocultos","incluindo %n ocultos"],
+ "_including %n hidden_::_including %n hidden_" : ["incluindo %n oculto","incluindo %n de ocultos","incluindo %n ocultos"],
"You do not have permission to upload or create files here" : "Você não tem permissão para carregar ou criar arquivos aqui",
- "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n arquivos","Enviando %n arquivos"],
+ "_Uploading %n file_::_Uploading %n files_" : ["Enviando %n arquivo","Enviando %n de arquivos","Enviando %n arquivos"],
"New" : "Novo",
"New file/folder menu" : "Menu de novo arquivo/pasta",
"Select file range" : "Selecionar o intervalo de arquivos",
@@ -430,7 +430,7 @@
"Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "A pasta de grupo \"{mountPoint}\" está quase cheia ({usedSpacePercent}%).",
"External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "O armazenamento externo \"{mountPoint}\" está quase cheio ({usedSpacePercent}%).",
"Your storage is almost full ({usedSpacePercent}%)." : "Seu armazenamento está quase cheio ({usedSpacePercent}%).",
- "_matches \"{filter}\"_::_match \"{filter}\"_" : ["coincide \"{filter}\"","coincide \"{filter}\"","coincide \"{filter}\""],
+ "_matches \"{filter}\"_::_match \"{filter}\"_" : ["corresponde a \"{filter}\"","correspondem a \"{filter}\"","correspondem a \"{filter}\""],
"Direct link was copied (only works for people who have access to this file/folder)" : "Link direto foi copiado (funciona apenas para pessoas que têm acesso a este arquivo/pasta)",
"Path" : "Caminho",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
@@ -443,16 +443,17 @@
"Upload (max. %s)" : "Upload (max. %s)",
"Submitting fields…" : "Enviando campos…",
"Filter filenames…" : "Filtrar nomes de arquivos…",
- "Edit file locally" : "Editar arquivo localmente",
- "Edit online" : "Editar on-line",
- "_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} pasta","{folderCount} pastas","{folderCount} pastas"],
- "_{fileCount} file_::_{fileCount} files_" : ["{fileCount} arquivo","{fileCount} arquivos","{fileCount} arquivos"],
- "_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 arquivo e {folderCount} pasta","1 arquivo e {folderCount} pastas","1 arquivo e {folderCount} pastas"],
- "_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} arquivo e 1 pasta","{fileCount} arquivos e 1 pasta","{fileCount} arquivos e 1 pasta"],
+ "_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} pasta","{folderCount} de pastas","{folderCount} pastas"],
+ "_{fileCount} file_::_{fileCount} files_" : ["{fileCount} arquivo","{fileCount} de arquivos","{fileCount} arquivos"],
+ "_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 arquivo e {folderCount} pasta","1 arquivo e {folderCount} de pastas","1 arquivo e {folderCount} pastas"],
+ "_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} arquivo e 1 pasta","{fileCount} de arquivos e 1 pasta","{fileCount} arquivos e 1 pasta"],
"{fileCount} files and {folderCount} folders" : "{fileCount} arquivos e {folderCount} pastas",
"Personal Files" : "Arquivos pessoais",
"Text file" : "Arquivo texto",
"New text file.txt" : "Novo arquivo de texto.txt",
+ "%1$s (renamed)" : "%1$s (renomeado)",
+ "renamed file" : "arquivo renomeado",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Depois de ativar os nomes de arquivos compatíveis com o Windows, os arquivos existentes não podem mais ser modificados, mas podem ser renomeados para novos nomes válidos pelo proprietário.",
"{count} files could not be converted" : "{count} arquivos não puderam ser convertidos",
"{count} files successfully converted" : "{count} arquivos convertidos com sucesso"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index 8aaaccd14ed..8751ef7bf53 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -279,12 +279,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Копирование или перемещение отменено",
"Open folder {displayName}" : "Открыть папку «{displayName}»",
"Open in Files" : "Открыть в приложении «Файлы»",
+ "Open locally" : "Открыть локально",
+ "Failed to redirect to client" : "Ошибка перенаправления в клиент",
"Open file locally" : "Открыть файл локально",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Теперь файл должен открыться на вашем устройстве. Если это не произошло, пожалуйста, убедитесь, что у вас установлено настольное приложение.",
"Retry and close" : "Повторить попытку и закрыть",
"Open online" : "Открыть онлайн",
- "Failed to redirect to client" : "Ошибка перенаправления в клиент",
- "Open locally" : "Открыть локально",
"Rename" : "Переименовать",
"Open details" : "Открыть подробности",
"View in folder" : "Посмотреть в каталоге",
@@ -435,8 +435,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Загрузка (максимум %s)",
"Submitting fields…" : "Отправка полей…",
"Filter filenames…" : "Фильтровать имена файлов…",
- "Edit file locally" : "Редактировать файл локально",
- "Edit online" : "Редактировать онлайн",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} папка","{folderCount} папки","{folderCount} папок","{folderCount} папки"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} файл","{fileCount} файла","{fileCount} файлов","{fileCount} файла"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["один файл и {folderCount} папка","один файл и {folderCount} папки","один файл и {folderCount} папок","один файл и {folderCount} папки"],
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 990e8624982..c30d4f4c920 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -277,12 +277,12 @@
"Cancelled move or copy operation" : "Копирование или перемещение отменено",
"Open folder {displayName}" : "Открыть папку «{displayName}»",
"Open in Files" : "Открыть в приложении «Файлы»",
+ "Open locally" : "Открыть локально",
+ "Failed to redirect to client" : "Ошибка перенаправления в клиент",
"Open file locally" : "Открыть файл локально",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Теперь файл должен открыться на вашем устройстве. Если это не произошло, пожалуйста, убедитесь, что у вас установлено настольное приложение.",
"Retry and close" : "Повторить попытку и закрыть",
"Open online" : "Открыть онлайн",
- "Failed to redirect to client" : "Ошибка перенаправления в клиент",
- "Open locally" : "Открыть локально",
"Rename" : "Переименовать",
"Open details" : "Открыть подробности",
"View in folder" : "Посмотреть в каталоге",
@@ -433,8 +433,6 @@
"Upload (max. %s)" : "Загрузка (максимум %s)",
"Submitting fields…" : "Отправка полей…",
"Filter filenames…" : "Фильтровать имена файлов…",
- "Edit file locally" : "Редактировать файл локально",
- "Edit online" : "Редактировать онлайн",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} папка","{folderCount} папки","{folderCount} папок","{folderCount} папки"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} файл","{fileCount} файла","{fileCount} файлов","{fileCount} файла"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["один файл и {folderCount} папка","один файл и {folderCount} папки","один файл и {folderCount} папок","один файл и {folderCount} папки"],
diff --git a/apps/files/l10n/sc.js b/apps/files/l10n/sc.js
index 4eaf13b42c3..90722be0e4c 100644
--- a/apps/files/l10n/sc.js
+++ b/apps/files/l10n/sc.js
@@ -160,8 +160,8 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Operatzione de tràmuda o còpia annullada",
"Open folder {displayName}" : "Aberi sa cartella {displayName}",
"Open in Files" : "Aberi in Archìvios",
- "Open file locally" : "Aberi s'archìviu in locale",
"Open locally" : "Aberi in locale",
+ "Open file locally" : "Aberi s'archìviu in locale",
"Rename" : "Torra a numenare",
"Open details" : "Aberi is detàllios",
"View in folder" : "Visualiza in sa cartella",
diff --git a/apps/files/l10n/sc.json b/apps/files/l10n/sc.json
index aabefe1451a..0bdada5e8a7 100644
--- a/apps/files/l10n/sc.json
+++ b/apps/files/l10n/sc.json
@@ -158,8 +158,8 @@
"Cancelled move or copy operation" : "Operatzione de tràmuda o còpia annullada",
"Open folder {displayName}" : "Aberi sa cartella {displayName}",
"Open in Files" : "Aberi in Archìvios",
- "Open file locally" : "Aberi s'archìviu in locale",
"Open locally" : "Aberi in locale",
+ "Open file locally" : "Aberi s'archìviu in locale",
"Rename" : "Torra a numenare",
"Open details" : "Aberi is detàllios",
"View in folder" : "Visualiza in sa cartella",
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index 62343002fb7..b4f176d76f9 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -279,12 +279,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Zrušená operácia kopírovania alebo presunu",
"Open folder {displayName}" : "Otvoriť priečinok {displayName}",
"Open in Files" : "Otvoriť v súboroch",
+ "Open locally" : "Otvoriť lokálne",
+ "Failed to redirect to client" : "Nepodarilo sa presmerovať na klienta",
"Open file locally" : "Otvoriť súbor lokálne",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Súbor by sa mal teraz otvoriť v zariadení. Ak sa tak nestane, skontrolujte, či máte nainštalovanú aplikáciu pre počítače.",
"Retry and close" : "Skúsiť znova a zatvoriť",
"Open online" : "Otvoriť online",
- "Failed to redirect to client" : "Nepodarilo sa presmerovať na klienta",
- "Open locally" : "Otvoriť lokálne",
"Rename" : "Premenovať",
"Open details" : "Otvoriť detaily",
"View in folder" : "Zobraziť v priečinku",
@@ -435,8 +435,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Nahrať (max. %s)",
"Submitting fields…" : "Položky sa odosielajú ...",
"Filter filenames…" : "Filtrovať názvy súborov...",
- "Edit file locally" : "Editovať súbor lokálne",
- "Edit online" : "Upraviť online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} priečinok","{folderCount} priečinky","{folderCount} priečinkov","{folderCount} priečinkov"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} súbor","{fileCount} súbory","{fileCount} súborov","{fileCount} súborov"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 súbor a {folderCount} priečinok","1 súbor a {folderCount} priečinky","1 súbor a {folderCount} priečinky","1 súbor a {folderCount} priečinky"],
diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json
index 30343cf97db..00da3b734a4 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -277,12 +277,12 @@
"Cancelled move or copy operation" : "Zrušená operácia kopírovania alebo presunu",
"Open folder {displayName}" : "Otvoriť priečinok {displayName}",
"Open in Files" : "Otvoriť v súboroch",
+ "Open locally" : "Otvoriť lokálne",
+ "Failed to redirect to client" : "Nepodarilo sa presmerovať na klienta",
"Open file locally" : "Otvoriť súbor lokálne",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Súbor by sa mal teraz otvoriť v zariadení. Ak sa tak nestane, skontrolujte, či máte nainštalovanú aplikáciu pre počítače.",
"Retry and close" : "Skúsiť znova a zatvoriť",
"Open online" : "Otvoriť online",
- "Failed to redirect to client" : "Nepodarilo sa presmerovať na klienta",
- "Open locally" : "Otvoriť lokálne",
"Rename" : "Premenovať",
"Open details" : "Otvoriť detaily",
"View in folder" : "Zobraziť v priečinku",
@@ -433,8 +433,6 @@
"Upload (max. %s)" : "Nahrať (max. %s)",
"Submitting fields…" : "Položky sa odosielajú ...",
"Filter filenames…" : "Filtrovať názvy súborov...",
- "Edit file locally" : "Editovať súbor lokálne",
- "Edit online" : "Upraviť online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} priečinok","{folderCount} priečinky","{folderCount} priečinkov","{folderCount} priečinkov"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} súbor","{fileCount} súbory","{fileCount} súborov","{fileCount} súborov"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 súbor a {folderCount} priečinok","1 súbor a {folderCount} priečinky","1 súbor a {folderCount} priečinky","1 súbor a {folderCount} priečinky"],
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index e9f36fa49e3..19893245a4a 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -281,12 +281,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Opravilo kopiranje in premikanja je preklicano",
"Open folder {displayName}" : "Odpri mapo {displayName}",
"Open in Files" : "Open in Files",
+ "Open locally" : "Odpri krajevno",
+ "Failed to redirect to client" : "Preusmerjanje odjemalca je spodletelo",
"Open file locally" : "Odpri datoteko krajevno",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Datoteka bi se sedaj morala odpreti z vaše naprave. Če se to ne zgodi, preverite namestitev namizne aplikacije.",
"Retry and close" : "Ponovno poskusi in zapri",
"Open online" : "Odpri v brskalniku",
- "Failed to redirect to client" : "Preusmerjanje odjemalca je spodletelo",
- "Open locally" : "Odpri krajevno",
"Rename" : "Preimenuj",
"Open details" : "Odpri podrobnosti",
"View in folder" : "Pokaži v mapi",
@@ -436,8 +436,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Pošiljanje (omejitev %s)",
"Submitting fields…" : "Poteka objavljanje vsebine polj ...",
"Filter filenames…" : "Filtriraj imena datotek ...",
- "Edit file locally" : "Uredi datoteko krajevno",
- "Edit online" : "Uredi na spletu",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mapa","{folderCount} mapi","{folderCount} mape","{folderCount} map"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} datoteka","{fileCount} datoteki","{fileCount} datoteke","{fileCount} datotek"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 datoteka in {folderCount} mapa","1 datoteka in {folderCount} mapi","1 datoteka in {folderCount} mape","1 datoteka in {folderCount} map"],
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index d7cbd0e10e1..f738ccdfba6 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -279,12 +279,12 @@
"Cancelled move or copy operation" : "Opravilo kopiranje in premikanja je preklicano",
"Open folder {displayName}" : "Odpri mapo {displayName}",
"Open in Files" : "Open in Files",
+ "Open locally" : "Odpri krajevno",
+ "Failed to redirect to client" : "Preusmerjanje odjemalca je spodletelo",
"Open file locally" : "Odpri datoteko krajevno",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Datoteka bi se sedaj morala odpreti z vaše naprave. Če se to ne zgodi, preverite namestitev namizne aplikacije.",
"Retry and close" : "Ponovno poskusi in zapri",
"Open online" : "Odpri v brskalniku",
- "Failed to redirect to client" : "Preusmerjanje odjemalca je spodletelo",
- "Open locally" : "Odpri krajevno",
"Rename" : "Preimenuj",
"Open details" : "Odpri podrobnosti",
"View in folder" : "Pokaži v mapi",
@@ -434,8 +434,6 @@
"Upload (max. %s)" : "Pošiljanje (omejitev %s)",
"Submitting fields…" : "Poteka objavljanje vsebine polj ...",
"Filter filenames…" : "Filtriraj imena datotek ...",
- "Edit file locally" : "Uredi datoteko krajevno",
- "Edit online" : "Uredi na spletu",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mapa","{folderCount} mapi","{folderCount} mape","{folderCount} map"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} datoteka","{fileCount} datoteki","{fileCount} datoteke","{fileCount} datotek"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 datoteka in {folderCount} mapa","1 datoteka in {folderCount} mapi","1 datoteka in {folderCount} mape","1 datoteka in {folderCount} map"],
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index aac16577263..1462028efbd 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Операција премештања или копирања је отказана",
"Open folder {displayName}" : "Отвори фолдер {displayName}",
"Open in Files" : "Отвори у Фајловима",
+ "Open locally" : "Отвори локално",
+ "Failed to redirect to client" : "Преусмеравање на клијента није успело",
"Open file locally" : "Отвори фајл локално",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Фајл би сада требало да се отвори на вашем уређају. Ако се не отвори, проверите да ли сте инсталирали декстоп апликацију.",
"Retry and close" : "Покушај поново и затвори",
"Open online" : "Отвори на мрежи",
- "Failed to redirect to client" : "Преусмеравање на клијента није успело",
- "Open locally" : "Отвори локално",
"Rename" : "Преименуј",
"Open details" : "Отвори детаље",
"View in folder" : "Види у фасцикли",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Отпремање (макс. %s)",
"Submitting fields…" : "Поља се подносе…",
"Filter filenames…" : "Филтрирање имена фајлова…",
- "Edit file locally" : "Уреди фајл локално",
- "Edit online" : "Уреди на мрежи",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} фолдер","{folderCount} фолдера","{folderCount} фолдера"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} фајл","{fileCount} фајла","{fileCount} фајлова"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 фајл и {folderCount} фолдер","1 фајл и {folderCount} фолдера","1 фајл и {folderCount} фолдера"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Лични фајлови",
"Text file" : "Tекстуални фајл",
"New text file.txt" : "Нов текстуални фајл.txt",
+ "%1$s (renamed)" : "%1$s (преименован)",
+ "renamed file" : "преименован фајл",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Када се укључе windows компатибилна имена фајлова, постојећи фајлови се више неће моћи мењати, али њихов власник може да им промени име на исправно ново име.",
"{count} files could not be converted" : "Није могло да се конвертује {count} фајлова",
"{count} files successfully converted" : "Успешно је конвертовано {count} фајлова"
},
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index b2d6b3cb257..e4cfab160f8 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Операција премештања или копирања је отказана",
"Open folder {displayName}" : "Отвори фолдер {displayName}",
"Open in Files" : "Отвори у Фајловима",
+ "Open locally" : "Отвори локално",
+ "Failed to redirect to client" : "Преусмеравање на клијента није успело",
"Open file locally" : "Отвори фајл локално",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Фајл би сада требало да се отвори на вашем уређају. Ако се не отвори, проверите да ли сте инсталирали декстоп апликацију.",
"Retry and close" : "Покушај поново и затвори",
"Open online" : "Отвори на мрежи",
- "Failed to redirect to client" : "Преусмеравање на клијента није успело",
- "Open locally" : "Отвори локално",
"Rename" : "Преименуј",
"Open details" : "Отвори детаље",
"View in folder" : "Види у фасцикли",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Отпремање (макс. %s)",
"Submitting fields…" : "Поља се подносе…",
"Filter filenames…" : "Филтрирање имена фајлова…",
- "Edit file locally" : "Уреди фајл локално",
- "Edit online" : "Уреди на мрежи",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} фолдер","{folderCount} фолдера","{folderCount} фолдера"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} фајл","{fileCount} фајла","{fileCount} фајлова"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 фајл и {folderCount} фолдер","1 фајл и {folderCount} фолдера","1 фајл и {folderCount} фолдера"],
@@ -453,6 +451,9 @@
"Personal Files" : "Лични фајлови",
"Text file" : "Tекстуални фајл",
"New text file.txt" : "Нов текстуални фајл.txt",
+ "%1$s (renamed)" : "%1$s (преименован)",
+ "renamed file" : "преименован фајл",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Када се укључе windows компатибилна имена фајлова, постојећи фајлови се више неће моћи мењати, али њихов власник може да им промени име на исправно ново име.",
"{count} files could not be converted" : "Није могло да се конвертује {count} фајлова",
"{count} files successfully converted" : "Успешно је конвертовано {count} фајлова"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index d4428ac84de..bb758578e22 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Flytta eller kopiera avbröts",
"Open folder {displayName}" : "Öppna mappen {displayName}",
"Open in Files" : "Öppna i Filer",
+ "Open locally" : "Öppna lokalt",
+ "Failed to redirect to client" : "Det gick inte att omdirigera till klienten",
"Open file locally" : "Öppna filen lokalt",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Filen bör nu öppnas på din enhet. Om den inte gör det, kontrollera att du har installerat skrivbordsappen.",
"Retry and close" : "Försök igen och stäng",
"Open online" : "Öppna online",
- "Failed to redirect to client" : "Det gick inte att omdirigera till klienten",
- "Open locally" : "Öppna lokalt",
"Rename" : "Byt namn",
"Open details" : "Öppna detaljer",
"View in folder" : "Utforska i mapp",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Ladda upp (högst %s)",
"Submitting fields…" : "Skickar fält...",
"Filter filenames…" : "Filtrera filnamn...",
- "Edit file locally" : "Redigera filen lokalt",
- "Edit online" : "Redigera online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mapp","{folderCount} mappar"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fil","{fileCount} filer"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fil och {folderCount} mapp","1 fil och {folderCount} mappar"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Personliga filer",
"Text file" : "Textfil",
"New text file.txt" : "Ny textfil.txt",
+ "%1$s (renamed)" : "%1$s (omdöpt)",
+ "renamed file" : "omdöpt fil",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "När Windows-kompatibla filnamn har aktiverats kan befintliga filer inte längre ändras, men de kan byta namn till giltiga nya namn av sin ägare.",
"{count} files could not be converted" : "{count} filer kunde inte konverteras",
"{count} files successfully converted" : "{count} filer har konverterats"
},
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index e56bc427e48..e0ac773057c 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "Flytta eller kopiera avbröts",
"Open folder {displayName}" : "Öppna mappen {displayName}",
"Open in Files" : "Öppna i Filer",
+ "Open locally" : "Öppna lokalt",
+ "Failed to redirect to client" : "Det gick inte att omdirigera till klienten",
"Open file locally" : "Öppna filen lokalt",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Filen bör nu öppnas på din enhet. Om den inte gör det, kontrollera att du har installerat skrivbordsappen.",
"Retry and close" : "Försök igen och stäng",
"Open online" : "Öppna online",
- "Failed to redirect to client" : "Det gick inte att omdirigera till klienten",
- "Open locally" : "Öppna lokalt",
"Rename" : "Byt namn",
"Open details" : "Öppna detaljer",
"View in folder" : "Utforska i mapp",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "Ladda upp (högst %s)",
"Submitting fields…" : "Skickar fält...",
"Filter filenames…" : "Filtrera filnamn...",
- "Edit file locally" : "Redigera filen lokalt",
- "Edit online" : "Redigera online",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} mapp","{folderCount} mappar"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} fil","{fileCount} filer"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 fil och {folderCount} mapp","1 fil och {folderCount} mappar"],
@@ -453,6 +451,9 @@
"Personal Files" : "Personliga filer",
"Text file" : "Textfil",
"New text file.txt" : "Ny textfil.txt",
+ "%1$s (renamed)" : "%1$s (omdöpt)",
+ "renamed file" : "omdöpt fil",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "När Windows-kompatibla filnamn har aktiverats kan befintliga filer inte längre ändras, men de kan byta namn till giltiga nya namn av sin ägare.",
"{count} files could not be converted" : "{count} filer kunde inte konverteras",
"{count} files successfully converted" : "{count} filer har konverterats"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index f15d99f1ed7..eea5436da02 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -279,12 +279,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Taşıma ya da kopyalama işlemi iptal edildi",
"Open folder {displayName}" : "{displayName} klasörünü aç",
"Open in Files" : "Dosyalar uygulamasında aç",
+ "Open locally" : "Yerel olarak aç",
+ "Failed to redirect to client" : "İstemciye yönlendirilemedi",
"Open file locally" : "Dosyayı yerel olarak aç",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Dosya artık aygıtınızda açılmalıdır. Açılmazsa lütfen masaüstü uygulamasının kurulu olduğundan emin olun.",
"Retry and close" : "Yeniden deneyip kapat",
"Open online" : "Çevrim içi aç",
- "Failed to redirect to client" : "İstemciye yönlendirilemedi",
- "Open locally" : "Yerel olarak aç",
"Rename" : "Yeniden adlandır",
"Open details" : "Ayrıntıları aç",
"View in folder" : "Klasörde görüntüle",
@@ -435,8 +435,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Yükle (en büyük: %s)",
"Submitting fields…" : "Alanlar gönderiliyor…",
"Filter filenames…" : "Dosya adlarını süz…",
- "Edit file locally" : "Dosyayı yerel olarak düzenle",
- "Edit online" : "Çevrim içi düzenle",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} klasör","{folderCount} klasör"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} dosya","{fileCount} dosya"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 dosya ve {folderCount} klasör","1 dosya ve {folderCount} klasör"],
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index 91591db8821..8ddb0791fe6 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -277,12 +277,12 @@
"Cancelled move or copy operation" : "Taşıma ya da kopyalama işlemi iptal edildi",
"Open folder {displayName}" : "{displayName} klasörünü aç",
"Open in Files" : "Dosyalar uygulamasında aç",
+ "Open locally" : "Yerel olarak aç",
+ "Failed to redirect to client" : "İstemciye yönlendirilemedi",
"Open file locally" : "Dosyayı yerel olarak aç",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Dosya artık aygıtınızda açılmalıdır. Açılmazsa lütfen masaüstü uygulamasının kurulu olduğundan emin olun.",
"Retry and close" : "Yeniden deneyip kapat",
"Open online" : "Çevrim içi aç",
- "Failed to redirect to client" : "İstemciye yönlendirilemedi",
- "Open locally" : "Yerel olarak aç",
"Rename" : "Yeniden adlandır",
"Open details" : "Ayrıntıları aç",
"View in folder" : "Klasörde görüntüle",
@@ -433,8 +433,6 @@
"Upload (max. %s)" : "Yükle (en büyük: %s)",
"Submitting fields…" : "Alanlar gönderiliyor…",
"Filter filenames…" : "Dosya adlarını süz…",
- "Edit file locally" : "Dosyayı yerel olarak düzenle",
- "Edit online" : "Çevrim içi düzenle",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} klasör","{folderCount} klasör"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} dosya","{fileCount} dosya"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 dosya ve {folderCount} klasör","1 dosya ve {folderCount} klasör"],
diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js
index 5c828bb4c51..b277568a525 100644
--- a/apps/files/l10n/ug.js
+++ b/apps/files/l10n/ug.js
@@ -218,9 +218,9 @@ OC.L10N.register(
"Cancelled move or copy operation" : "يۆتكەش ياكى كۆچۈرۈش مەشغۇلاتى ئەمەلدىن قالدۇرۇلدى",
"Open folder {displayName}" : "ھۆججەت قىسقۇچ {displayName}",
"Open in Files" : "ھۆججەتلەرنى ئېچىڭ",
- "Open file locally" : "ھۆججەتنى يەرلىكتە ئېچىڭ",
- "Failed to redirect to client" : "خېرىدارغا قايتا نىشانلاش مەغلۇپ بولدى",
"Open locally" : "يەرلىكتە ئېچىڭ",
+ "Failed to redirect to client" : "خېرىدارغا قايتا نىشانلاش مەغلۇپ بولدى",
+ "Open file locally" : "ھۆججەتنى يەرلىكتە ئېچىڭ",
"Rename" : "ئات ئۆزگەرت",
"Open details" : "تەپسىلاتلارنى ئېچىڭ",
"View in folder" : "قىسقۇچتا كۆرۈش",
@@ -365,8 +365,6 @@ OC.L10N.register(
"Upload (max. %s)" : "يۈكلەش (max.% S)",
"Submitting fields…" : "يول يوللاش…",
"Filter filenames…" : "ھۆججەت نامىنى سۈزۈڭ…",
- "Edit file locally" : "ھۆججەتنى يەرلىكتە تەھرىرلەڭ",
- "Edit online" : "توردا تەھرىرلەڭ",
"{fileCount} files and {folderCount} folders" : "{fileCount} ھۆججەتلىرى ۋە {folderCount} ھۆججەت قىسقۇچلىرى",
"Personal Files" : "شەخسىي ھۆججەتلەر",
"Text file" : "تېكىست ھۆججەت",
diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json
index bd7dae0388f..518c039bbce 100644
--- a/apps/files/l10n/ug.json
+++ b/apps/files/l10n/ug.json
@@ -216,9 +216,9 @@
"Cancelled move or copy operation" : "يۆتكەش ياكى كۆچۈرۈش مەشغۇلاتى ئەمەلدىن قالدۇرۇلدى",
"Open folder {displayName}" : "ھۆججەت قىسقۇچ {displayName}",
"Open in Files" : "ھۆججەتلەرنى ئېچىڭ",
- "Open file locally" : "ھۆججەتنى يەرلىكتە ئېچىڭ",
- "Failed to redirect to client" : "خېرىدارغا قايتا نىشانلاش مەغلۇپ بولدى",
"Open locally" : "يەرلىكتە ئېچىڭ",
+ "Failed to redirect to client" : "خېرىدارغا قايتا نىشانلاش مەغلۇپ بولدى",
+ "Open file locally" : "ھۆججەتنى يەرلىكتە ئېچىڭ",
"Rename" : "ئات ئۆزگەرت",
"Open details" : "تەپسىلاتلارنى ئېچىڭ",
"View in folder" : "قىسقۇچتا كۆرۈش",
@@ -363,8 +363,6 @@
"Upload (max. %s)" : "يۈكلەش (max.% S)",
"Submitting fields…" : "يول يوللاش…",
"Filter filenames…" : "ھۆججەت نامىنى سۈزۈڭ…",
- "Edit file locally" : "ھۆججەتنى يەرلىكتە تەھرىرلەڭ",
- "Edit online" : "توردا تەھرىرلەڭ",
"{fileCount} files and {folderCount} folders" : "{fileCount} ھۆججەتلىرى ۋە {folderCount} ھۆججەت قىسقۇچلىرى",
"Personal Files" : "شەخسىي ھۆججەتلەر",
"Text file" : "تېكىست ھۆججەت",
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index e565adfc9de..a800b46858d 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -70,6 +70,8 @@ OC.L10N.register(
"Transferred from %1$s on %2$s" : "Перенесено від %1$s до %2$s",
"Files compatibility" : "Сумісність файлів",
"Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Дозволити обмежувати імена файлів для забезпечення сумісності з різними клієнтами. Типово всі імена файлів, які відповідають моделі POSIX (напр., Linux, macOS), дозволені.",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Після увімкнення сумісности імен файлів з системою Windows наявні файли неможливо буде змінити, але власники зможуть перейменувати ці файли на нові з дійсними іменами.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Також можлива автоматична міграція файлів після увімкнення цих налаштувань. Ознайомтеся з документацією відповідної команди occ.",
"Enforce Windows compatibility" : "Увімкнути сумісність із Windows",
"This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Це унеможливить використання імен файлів, які не сумісні з системами Windows, напр., використанння зарезервованих імен або спеціальних символів. Зауважте, що це не обмежить сумісність за регістром символів.",
"File Management" : "Керування файлами",
@@ -95,6 +97,11 @@ OC.L10N.register(
"Renamed \"{oldName}\" to \"{newName}\"" : "Перейменовано \"{oldName}\" на \"{newName}\"",
"Rename file" : "Перейменувати файл",
"Folder" : "Каталог",
+ "Unknown file type" : "Невідомий тип файлу",
+ "{ext} image" : "{ext} зображення",
+ "{ext} video" : "{ext} відео",
+ "{ext} audio" : "{ext} аудіо",
+ "{ext} text" : "{ext} текст",
"Pending" : "Очікування",
"Unknown date" : "Невідома дата",
"Clear filter" : "Очистити фільтр",
@@ -105,6 +112,7 @@ OC.L10N.register(
"Total rows summary" : "Загалом рядків",
"Toggle selection for all files and folders" : "Перемкнути вибір для всіх файлів та каталогів",
"Name" : "Ім'я",
+ "File type" : "Тип файлу",
"Size" : "Розмір",
"\"{displayName}\" failed on some elements" : "\"{displayName}\" не спрацював у деяких елементах",
"\"{displayName}\" batch action executed successfully" : "Операцію \"{displayName}\" успішно виконано",
@@ -183,6 +191,7 @@ OC.L10N.register(
"Sort favorites first" : "Спочатку показувати із зірочкою",
"Sort folders before files" : "Показувати каталоги перед файлами",
"Show hidden files" : "Показувати приховані файли",
+ "Show file type column" : "Показувати стовпець з типом файлу",
"Crop image previews" : "Попередній перегляд перед кадруванням",
"Enable the grid view" : "Увімкнути подання сіткою",
"Enable folder tree" : "Увімкнути дерево каталогів",
@@ -279,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Переміщення або копіювання скасовано",
"Open folder {displayName}" : "Відкрити каталог {displayName}",
"Open in Files" : "Відкрити у Файлах",
+ "Open locally" : "Відкрити локально",
+ "Failed to redirect to client" : "Не вдалося перенаправити на клієнта",
"Open file locally" : "Відкрити файл локально",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Тепер файл можна відкрити на вашому пристрої. Якщо він не відкривається, перевірте, що у вас встановлено настільний клієнт синхронізації.",
"Retry and close" : "Спробувати ще раз",
"Open online" : "Відкрити віддалено",
- "Failed to redirect to client" : "Не вдалося перенаправити на клієнта",
- "Open locally" : "Відкрити локально",
"Rename" : "Перейменувати",
"Open details" : "Показати деталі",
"View in folder" : "Переглянути у каталозі",
@@ -436,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "Завантаження (макс. %s)",
"Submitting fields…" : "Поля для надсилання...",
"Filter filenames…" : "Вибрати файли за ім'ям ...",
- "Edit file locally" : "Редагувати файл на пристрої",
- "Edit online" : "Відкрити онлайн",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} каталог","{folderCount} каталоги","{folderCount} каталогів","{folderCount} каталогів"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} файл","{fileCount} файли","{fileCount} файлів","{fileCount} файлів"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 файл та {folderCount} каталог","1 файл та {folderCount} каталоги","1 файл та {folderCount} каталогів","1 файл та {folderCount} каталогів"],
@@ -446,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "Мої документи",
"Text file" : "Текстовий файл",
"New text file.txt" : "Новий текстовий файл.txt",
+ "%1$s (renamed)" : "%1$s (перейменовано)",
+ "renamed file" : "перейменовано файл",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Після увімкнення сумісности імен файлів з системою Windows наявні файли неможливо буде змінити, але власники зможуть перейменувати ці файли на нові з дійсними іменами.",
"{count} files could not be converted" : "Неможливо конвертувати {count} файлів",
"{count} files successfully converted" : "Успішно конвертовано {count} файлів"
},
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index e133f666763..0e58cbd39aa 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -68,6 +68,8 @@
"Transferred from %1$s on %2$s" : "Перенесено від %1$s до %2$s",
"Files compatibility" : "Сумісність файлів",
"Allow to restrict filenames to ensure files can be synced with all clients. By default all filenames valid on POSIX (e.g. Linux or macOS) are allowed." : "Дозволити обмежувати імена файлів для забезпечення сумісності з різними клієнтами. Типово всі імена файлів, які відповідають моделі POSIX (напр., Linux, macOS), дозволені.",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Після увімкнення сумісности імен файлів з системою Windows наявні файли неможливо буде змінити, але власники зможуть перейменувати ці файли на нові з дійсними іменами.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Також можлива автоматична міграція файлів після увімкнення цих налаштувань. Ознайомтеся з документацією відповідної команди occ.",
"Enforce Windows compatibility" : "Увімкнути сумісність із Windows",
"This will block filenames not valid on Windows systems, like using reserved names or special characters. But this will not enforce compatibility of case sensitivity." : "Це унеможливить використання імен файлів, які не сумісні з системами Windows, напр., використанння зарезервованих імен або спеціальних символів. Зауважте, що це не обмежить сумісність за регістром символів.",
"File Management" : "Керування файлами",
@@ -93,6 +95,11 @@
"Renamed \"{oldName}\" to \"{newName}\"" : "Перейменовано \"{oldName}\" на \"{newName}\"",
"Rename file" : "Перейменувати файл",
"Folder" : "Каталог",
+ "Unknown file type" : "Невідомий тип файлу",
+ "{ext} image" : "{ext} зображення",
+ "{ext} video" : "{ext} відео",
+ "{ext} audio" : "{ext} аудіо",
+ "{ext} text" : "{ext} текст",
"Pending" : "Очікування",
"Unknown date" : "Невідома дата",
"Clear filter" : "Очистити фільтр",
@@ -103,6 +110,7 @@
"Total rows summary" : "Загалом рядків",
"Toggle selection for all files and folders" : "Перемкнути вибір для всіх файлів та каталогів",
"Name" : "Ім'я",
+ "File type" : "Тип файлу",
"Size" : "Розмір",
"\"{displayName}\" failed on some elements" : "\"{displayName}\" не спрацював у деяких елементах",
"\"{displayName}\" batch action executed successfully" : "Операцію \"{displayName}\" успішно виконано",
@@ -181,6 +189,7 @@
"Sort favorites first" : "Спочатку показувати із зірочкою",
"Sort folders before files" : "Показувати каталоги перед файлами",
"Show hidden files" : "Показувати приховані файли",
+ "Show file type column" : "Показувати стовпець з типом файлу",
"Crop image previews" : "Попередній перегляд перед кадруванням",
"Enable the grid view" : "Увімкнути подання сіткою",
"Enable folder tree" : "Увімкнути дерево каталогів",
@@ -277,12 +286,12 @@
"Cancelled move or copy operation" : "Переміщення або копіювання скасовано",
"Open folder {displayName}" : "Відкрити каталог {displayName}",
"Open in Files" : "Відкрити у Файлах",
+ "Open locally" : "Відкрити локально",
+ "Failed to redirect to client" : "Не вдалося перенаправити на клієнта",
"Open file locally" : "Відкрити файл локально",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Тепер файл можна відкрити на вашому пристрої. Якщо він не відкривається, перевірте, що у вас встановлено настільний клієнт синхронізації.",
"Retry and close" : "Спробувати ще раз",
"Open online" : "Відкрити віддалено",
- "Failed to redirect to client" : "Не вдалося перенаправити на клієнта",
- "Open locally" : "Відкрити локально",
"Rename" : "Перейменувати",
"Open details" : "Показати деталі",
"View in folder" : "Переглянути у каталозі",
@@ -434,8 +443,6 @@
"Upload (max. %s)" : "Завантаження (макс. %s)",
"Submitting fields…" : "Поля для надсилання...",
"Filter filenames…" : "Вибрати файли за ім'ям ...",
- "Edit file locally" : "Редагувати файл на пристрої",
- "Edit online" : "Відкрити онлайн",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} каталог","{folderCount} каталоги","{folderCount} каталогів","{folderCount} каталогів"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} файл","{fileCount} файли","{fileCount} файлів","{fileCount} файлів"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 файл та {folderCount} каталог","1 файл та {folderCount} каталоги","1 файл та {folderCount} каталогів","1 файл та {folderCount} каталогів"],
@@ -444,6 +451,9 @@
"Personal Files" : "Мої документи",
"Text file" : "Текстовий файл",
"New text file.txt" : "Новий текстовий файл.txt",
+ "%1$s (renamed)" : "%1$s (перейменовано)",
+ "renamed file" : "перейменовано файл",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Після увімкнення сумісности імен файлів з системою Windows наявні файли неможливо буде змінити, але власники зможуть перейменувати ці файли на нові з дійсними іменами.",
"{count} files could not be converted" : "Неможливо конвертувати {count} файлів",
"{count} files successfully converted" : "Успішно конвертовано {count} файлів"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js
index 475bafe02f5..c7730a797e1 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -219,9 +219,9 @@ OC.L10N.register(
"Cancelled move or copy operation" : "Đã hủy thao tác di chuyển hoặc sao chép",
"Open folder {displayName}" : "Mở thư mục {displayName}",
"Open in Files" : "Mở trong Tệp",
- "Open file locally" : "Mở tệp cục bộ (local)/ ngoại tuyến",
- "Failed to redirect to client" : "Không thể chuyển hướng đến ứng dụng khách",
"Open locally" : "Mở cục bộ (local)/ ngoại tuyến",
+ "Failed to redirect to client" : "Không thể chuyển hướng đến ứng dụng khách",
+ "Open file locally" : "Mở tệp cục bộ (local)/ ngoại tuyến",
"Rename" : "Đổi tên",
"Open details" : "Mở chi tiết",
"View in folder" : "Xem trong thư mục",
@@ -362,8 +362,6 @@ OC.L10N.register(
"An error occurred while trying to update the tags" : "Đã xảy ra lỗi khi cố gắng cập nhật tags",
"Upload (max. %s)" : "Tải lên (tối đa %s)",
"Filter filenames…" : "Lọc tên tệp…",
- "Edit file locally" : "Chỉnh sửa tập tin ngoại tuyến",
- "Edit online" : "Chỉnh sửa trực tuyến",
"_{folderCount} folder_::_{folderCount} folders_" : ["thư mục {folderCount}"],
"_{fileCount} file_::_{fileCount} files_" : ["tệp {fileCount}"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 tệp và thư mục {folderCount}"],
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index 0e11bbac94d..ebb4a3ae9e1 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -217,9 +217,9 @@
"Cancelled move or copy operation" : "Đã hủy thao tác di chuyển hoặc sao chép",
"Open folder {displayName}" : "Mở thư mục {displayName}",
"Open in Files" : "Mở trong Tệp",
- "Open file locally" : "Mở tệp cục bộ (local)/ ngoại tuyến",
- "Failed to redirect to client" : "Không thể chuyển hướng đến ứng dụng khách",
"Open locally" : "Mở cục bộ (local)/ ngoại tuyến",
+ "Failed to redirect to client" : "Không thể chuyển hướng đến ứng dụng khách",
+ "Open file locally" : "Mở tệp cục bộ (local)/ ngoại tuyến",
"Rename" : "Đổi tên",
"Open details" : "Mở chi tiết",
"View in folder" : "Xem trong thư mục",
@@ -360,8 +360,6 @@
"An error occurred while trying to update the tags" : "Đã xảy ra lỗi khi cố gắng cập nhật tags",
"Upload (max. %s)" : "Tải lên (tối đa %s)",
"Filter filenames…" : "Lọc tên tệp…",
- "Edit file locally" : "Chỉnh sửa tập tin ngoại tuyến",
- "Edit online" : "Chỉnh sửa trực tuyến",
"_{folderCount} folder_::_{folderCount} folders_" : ["thư mục {folderCount}"],
"_{fileCount} file_::_{fileCount} files_" : ["tệp {fileCount}"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 tệp và thư mục {folderCount}"],
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 1bbbdb18e88..66cd6bc7bdd 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "已取消移动或复制操作",
"Open folder {displayName}" : "打开文件夹{displayName}",
"Open in Files" : "在文件中打开",
+ "Open locally" : "本地打开",
+ "Failed to redirect to client" : "重定向到客户端失败",
"Open file locally" : "在本地打开文件",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "该文件现在应该在你的设备上打开。如果没有,请检查你是否安装了桌面应用程序。",
"Retry and close" : "重试并关闭",
"Open online" : "在线打开",
- "Failed to redirect to client" : "重定向到客户端失败",
- "Open locally" : "本地打开",
"Rename" : "重命名",
"Open details" : "打开详情",
"View in folder" : "在文件夹中查看",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "上传 (最大 %s)",
"Submitting fields…" : "提交字段...",
"Filter filenames…" : "过滤文件名...",
- "Edit file locally" : "本地编辑",
- "Edit online" : "在线编辑",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} 个文件夹"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} 个文件"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 个文件夹及 {folderCount} 个文件夹"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "个人文件",
"Text file" : "文本文件",
"New text file.txt" : "新建文本文件.txt",
+ "%1$s (renamed)" : "%1$s(已重命名)",
+ "renamed file" : "已重命名文件",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "启用与 Windows 兼容的文件名后,无法再修改现有文件,但可以由其所有者重命名为有效的新名称。",
"{count} files could not be converted" : "{count} 个文件无法转换",
"{count} files successfully converted" : "{count} 个文件已成功转换"
},
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index dd225ef638a..7fa07ebcbcf 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "已取消移动或复制操作",
"Open folder {displayName}" : "打开文件夹{displayName}",
"Open in Files" : "在文件中打开",
+ "Open locally" : "本地打开",
+ "Failed to redirect to client" : "重定向到客户端失败",
"Open file locally" : "在本地打开文件",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "该文件现在应该在你的设备上打开。如果没有,请检查你是否安装了桌面应用程序。",
"Retry and close" : "重试并关闭",
"Open online" : "在线打开",
- "Failed to redirect to client" : "重定向到客户端失败",
- "Open locally" : "本地打开",
"Rename" : "重命名",
"Open details" : "打开详情",
"View in folder" : "在文件夹中查看",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "上传 (最大 %s)",
"Submitting fields…" : "提交字段...",
"Filter filenames…" : "过滤文件名...",
- "Edit file locally" : "本地编辑",
- "Edit online" : "在线编辑",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} 个文件夹"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} 个文件"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 个文件夹及 {folderCount} 个文件夹"],
@@ -453,6 +451,9 @@
"Personal Files" : "个人文件",
"Text file" : "文本文件",
"New text file.txt" : "新建文本文件.txt",
+ "%1$s (renamed)" : "%1$s(已重命名)",
+ "renamed file" : "已重命名文件",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "启用与 Windows 兼容的文件名后,无法再修改现有文件,但可以由其所有者重命名为有效的新名称。",
"{count} files could not be converted" : "{count} 个文件无法转换",
"{count} files successfully converted" : "{count} 个文件已成功转换"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js
index 4c279ff809a..650ec7a5511 100644
--- a/apps/files/l10n/zh_HK.js
+++ b/apps/files/l10n/zh_HK.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "已取消移動或複製操作",
"Open folder {displayName}" : "打開資料夾 {displayName}",
"Open in Files" : "在「檔案」應用程式中打開",
+ "Open locally" : "在近端打開",
+ "Failed to redirect to client" : "無法重定向到客戶端",
"Open file locally" : "在近端打開檔案",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "檔案現在應該在您的裝置上打開。如果沒有,請檢查您是否已安裝桌面應用程式。",
"Retry and close" : "重試和關閉",
"Open online" : "線上開啟",
- "Failed to redirect to client" : "無法重定向到客戶端",
- "Open locally" : "在近端打開",
"Rename" : "重新命名",
"Open details" : "開啟細節",
"View in folder" : "在資料夾中檢視",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "上傳(上限 %s)",
"Submitting fields…" : "正在遞交欄位 …",
"Filter filenames…" : "過濾檔案名 ...",
- "Edit file locally" : "在近端編輯檔案",
- "Edit online" : "在線編輯",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} 個資料夾"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} 個檔案"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 個檔案與 {folderCount} 個資料夾"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "個人檔案",
"Text file" : "文字檔",
"New text file.txt" : "新文字檔.txt",
+ "%1$s (renamed)" : "%1$s(已重新命名)",
+ "renamed file" : "已重新命名的檔案",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用 Windows 兼容檔案名後,現有的檔案無法再被修改,但其擁有者可以將其重新命名為有效的新名稱。",
"{count} files could not be converted" : "{count} 個檔案無法轉換",
"{count} files successfully converted" : "{count} 個檔案成功轉換"
},
diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json
index 39825088806..60bfa5bab26 100644
--- a/apps/files/l10n/zh_HK.json
+++ b/apps/files/l10n/zh_HK.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "已取消移動或複製操作",
"Open folder {displayName}" : "打開資料夾 {displayName}",
"Open in Files" : "在「檔案」應用程式中打開",
+ "Open locally" : "在近端打開",
+ "Failed to redirect to client" : "無法重定向到客戶端",
"Open file locally" : "在近端打開檔案",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "檔案現在應該在您的裝置上打開。如果沒有,請檢查您是否已安裝桌面應用程式。",
"Retry and close" : "重試和關閉",
"Open online" : "線上開啟",
- "Failed to redirect to client" : "無法重定向到客戶端",
- "Open locally" : "在近端打開",
"Rename" : "重新命名",
"Open details" : "開啟細節",
"View in folder" : "在資料夾中檢視",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "上傳(上限 %s)",
"Submitting fields…" : "正在遞交欄位 …",
"Filter filenames…" : "過濾檔案名 ...",
- "Edit file locally" : "在近端編輯檔案",
- "Edit online" : "在線編輯",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} 個資料夾"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} 個檔案"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 個檔案與 {folderCount} 個資料夾"],
@@ -453,6 +451,9 @@
"Personal Files" : "個人檔案",
"Text file" : "文字檔",
"New text file.txt" : "新文字檔.txt",
+ "%1$s (renamed)" : "%1$s(已重新命名)",
+ "renamed file" : "已重新命名的檔案",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用 Windows 兼容檔案名後,現有的檔案無法再被修改,但其擁有者可以將其重新命名為有效的新名稱。",
"{count} files could not be converted" : "{count} 個檔案無法轉換",
"{count} files successfully converted" : "{count} 個檔案成功轉換"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 808a21a8f2a..960e6ec7a8c 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -288,12 +288,12 @@ OC.L10N.register(
"Cancelled move or copy operation" : "已取消移動或複製操作",
"Open folder {displayName}" : "開啟資料夾 {displayName}",
"Open in Files" : "以「檔案」開啟",
+ "Open locally" : "在本機開啟",
+ "Failed to redirect to client" : "重新導向到客戶端失敗",
"Open file locally" : "在本機開啟檔案",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "檔案現在應該可以在您的裝置上開啟。如果打不開,請檢查您是否有安裝桌面應用程式。",
"Retry and close" : "重試並關閉",
"Open online" : "線上開啟",
- "Failed to redirect to client" : "重新導向到客戶端失敗",
- "Open locally" : "在本機開啟",
"Rename" : "重新命名",
"Open details" : "開啟詳細資訊",
"View in folder" : "在資料夾中檢視",
@@ -445,8 +445,6 @@ OC.L10N.register(
"Upload (max. %s)" : "上傳(最多 %s)",
"Submitting fields…" : "正在遞交欄位……",
"Filter filenames…" : "篩選檔案名稱……",
- "Edit file locally" : "本機編輯檔案",
- "Edit online" : "線上編輯",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} 個資料夾"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} 個檔案"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 個檔案與 {folderCount} 個資料夾"],
@@ -455,6 +453,9 @@ OC.L10N.register(
"Personal Files" : "個人檔案",
"Text file" : "文字檔案",
"New text file.txt" : "新文字檔案.txt",
+ "%1$s (renamed)" : "%1$s(已重新命名)",
+ "renamed file" : "已重新命名檔案",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用與 Windows 相容的檔案名稱後,無法再修改現有檔案,但可以由其擁有者重新命名為有效的新名稱。",
"{count} files could not be converted" : "{count} 個檔案無法轉換",
"{count} files successfully converted" : "{count} 個檔案成功轉換"
},
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index 4037307ffa6..a331632097a 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -286,12 +286,12 @@
"Cancelled move or copy operation" : "已取消移動或複製操作",
"Open folder {displayName}" : "開啟資料夾 {displayName}",
"Open in Files" : "以「檔案」開啟",
+ "Open locally" : "在本機開啟",
+ "Failed to redirect to client" : "重新導向到客戶端失敗",
"Open file locally" : "在本機開啟檔案",
"The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "檔案現在應該可以在您的裝置上開啟。如果打不開,請檢查您是否有安裝桌面應用程式。",
"Retry and close" : "重試並關閉",
"Open online" : "線上開啟",
- "Failed to redirect to client" : "重新導向到客戶端失敗",
- "Open locally" : "在本機開啟",
"Rename" : "重新命名",
"Open details" : "開啟詳細資訊",
"View in folder" : "在資料夾中檢視",
@@ -443,8 +443,6 @@
"Upload (max. %s)" : "上傳(最多 %s)",
"Submitting fields…" : "正在遞交欄位……",
"Filter filenames…" : "篩選檔案名稱……",
- "Edit file locally" : "本機編輯檔案",
- "Edit online" : "線上編輯",
"_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} 個資料夾"],
"_{fileCount} file_::_{fileCount} files_" : ["{fileCount} 個檔案"],
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 個檔案與 {folderCount} 個資料夾"],
@@ -453,6 +451,9 @@
"Personal Files" : "個人檔案",
"Text file" : "文字檔案",
"New text file.txt" : "新文字檔案.txt",
+ "%1$s (renamed)" : "%1$s(已重新命名)",
+ "renamed file" : "已重新命名檔案",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "啟用與 Windows 相容的檔案名稱後,無法再修改現有檔案,但可以由其擁有者重新命名為有效的新名稱。",
"{count} files could not be converted" : "{count} 個檔案無法轉換",
"{count} files successfully converted" : "{count} 個檔案成功轉換"
},"pluralForm" :"nplurals=1; plural=0;"
diff --git a/apps/files/lib/BackgroundJob/ScanFiles.php b/apps/files/lib/BackgroundJob/ScanFiles.php
index 3a39382d0b4..f3f9093d648 100644
--- a/apps/files/lib/BackgroundJob/ScanFiles.php
+++ b/apps/files/lib/BackgroundJob/ScanFiles.php
@@ -69,7 +69,7 @@ class ScanFiles extends TimedJob {
$query->select('m.user_id')
->from('filecache', 'f')
->leftJoin('f', 'mounts', 'm', $query->expr()->eq('m.storage_id', 'f.storage'))
- ->where($query->expr()->lt('f.size', $query->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
+ ->where($query->expr()->eq('f.size', $query->createNamedParameter(-1, IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->gt('f.parent', $query->createNamedParameter(-1, IQueryBuilder::PARAM_INT)))
->setMaxResults(10)
->groupBy('f.storage')
@@ -90,7 +90,7 @@ class ScanFiles extends TimedJob {
$query->select('m.user_id')
->from('filecache', 'f')
->leftJoin('f', 'mounts', 'm', $query->expr()->eq('m.storage_id', 'f.storage'))
- ->where($query->expr()->lt('f.size', $query->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
+ ->where($query->expr()->eq('f.size', $query->createNamedParameter(-1, IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->gt('f.parent', $query->createNamedParameter(-1, IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->in('f.storage', $query->createNamedParameter($storages, IQueryBuilder::PARAM_INT_ARRAY)))
->setMaxResults(1)
@@ -101,7 +101,7 @@ class ScanFiles extends TimedJob {
$query->select('m.user_id')
->from('filecache', 'f')
->innerJoin('f', 'mounts', 'm', $query->expr()->eq('m.storage_id', 'f.storage'))
- ->where($query->expr()->lt('f.size', $query->createNamedParameter(0, IQueryBuilder::PARAM_INT)))
+ ->where($query->expr()->eq('f.size', $query->createNamedParameter(-1, IQueryBuilder::PARAM_INT)))
->andWhere($query->expr()->gt('f.parent', $query->createNamedParameter(-1, IQueryBuilder::PARAM_INT)))
->setMaxResults(1)
->runAcrossAllShards();
diff --git a/apps/files/lib/Listener/SyncLivePhotosListener.php b/apps/files/lib/Listener/SyncLivePhotosListener.php
index 6334e5d16a6..b6773e8c452 100644
--- a/apps/files/lib/Listener/SyncLivePhotosListener.php
+++ b/apps/files/lib/Listener/SyncLivePhotosListener.php
@@ -37,6 +37,8 @@ class SyncLivePhotosListener implements IEventListener {
private array $pendingRenames = [];
/** @var Array<int, bool> */
private array $pendingDeletion = [];
+ /** @var Array<int> */
+ private array $pendingCopies = [];
public function __construct(
private ?Folder $userFolder,
@@ -153,7 +155,6 @@ class SyncLivePhotosListener implements IEventListener {
$targetName = $targetFile->getName();
$peerTargetName = substr($targetName, 0, -strlen($sourceExtension)) . $peerFileExtension;
-
if ($targetParent->nodeExists($peerTargetName)) {
// If the copy was a folder copy, then the peer file already exists.
$targetPeerFile = $targetParent->get($peerTargetName);
@@ -225,6 +226,11 @@ class SyncLivePhotosListener implements IEventListener {
$this->handleCopyRecursive($event, $sourceChild, $targetChild);
}
} elseif ($sourceNode instanceof File && $targetNode instanceof File) {
+ // in case the copy was initiated from this listener, we stop right now
+ if (in_array($sourceNode->getId(), $this->pendingCopies)) {
+ return;
+ }
+
$peerFileId = $this->livePhotosService->getLivePhotoPeerId($sourceNode->getId());
if ($peerFileId === null) {
return;
@@ -234,11 +240,13 @@ class SyncLivePhotosListener implements IEventListener {
return;
}
+ $this->pendingCopies[] = $peerFileId;
if ($event instanceof BeforeNodeCopiedEvent) {
$this->runMoveOrCopyChecks($sourceNode, $targetNode, $peerFile);
} elseif ($event instanceof NodeCopiedEvent) {
$this->handleCopy($sourceNode, $targetNode, $peerFile);
}
+ $this->pendingCopies = array_diff($this->pendingCopies, [$peerFileId]);
} else {
throw new Exception('Source and target type are not matching');
}
diff --git a/apps/files/openapi.json b/apps/files/openapi.json
index c227b12d922..c5d6053075c 100644
--- a/apps/files/openapi.json
+++ b/apps/files/openapi.json
@@ -847,12 +847,14 @@
"editorId": {
"type": "string",
"nullable": true,
+ "default": null,
"description": "ID of the editor"
},
"fileId": {
"type": "integer",
"format": "int64",
"nullable": true,
+ "default": null,
"description": "ID of the file"
}
}
@@ -1032,6 +1034,7 @@
"templateId": {
"type": "string",
"nullable": true,
+ "default": null,
"description": "ID of the template"
}
}
@@ -2366,6 +2369,7 @@
"destination": {
"type": "string",
"nullable": true,
+ "default": null,
"description": "The target path of the converted file. Written to a temporary file if left empty"
}
}
diff --git a/apps/files/src/actions/openLocallyAction.ts b/apps/files/src/actions/openLocallyAction.ts
index a80cf0cbeed..986b304210c 100644
--- a/apps/files/src/actions/openLocallyAction.ts
+++ b/apps/files/src/actions/openLocallyAction.ts
@@ -13,71 +13,6 @@ import LaptopSvg from '@mdi/svg/svg/laptop.svg?raw'
import IconWeb from '@mdi/svg/svg/web.svg?raw'
import { isPublicShare } from '@nextcloud/sharing/public'
-const confirmLocalEditDialog = (
- localEditCallback: (openingLocally: boolean) => void = () => {},
-) => {
- let callbackCalled = false
-
- return (new DialogBuilder())
- .setName(t('files', 'Open file locally'))
- .setText(t('files', 'The file should now open on your device. If it doesn\'t, please check that you have the desktop app installed.'))
- .setButtons([
- {
- label: t('files', 'Retry and close'),
- type: 'secondary',
- callback: () => {
- callbackCalled = true
- localEditCallback(true)
- },
- },
- {
- label: t('files', 'Open online'),
- icon: IconWeb,
- type: 'primary',
- callback: () => {
- callbackCalled = true
- localEditCallback(false)
- },
- },
- ])
- .build()
- .show()
- .then(() => {
- // Ensure the callback is called even if the dialog is dismissed in other ways
- if (!callbackCalled) {
- localEditCallback(false)
- }
- })
-}
-
-const attemptOpenLocalClient = async (path: string) => {
- openLocalClient(path)
- confirmLocalEditDialog(
- (openLocally: boolean) => {
- if (!openLocally) {
- window.OCA.Viewer.open({ path })
- return
- }
- openLocalClient(path)
- },
- )
-}
-
-const openLocalClient = async function(path: string) {
- const link = generateOcsUrl('apps/files/api/v1') + '/openlocaleditor?format=json'
-
- try {
- const result = await axios.post(link, { path })
- const uid = getCurrentUser()?.uid
- let url = `nc://open/${uid}@` + window.location.host + encodePath(path)
- url += '?token=' + result.data.ocs.data.token
-
- window.open(url, '_self')
- } catch (error) {
- showError(t('files', 'Failed to redirect to client'))
- }
-}
-
export const action = new FileAction({
id: 'edit-locally',
displayName: () => t('files', 'Open locally'),
@@ -99,9 +34,81 @@ export const action = new FileAction({
},
async exec(node: Node) {
- attemptOpenLocalClient(node.path)
+ await attemptOpenLocalClient(node.path)
return null
},
order: 25,
})
+
+/**
+ * Try to open the path in the Nextcloud client.
+ *
+ * If this fails a dialog is shown with 3 options:
+ * 1. Retry: If it fails no further dialog is shown.
+ * 2. Open online: The viewer is used to open the file.
+ * 3. Close the dialog and nothing happens (abort).
+ *
+ * @param path - The path to open
+ */
+async function attemptOpenLocalClient(path: string) {
+ await openLocalClient(path)
+ const result = await confirmLocalEditDialog()
+ if (result === 'local') {
+ await openLocalClient(path)
+ } else if (result === 'online') {
+ window.OCA.Viewer.open({ path })
+ }
+}
+
+/**
+ * Try to open a file in the Nextcloud client.
+ * There is no way to get notified if this action was successfull.
+ *
+ * @param path - Path to open
+ */
+async function openLocalClient(path: string): Promise<void> {
+ const link = generateOcsUrl('apps/files/api/v1') + '/openlocaleditor?format=json'
+
+ try {
+ const result = await axios.post(link, { path })
+ const uid = getCurrentUser()?.uid
+ let url = `nc://open/${uid}@` + window.location.host + encodePath(path)
+ url += '?token=' + result.data.ocs.data.token
+
+ window.open(url, '_self')
+ } catch (error) {
+ showError(t('files', 'Failed to redirect to client'))
+ }
+}
+
+/**
+ * Open the confirmation dialog.
+ */
+async function confirmLocalEditDialog(): Promise<'online'|'local'|false> {
+ let result: 'online'|'local'|false = false
+ const dialog = (new DialogBuilder())
+ .setName(t('files', 'Open file locally'))
+ .setText(t('files', 'The file should now open on your device. If it doesn\'t, please check that you have the desktop app installed.'))
+ .setButtons([
+ {
+ label: t('files', 'Retry and close'),
+ type: 'secondary',
+ callback: () => {
+ result = 'local'
+ },
+ },
+ {
+ label: t('files', 'Open online'),
+ icon: IconWeb,
+ type: 'primary',
+ callback: () => {
+ result = 'online'
+ },
+ },
+ ])
+ .build()
+
+ await dialog.show()
+ return result
+}
diff --git a/apps/files/src/router/router.ts b/apps/files/src/router/router.ts
index 13e74c26451..00f08c38d31 100644
--- a/apps/files/src/router/router.ts
+++ b/apps/files/src/router/router.ts
@@ -3,10 +3,16 @@
* SPDX-License-Identifier: AGPL-3.0-or-later
*/
import type { RawLocation, Route } from 'vue-router'
+
import { generateUrl } from '@nextcloud/router'
+import { relative } from 'path'
import queryString from 'query-string'
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'
Vue.use(Router)
@@ -68,4 +74,60 @@ const router = new Router({
},
})
+// 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) => {
+ if (to.params?.parentIntercept) {
+ delete to.params.parentIntercept
+ next()
+ return
+ }
+
+ const fromDir = (from.query?.dir || '/') as string
+ const toDir = (to.query?.dir || '/') as string
+
+ // 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) {
+ 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)
+ if (!fromSource) {
+ logger.error('No source found for the parent directory', { fromDir, toDir })
+ return next()
+ }
+
+ const fileId = getNode(fromSource)?.fileid
+ if (!fileId) {
+ logger.error('No fileid found for the parent directory', { fromDir, toDir, fromSource })
+ return next()
+ }
+
+ logger.debug('Navigating back to parent directory', { fromDir, toDir, fileId })
+ next({
+ name: 'filelist',
+ query: to.query,
+ params: {
+ ...to.params,
+ fileid: String(fileId),
+ // Prevents the beforeEach from being called again
+ parentIntercept: 'true',
+ },
+ // Replace the current history entry
+ replace: true,
+ })
+ }
+
+ // else, we just continue
+ next()
+})
+
export default router
diff --git a/apps/files/src/services/HotKeysService.spec.ts b/apps/files/src/services/HotKeysService.spec.ts
index c732c728ce5..7bbba77b222 100644
--- a/apps/files/src/services/HotKeysService.spec.ts
+++ b/apps/files/src/services/HotKeysService.spec.ts
@@ -61,6 +61,7 @@ describe('HotKeysService testing', () => {
activeStore.setActiveNode(file)
window.OCA = { Files: { Sidebar: { open: () => {}, setActiveTab: () => {} } } }
+ // We only mock what needed, we do not need Files.Router.goTo or Files.Navigation
window.OCP = { Files: { Router: { goToRoute: goToRouteMock, params: {}, query: {} } } }
initialState = document.createElement('input')
@@ -73,26 +74,26 @@ describe('HotKeysService testing', () => {
})
it('Pressing d should open the sidebar once', () => {
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'd', code: 'KeyD' }))
+ dispatchEvent({ key: 'd', code: 'KeyD' })
// Modifier keys should not trigger the action
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'd', code: 'KeyD', ctrlKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'd', code: 'KeyD', altKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'd', code: 'KeyD', shiftKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'd', code: 'KeyD', metaKey: true }))
+ dispatchEvent({ key: 'd', code: 'KeyD', ctrlKey: true })
+ dispatchEvent({ key: 'd', code: 'KeyD', altKey: true })
+ dispatchEvent({ key: 'd', code: 'KeyD', shiftKey: true })
+ dispatchEvent({ key: 'd', code: 'KeyD', metaKey: true })
expect(sidebarAction.enabled).toHaveReturnedWith(true)
expect(sidebarAction.exec).toHaveBeenCalledOnce()
})
it('Pressing F2 should rename the file', () => {
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'F2', code: 'F2' }))
+ dispatchEvent({ key: 'F2', code: 'F2' })
// Modifier keys should not trigger the action
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'F2', code: 'F2', ctrlKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'F2', code: 'F2', altKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'F2', code: 'F2', shiftKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'F2', code: 'F2', metaKey: true }))
+ dispatchEvent({ key: 'F2', code: 'F2', ctrlKey: true })
+ dispatchEvent({ key: 'F2', code: 'F2', altKey: true })
+ dispatchEvent({ key: 'F2', code: 'F2', shiftKey: true })
+ dispatchEvent({ key: 'F2', code: 'F2', metaKey: true })
expect(renameAction.enabled).toHaveReturnedWith(true)
expect(renameAction.exec).toHaveBeenCalledOnce()
@@ -100,29 +101,29 @@ describe('HotKeysService testing', () => {
it('Pressing s should toggle favorite', () => {
vi.spyOn(axios, 'post').mockImplementationOnce(() => Promise.resolve())
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 's', code: 'KeyS' }))
+ dispatchEvent({ key: 's', code: 'KeyS' })
// Modifier keys should not trigger the action
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 's', code: 'KeyS', ctrlKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 's', code: 'KeyS', altKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 's', code: 'KeyS', shiftKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 's', code: 'KeyS', metaKey: true }))
+ dispatchEvent({ key: 's', code: 'KeyS', ctrlKey: true })
+ dispatchEvent({ key: 's', code: 'KeyS', altKey: true })
+ dispatchEvent({ key: 's', code: 'KeyS', shiftKey: true })
+ dispatchEvent({ key: 's', code: 'KeyS', metaKey: true })
expect(favoriteAction.enabled).toHaveReturnedWith(true)
expect(favoriteAction.exec).toHaveBeenCalledOnce()
})
it('Pressing Delete should delete the file', async () => {
- // @ts-expect-error mocking private field
+ // @ts-expect-error unit testing
vi.spyOn(deleteAction._action, 'exec').mockResolvedValue(() => true)
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Delete', code: 'Delete' }))
+ dispatchEvent({ key: 'Delete', code: 'Delete' })
// Modifier keys should not trigger the action
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Delete', code: 'Delete', ctrlKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Delete', code: 'Delete', altKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Delete', code: 'Delete', shiftKey: true }))
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'Delete', code: 'Delete', metaKey: true }))
+ dispatchEvent({ key: 'Delete', code: 'Delete', ctrlKey: true })
+ dispatchEvent({ key: 'Delete', code: 'Delete', altKey: true })
+ dispatchEvent({ key: 'Delete', code: 'Delete', shiftKey: true })
+ dispatchEvent({ key: 'Delete', code: 'Delete', metaKey: true })
expect(deleteAction.enabled).toHaveReturnedWith(true)
expect(deleteAction.exec).toHaveBeenCalledOnce()
@@ -132,7 +133,7 @@ describe('HotKeysService testing', () => {
expect(goToRouteMock).toHaveBeenCalledTimes(0)
window.OCP.Files.Router.query = { dir: '/foo/bar' }
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'ArrowUp', code: 'ArrowUp', altKey: true }))
+ dispatchEvent({ key: 'ArrowUp', code: 'ArrowUp', altKey: true })
expect(goToRouteMock).toHaveBeenCalledOnce()
expect(goToRouteMock.mock.calls[0][2].dir).toBe('/foo')
@@ -145,9 +146,7 @@ describe('HotKeysService testing', () => {
userConfigStore.userConfig.grid_view = false
expect(userConfigStore.userConfig.grid_view).toBe(false)
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'v', code: 'KeyV' }))
- await nextTick()
-
+ dispatchEvent({ key: 'v', code: 'KeyV' })
expect(userConfigStore.userConfig.grid_view).toBe(true)
})
@@ -164,9 +163,19 @@ describe('HotKeysService testing', () => {
userConfigStore.userConfig.grid_view = false
expect(userConfigStore.userConfig.grid_view).toBe(false)
- window.dispatchEvent(new KeyboardEvent('keydown', { key: 'v', code: 'KeyV', [modifier]: true }))
+ dispatchEvent(new KeyboardEvent('keydown', { key: 'v', code: 'KeyV', [modifier]: true }))
+
await nextTick()
expect(userConfigStore.userConfig.grid_view).toBe(false)
})
})
+
+/**
+ * Helper to dispatch the correct event.
+ *
+ * @param init - KeyboardEvent options
+ */
+function dispatchEvent(init: KeyboardEventInit) {
+ document.body.dispatchEvent(new KeyboardEvent('keydown', { ...init, bubbles: true }))
+}
diff --git a/apps/files/tests/Activity/Filter/GenericTest.php b/apps/files/tests/Activity/Filter/GenericTest.php
index dbb2538ed8a..f37a1cb2c9e 100644
--- a/apps/files/tests/Activity/Filter/GenericTest.php
+++ b/apps/files/tests/Activity/Filter/GenericTest.php
@@ -1,4 +1,6 @@
<?php
+
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -18,7 +20,7 @@ use Test\TestCase;
* @group DB
*/
class GenericTest extends TestCase {
- public function dataFilters() {
+ public static function dataFilters(): array {
return [
[Favorites::class],
[FileChanges::class],
@@ -27,18 +29,16 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataFilters
- * @param string $filterClass
*/
- public function testImplementsInterface($filterClass): void {
+ public function testImplementsInterface(string $filterClass): void {
$filter = Server::get($filterClass);
$this->assertInstanceOf(IFilter::class, $filter);
}
/**
* @dataProvider dataFilters
- * @param string $filterClass
*/
- public function testGetIdentifier($filterClass): void {
+ public function testGetIdentifier(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$this->assertIsString($filter->getIdentifier());
@@ -46,9 +46,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataFilters
- * @param string $filterClass
*/
- public function testGetName($filterClass): void {
+ public function testGetName(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$this->assertIsString($filter->getName());
@@ -56,9 +55,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataFilters
- * @param string $filterClass
*/
- public function testGetPriority($filterClass): void {
+ public function testGetPriority(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$priority = $filter->getPriority();
@@ -69,9 +67,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataFilters
- * @param string $filterClass
*/
- public function testGetIcon($filterClass): void {
+ public function testGetIcon(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$this->assertIsString($filter->getIcon());
@@ -80,9 +77,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataFilters
- * @param string $filterClass
*/
- public function testFilterTypes($filterClass): void {
+ public function testFilterTypes(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$this->assertIsArray($filter->filterTypes([]));
@@ -90,9 +86,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataFilters
- * @param string $filterClass
*/
- public function testAllowedApps($filterClass): void {
+ public function testAllowedApps(string $filterClass): void {
/** @var IFilter $filter */
$filter = Server::get($filterClass);
$this->assertIsArray($filter->allowedApps());
diff --git a/apps/files/tests/Activity/ProviderTest.php b/apps/files/tests/Activity/ProviderTest.php
index 7b91e980842..ed52c76ba28 100644
--- a/apps/files/tests/Activity/ProviderTest.php
+++ b/apps/files/tests/Activity/ProviderTest.php
@@ -1,4 +1,6 @@
<?php
+
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2017 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -26,23 +28,14 @@ use Test\TestCase;
* @package OCA\Files\Tests\Activity
*/
class ProviderTest extends TestCase {
-
- /** @var IFactory|MockObject */
- protected $l10nFactory;
- /** @var IURLGenerator|MockObject */
- protected $url;
- /** @var IManager|MockObject */
- protected $activityManager;
- /** @var IUserManager|MockObject */
- protected $userManager;
- /** @var IRootFolder|MockObject */
- protected $rootFolder;
- /** @var ICloudIdManager|MockObject */
- protected $cloudIdManager;
- /** @var IContactsManager|MockObject */
- protected $contactsManager;
- /** @var IEventMerger|MockObject */
- protected $eventMerger;
+ protected IFactory&MockObject $l10nFactory;
+ protected IURLGenerator&MockObject $url;
+ protected IManager&MockObject $activityManager;
+ protected IUserManager&MockObject $userManager;
+ protected IRootFolder&MockObject $rootFolder;
+ protected ICloudIdManager&MockObject $cloudIdManager;
+ protected IContactsManager&MockObject $contactsManager;
+ protected IEventMerger&MockObject $eventMerger;
protected function setUp(): void {
parent::setUp();
@@ -74,7 +67,7 @@ class ProviderTest extends TestCase {
$this->contactsManager,
$this->eventMerger,
])
- ->setMethods($methods)
+ ->onlyMethods($methods)
->getMock();
}
return new Provider(
@@ -89,7 +82,7 @@ class ProviderTest extends TestCase {
);
}
- public function dataGetFile() {
+ public static function dataGetFile(): array {
return [
[[42 => '/FortyTwo.txt'], null, '42', 'FortyTwo.txt', 'FortyTwo.txt'],
[['23' => '/Twenty/Three.txt'], null, '23', 'Three.txt', 'Twenty/Three.txt'],
@@ -99,13 +92,8 @@ class ProviderTest extends TestCase {
/**
* @dataProvider dataGetFile
- * @param mixed $parameter
- * @param mixed $eventId
- * @param int $id
- * @param string $name
- * @param string $path
*/
- public function testGetFile($parameter, $eventId, $id, $name, $path): void {
+ public function testGetFile(array|string $parameter, ?int $eventId, string $id, string $name, string $path): void {
$provider = $this->getProvider();
if ($eventId !== null) {
@@ -139,7 +127,7 @@ class ProviderTest extends TestCase {
self::invokePrivate($provider, 'getFile', ['/Foo/Bar.txt', null]);
}
- public function dataGetUser() {
+ public static function dataGetUser(): array {
return [
['test', 'Test user', null, ['type' => 'user', 'id' => 'test', 'name' => 'Test user']],
['test@http://localhost', null, ['user' => 'test', 'displayId' => 'test@localhost', 'remote' => 'localhost', 'name' => null], ['type' => 'user', 'id' => 'test', 'name' => 'test@localhost', 'server' => 'localhost']],
@@ -150,10 +138,6 @@ class ProviderTest extends TestCase {
/**
* @dataProvider dataGetUser
- * @param string $uid
- * @param string|null $userDisplayName
- * @param array|null $cloudIdData
- * @param array $expected
*/
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 1dc551be927..7e549ce9dc0 100644
--- a/apps/files/tests/Activity/Setting/GenericTest.php
+++ b/apps/files/tests/Activity/Setting/GenericTest.php
@@ -1,4 +1,6 @@
<?php
+
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -12,7 +14,7 @@ use OCP\Server;
use Test\TestCase;
class GenericTest extends TestCase {
- public function dataSettings() {
+ public static function dataSettings(): array {
return [
[FavoriteAction::class],
[FileChanged::class],
@@ -22,18 +24,16 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataSettings
- * @param string $settingClass
*/
- public function testImplementsInterface($settingClass): void {
+ public function testImplementsInterface(string $settingClass): void {
$setting = Server::get($settingClass);
$this->assertInstanceOf(ISetting::class, $setting);
}
/**
* @dataProvider dataSettings
- * @param string $settingClass
*/
- public function testGetIdentifier($settingClass): void {
+ public function testGetIdentifier(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsString($setting->getIdentifier());
@@ -41,9 +41,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataSettings
- * @param string $settingClass
*/
- public function testGetName($settingClass): void {
+ public function testGetName(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsString($setting->getName());
@@ -51,9 +50,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataSettings
- * @param string $settingClass
*/
- public function testGetPriority($settingClass): void {
+ public function testGetPriority(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$priority = $setting->getPriority();
@@ -64,9 +62,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataSettings
- * @param string $settingClass
*/
- public function testCanChangeStream($settingClass): void {
+ public function testCanChangeStream(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsBool($setting->canChangeStream());
@@ -74,9 +71,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataSettings
- * @param string $settingClass
*/
- public function testIsDefaultEnabledStream($settingClass): void {
+ public function testIsDefaultEnabledStream(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsBool($setting->isDefaultEnabledStream());
@@ -84,9 +80,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataSettings
- * @param string $settingClass
*/
- public function testCanChangeMail($settingClass): void {
+ public function testCanChangeMail(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsBool($setting->canChangeMail());
@@ -94,9 +89,8 @@ class GenericTest extends TestCase {
/**
* @dataProvider dataSettings
- * @param string $settingClass
*/
- public function testIsDefaultEnabledMail($settingClass): void {
+ public function testIsDefaultEnabledMail(string $settingClass): void {
/** @var ISetting $setting */
$setting = Server::get($settingClass);
$this->assertIsBool($setting->isDefaultEnabledMail());
diff --git a/apps/files/tests/AdvancedCapabilitiesTest.php b/apps/files/tests/AdvancedCapabilitiesTest.php
index af38c51a4a2..8f4a845b708 100644
--- a/apps/files/tests/AdvancedCapabilitiesTest.php
+++ b/apps/files/tests/AdvancedCapabilitiesTest.php
@@ -18,6 +18,7 @@ class AdvancedCapabilitiesTest extends TestCase {
protected AdvancedCapabilities $capabilities;
protected function setUp(): void {
+ parent::setUp();
$this->service = $this->createMock(SettingsService::class);
$this->capabilities = new AdvancedCapabilities($this->service);
}
diff --git a/apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php b/apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php
index e31b1574815..3f811fca407 100644
--- a/apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php
+++ b/apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2019-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -33,16 +34,16 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$this->logger = Server::get(LoggerInterface::class);
}
- protected function cleanMapping($table) {
+ protected function cleanMapping(string $table): void {
$query = $this->connection->getQueryBuilder();
- $query->delete($table)->execute();
+ $query->delete($table)->executeStatement();
}
- protected function getMappings($table) {
+ protected function getMappings(string $table): array {
$query = $this->connection->getQueryBuilder();
$query->select('*')
->from($table);
- $result = $query->execute();
+ $result = $query->executeQuery();
$mapping = $result->fetchAll();
$result->closeCursor();
@@ -61,7 +62,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'storage' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
'path' => $query->createNamedParameter('apps/files/tests/deleteorphanedtagsjobtest.php'),
'path_hash' => $query->createNamedParameter(md5('apps/files/tests/deleteorphanedtagsjobtest.php')),
- ])->execute();
+ ])->executeStatement();
$fileId = $query->getLastInsertId();
// Existing file
@@ -71,7 +72,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'objectid' => $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT),
'objecttype' => $query->createNamedParameter('files'),
'systemtagid' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
- ])->execute();
+ ])->executeStatement();
// Non-existing file
$query = $this->connection->getQueryBuilder();
@@ -80,13 +81,13 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'objectid' => $query->createNamedParameter($fileId + 1, IQueryBuilder::PARAM_INT),
'objecttype' => $query->createNamedParameter('files'),
'systemtagid' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
- ])->execute();
+ ])->executeStatement();
$mapping = $this->getMappings('systemtag_object_mapping');
$this->assertCount(2, $mapping);
$job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
- $this->invokePrivate($job, 'cleanSystemTags');
+ self::invokePrivate($job, 'cleanSystemTags');
$mapping = $this->getMappings('systemtag_object_mapping');
$this->assertCount(1, $mapping);
@@ -94,7 +95,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$query = $this->connection->getQueryBuilder();
$query->delete('filecache')
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)))
- ->execute();
+ ->executeStatement();
$this->cleanMapping('systemtag_object_mapping');
}
@@ -110,7 +111,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'storage' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
'path' => $query->createNamedParameter('apps/files/tests/deleteorphanedtagsjobtest.php'),
'path_hash' => $query->createNamedParameter(md5('apps/files/tests/deleteorphanedtagsjobtest.php')),
- ])->execute();
+ ])->executeStatement();
$fileId = $query->getLastInsertId();
// Existing file
@@ -120,7 +121,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'objid' => $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT),
'type' => $query->createNamedParameter('files'),
'categoryid' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
- ])->execute();
+ ])->executeStatement();
// Non-existing file
$query = $this->connection->getQueryBuilder();
@@ -129,13 +130,13 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'objid' => $query->createNamedParameter($fileId + 1, IQueryBuilder::PARAM_INT),
'type' => $query->createNamedParameter('files'),
'categoryid' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
- ])->execute();
+ ])->executeStatement();
$mapping = $this->getMappings('vcategory_to_object');
$this->assertCount(2, $mapping);
$job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
- $this->invokePrivate($job, 'cleanUserTags');
+ self::invokePrivate($job, 'cleanUserTags');
$mapping = $this->getMappings('vcategory_to_object');
$this->assertCount(1, $mapping);
@@ -143,7 +144,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$query = $this->connection->getQueryBuilder();
$query->delete('filecache')
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)))
- ->execute();
+ ->executeStatement();
$this->cleanMapping('vcategory_to_object');
}
@@ -159,7 +160,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'storage' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
'path' => $query->createNamedParameter('apps/files/tests/deleteorphanedtagsjobtest.php'),
'path_hash' => $query->createNamedParameter(md5('apps/files/tests/deleteorphanedtagsjobtest.php')),
- ])->execute();
+ ])->executeStatement();
$fileId = $query->getLastInsertId();
// Existing file
@@ -170,7 +171,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'object_type' => $query->createNamedParameter('files'),
'actor_id' => $query->createNamedParameter('Alice', IQueryBuilder::PARAM_INT),
'actor_type' => $query->createNamedParameter('users'),
- ])->execute();
+ ])->executeStatement();
// Non-existing file
$query = $this->connection->getQueryBuilder();
@@ -180,13 +181,13 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'object_type' => $query->createNamedParameter('files'),
'actor_id' => $query->createNamedParameter('Alice', IQueryBuilder::PARAM_INT),
'actor_type' => $query->createNamedParameter('users'),
- ])->execute();
+ ])->executeStatement();
$mapping = $this->getMappings('comments');
$this->assertCount(2, $mapping);
$job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
- $this->invokePrivate($job, 'cleanComments');
+ self::invokePrivate($job, 'cleanComments');
$mapping = $this->getMappings('comments');
$this->assertCount(1, $mapping);
@@ -194,7 +195,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$query = $this->connection->getQueryBuilder();
$query->delete('filecache')
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)))
- ->execute();
+ ->executeStatement();
$this->cleanMapping('comments');
}
@@ -210,7 +211,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'storage' => $query->createNamedParameter(1337, IQueryBuilder::PARAM_INT),
'path' => $query->createNamedParameter('apps/files/tests/deleteorphanedtagsjobtest.php'),
'path_hash' => $query->createNamedParameter(md5('apps/files/tests/deleteorphanedtagsjobtest.php')),
- ])->execute();
+ ])->executeStatement();
$fileId = $query->getLastInsertId();
// Existing file
@@ -220,7 +221,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'object_id' => $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT),
'object_type' => $query->createNamedParameter('files'),
'user_id' => $query->createNamedParameter('Alice', IQueryBuilder::PARAM_INT),
- ])->execute();
+ ])->executeStatement();
// Non-existing file
$query = $this->connection->getQueryBuilder();
@@ -229,13 +230,13 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
'object_id' => $query->createNamedParameter($fileId + 1, IQueryBuilder::PARAM_INT),
'object_type' => $query->createNamedParameter('files'),
'user_id' => $query->createNamedParameter('Alice', IQueryBuilder::PARAM_INT),
- ])->execute();
+ ])->executeStatement();
$mapping = $this->getMappings('comments_read_markers');
$this->assertCount(2, $mapping);
$job = new DeleteOrphanedItems($this->timeFactory, $this->connection, $this->logger);
- $this->invokePrivate($job, 'cleanCommentMarkers');
+ self::invokePrivate($job, 'cleanCommentMarkers');
$mapping = $this->getMappings('comments_read_markers');
$this->assertCount(1, $mapping);
@@ -243,7 +244,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$query = $this->connection->getQueryBuilder();
$query->delete('filecache')
->where($query->expr()->eq('fileid', $query->createNamedParameter($fileId, IQueryBuilder::PARAM_INT)))
- ->execute();
+ ->executeStatement();
$this->cleanMapping('comments_read_markers');
}
}
diff --git a/apps/files/tests/BackgroundJob/ScanFilesTest.php b/apps/files/tests/BackgroundJob/ScanFilesTest.php
index ce602805aa2..00d9ed823f9 100644
--- a/apps/files/tests/BackgroundJob/ScanFilesTest.php
+++ b/apps/files/tests/BackgroundJob/ScanFilesTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -32,10 +33,8 @@ class ScanFilesTest extends TestCase {
use UserTrait;
use MountProviderTrait;
- /** @var ScanFiles */
- private $scanFiles;
- /** @var IUserMountCache */
- private $mountCache;
+ private ScanFiles $scanFiles;
+ private IUserMountCache $mountCache;
protected function setUp(): void {
parent::setUp();
@@ -46,7 +45,7 @@ class ScanFilesTest extends TestCase {
$connection = Server::get(IDBConnection::class);
$this->mountCache = Server::get(IUserMountCache::class);
- $this->scanFiles = $this->getMockBuilder('\OCA\Files\BackgroundJob\ScanFiles')
+ $this->scanFiles = $this->getMockBuilder(ScanFiles::class)
->setConstructorArgs([
$config,
$dispatcher,
@@ -54,12 +53,12 @@ class ScanFilesTest extends TestCase {
$connection,
$this->createMock(ITimeFactory::class)
])
- ->setMethods(['runScanner'])
+ ->onlyMethods(['runScanner'])
->getMock();
}
- private function runJob() {
- $this->invokePrivate($this->scanFiles, 'run', [[]]);
+ private function runJob(): void {
+ self::invokePrivate($this->scanFiles, 'run', [[]]);
}
private function getUser(string $userId): IUser {
diff --git a/apps/files/tests/Command/DeleteOrphanedFilesTest.php b/apps/files/tests/Command/DeleteOrphanedFilesTest.php
index 389ede2a74d..54b5ac6c12f 100644
--- a/apps/files/tests/Command/DeleteOrphanedFilesTest.php
+++ b/apps/files/tests/Command/DeleteOrphanedFilesTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -56,7 +57,7 @@ class DeleteOrphanedFilesTest extends TestCase {
parent::tearDown();
}
- protected function getFile($fileId) {
+ protected function getFile(int $fileId): array {
$query = $this->connection->getQueryBuilder();
$query->select('*')
->from('filecache')
@@ -64,7 +65,7 @@ class DeleteOrphanedFilesTest extends TestCase {
return $query->executeQuery()->fetchAll();
}
- protected function getMounts($storageId) {
+ protected function getMounts(int $storageId): array {
$query = $this->connection->getQueryBuilder();
$query->select('*')
->from('mounts')
@@ -76,12 +77,8 @@ class DeleteOrphanedFilesTest extends TestCase {
* Test clearing orphaned files
*/
public function testClearFiles(): void {
- $input = $this->getMockBuilder(InputInterface::class)
- ->disableOriginalConstructor()
- ->getMock();
- $output = $this->getMockBuilder(OutputInterface::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $input = $this->createMock(InputInterface::class);
+ $output = $this->createMock(OutputInterface::class);
$rootFolder = Server::get(IRootFolder::class);
@@ -112,14 +109,18 @@ class DeleteOrphanedFilesTest extends TestCase {
$this->assertSame(1, $deletedRows, 'Asserts that storage got deleted');
// parent folder, `files`, ´test` and `welcome.txt` => 4 elements
+ $calls = [
+ '3 orphaned file cache entries deleted',
+ '0 orphaned file cache extended entries deleted',
+ '1 orphaned mount entries deleted',
+ ];
$output
->expects($this->exactly(3))
->method('writeln')
- ->withConsecutive(
- ['3 orphaned file cache entries deleted'],
- ['0 orphaned file cache extended entries deleted'],
- ['1 orphaned mount entries deleted'],
- );
+ ->willReturnCallback(function (string $message) use (&$calls) {
+ $expected = array_shift($calls);
+ $this->assertSame($expected, $message);
+ });
$this->command->execute($input, $output);
diff --git a/apps/files/tests/Controller/ApiControllerTest.php b/apps/files/tests/Controller/ApiControllerTest.php
index 429d3c06f66..0c9d7a4fa6e 100644
--- a/apps/files/tests/Controller/ApiControllerTest.php
+++ b/apps/files/tests/Controller/ApiControllerTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -31,6 +32,7 @@ use OCP\IUserSession;
use OCP\Share\IAttributes;
use OCP\Share\IManager;
use OCP\Share\IShare;
+use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
@@ -40,41 +42,25 @@ use Test\TestCase;
* @package OCA\Files\Controller
*/
class ApiControllerTest extends TestCase {
- /** @var string */
- private $appName = 'files';
- /** @var IUser */
- private $user;
- /** @var IRequest */
- private $request;
- /** @var TagService */
- private $tagService;
- /** @var IPreview|\PHPUnit\Framework\MockObject\MockObject */
- private $preview;
- /** @var ApiController */
- private $apiController;
- /** @var \OCP\Share\IManager */
- private $shareManager;
- /** @var IConfig */
- private $config;
- /** @var Folder|\PHPUnit\Framework\MockObject\MockObject */
- private $userFolder;
- /** @var UserConfig|\PHPUnit\Framework\MockObject\MockObject */
- private $userConfig;
- /** @var ViewConfig|\PHPUnit\Framework\MockObject\MockObject */
- private $viewConfig;
- /** @var IL10N|\PHPUnit\Framework\MockObject\MockObject */
- private $l10n;
- /** @var IRootFolder|\PHPUnit\Framework\MockObject\MockObject */
- private $rootFolder;
- /** @var LoggerInterface|\PHPUnit\Framework\MockObject\MockObject */
- private $logger;
+ private string $appName = 'files';
+ private IUser $user;
+ private IRequest $request;
+ private TagService $tagService;
+ private IPreview&MockObject $preview;
+ private ApiController $apiController;
+ private IManager $shareManager;
+ private IConfig $config;
+ private Folder&MockObject $userFolder;
+ private UserConfig&MockObject $userConfig;
+ private ViewConfig&MockObject $viewConfig;
+ private IL10N&MockObject $l10n;
+ private IRootFolder&MockObject $rootFolder;
+ private LoggerInterface&MockObject $logger;
protected function setUp(): void {
parent::setUp();
- $this->request = $this->getMockBuilder(IRequest::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $this->request = $this->createMock(IRequest::class);
$this->user = $this->createMock(IUser::class);
$this->user->expects($this->any())
->method('getUID')
@@ -83,19 +69,11 @@ class ApiControllerTest extends TestCase {
$userSession->expects($this->any())
->method('getUser')
->willReturn($this->user);
- $this->tagService = $this->getMockBuilder(TagService::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->shareManager = $this->getMockBuilder(IManager::class)
- ->disableOriginalConstructor()
- ->getMock();
- $this->preview = $this->getMockBuilder(IPreview::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $this->tagService = $this->createMock(TagService::class);
+ $this->shareManager = $this->createMock(IManager::class);
+ $this->preview = $this->createMock(IPreview::class);
$this->config = $this->createMock(IConfig::class);
- $this->userFolder = $this->getMockBuilder(Folder::class)
- ->disableOriginalConstructor()
- ->getMock();
+ $this->userFolder = $this->createMock(Folder::class);
$this->userConfig = $this->createMock(UserConfig::class);
$this->viewConfig = $this->createMock(ViewConfig::class);
$this->l10n = $this->createMock(IL10N::class);
diff --git a/apps/files/tests/Controller/ConversionApiControllerTest.php b/apps/files/tests/Controller/ConversionApiControllerTest.php
index a2f1fccd978..659fbe1a956 100644
--- a/apps/files/tests/Controller/ConversionApiControllerTest.php
+++ b/apps/files/tests/Controller/ConversionApiControllerTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-License-Identifier: AGPL-3.0-or-later
@@ -60,12 +61,12 @@ class ConversionApiControllerTest extends TestCase {
);
}
- public function testThrowsNotFoundException() {
+ public function testThrowsNotFoundException(): void {
$this->expectException(OCSNotFoundException::class);
$this->conversionApiController->convert(42, 'image/png');
}
- public function testThrowsOcsException() {
+ public function testThrowsOcsException(): void {
$this->userFolder->method('getFirstNodeById')->with(42)->willReturn($this->file);
$this->fileConversionManager->method('convert')->willThrowException(new \Exception());
@@ -73,7 +74,7 @@ class ConversionApiControllerTest extends TestCase {
$this->conversionApiController->convert(42, 'image/png');
}
- public function testConvert() {
+ public function testConvert(): void {
$convertedFileAbsolutePath = $this->user . '/files/test.png';
$this->userFolder->method('getFirstNodeById')->with(42)->willReturn($this->file);
diff --git a/apps/files/tests/Controller/ViewControllerTest.php b/apps/files/tests/Controller/ViewControllerTest.php
index dd76e814054..93ef98bdec7 100644
--- a/apps/files/tests/Controller/ViewControllerTest.php
+++ b/apps/files/tests/Controller/ViewControllerTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -192,7 +193,7 @@ class ViewControllerTest extends TestCase {
$this->assertEquals($expected, $this->viewController->index('MyDir', 'MyView'));
}
- public function dataTestShortRedirect(): array {
+ public static function dataTestShortRedirect(): array {
// openfile is true by default
// opendetails is undefined by default
// both will be evaluated as truthy
@@ -212,7 +213,7 @@ class ViewControllerTest extends TestCase {
/**
* @dataProvider dataTestShortRedirect
*/
- public function testShortRedirect($openfile, $opendetails, $result) {
+ public function testShortRedirect(?string $openfile, ?string $opendetails, string $result): void {
$this->appManager->expects($this->any())
->method('isEnabledForUser')
->with('files')
@@ -239,7 +240,7 @@ class ViewControllerTest extends TestCase {
->with(123456)
->willReturn($node);
- $response = $this->viewController->showFile(123456, $opendetails, $openfile);
+ $response = $this->viewController->showFile('123456', $opendetails, $openfile);
$this->assertStringContainsString($result, $response->getHeaders()['Location']);
}
@@ -248,13 +249,13 @@ class ViewControllerTest extends TestCase {
->method('isEnabledForUser')
->willReturn(true);
- $parentNode = $this->getMockBuilder(Folder::class)->getMock();
+ $parentNode = $this->createMock(Folder::class);
$parentNode->expects($this->once())
->method('getPath')
->willReturn('testuser1/files_trashbin/files/test.d1462861890/sub');
- $baseFolderFiles = $this->getMockBuilder(Folder::class)->getMock();
- $baseFolderTrash = $this->getMockBuilder(Folder::class)->getMock();
+ $baseFolderFiles = $this->createMock(Folder::class);
+ $baseFolderTrash = $this->createMock(Folder::class);
$this->rootFolder->expects($this->any())
->method('getUserFolder')
@@ -270,7 +271,7 @@ class ViewControllerTest extends TestCase {
->with(123)
->willReturn(null);
- $node = $this->getMockBuilder(File::class)->getMock();
+ $node = $this->createMock(File::class);
$node->expects($this->once())
->method('getParent')
->willReturn($parentNode);
diff --git a/apps/files/tests/HelperTest.php b/apps/files/tests/HelperTest.php
index 5900e94215c..cb1fc5ed66d 100644
--- a/apps/files/tests/HelperTest.php
+++ b/apps/files/tests/HelperTest.php
@@ -1,15 +1,17 @@
<?php
-use OC\Files\FileInfo;
-use OCA\Files\Helper;
-
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2017-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
* SPDX-License-Identifier: AGPL-3.0-only
*/
+
+use OC\Files\FileInfo;
+use OCA\Files\Helper;
+
class HelperTest extends \Test\TestCase {
- private function makeFileInfo($name, $size, $mtime, $isDir = false) {
+ private static function makeFileInfo($name, $size, $mtime, $isDir = false): FileInfo {
return new FileInfo(
'/' . $name,
null,
@@ -28,7 +30,7 @@ class HelperTest extends \Test\TestCase {
/**
* Returns a file list for testing
*/
- private function getTestFileList() {
+ private static function getTestFileList(): array {
return [
self::makeFileInfo('a.txt', 4, 2.3 * pow(10, 9)),
self::makeFileInfo('q.txt', 5, 150),
@@ -39,7 +41,7 @@ class HelperTest extends \Test\TestCase {
];
}
- public function sortDataProvider() {
+ public static function sortDataProvider(): array {
return [
[
'name',
diff --git a/apps/files/tests/Service/TagServiceTest.php b/apps/files/tests/Service/TagServiceTest.php
index 79dcf110f8a..74e58e674bb 100644
--- a/apps/files/tests/Service/TagServiceTest.php
+++ b/apps/files/tests/Service/TagServiceTest.php
@@ -1,5 +1,6 @@
<?php
+declare(strict_types=1);
/**
* SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors
* SPDX-FileCopyrightText: 2016 ownCloud, Inc.
@@ -10,6 +11,7 @@ namespace OCA\Files\Tests\Service;
use OCA\Files\Service\TagService;
use OCP\Activity\IManager;
use OCP\Files\Folder;
+use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
use OCP\ITagManager;
use OCP\ITags;
@@ -17,6 +19,7 @@ use OCP\IUser;
use OCP\IUserManager;
use OCP\IUserSession;
use OCP\Server;
+use PHPUnit\Framework\MockObject\MockObject;
/**
* Class TagServiceTest
@@ -26,32 +29,12 @@ use OCP\Server;
* @package OCA\Files
*/
class TagServiceTest extends \Test\TestCase {
-
- /**
- * @var string
- */
- private $user;
-
- /** @var IUserSession|\PHPUnit\Framework\MockObject\MockObject */
- private $userSession;
-
- /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
- private $activityManager;
-
- /**
- * @var Folder
- */
- private $root;
-
- /**
- * @var TagService|\PHPUnit\Framework\MockObject\MockObject
- */
- private $tagService;
-
- /**
- * @var ITags
- */
- private $tagger;
+ private string $user;
+ private IUserSession&MockObject $userSession;
+ private IManager&MockObject $activityManager;
+ private Folder $root;
+ private TagService&MockObject $tagService;
+ private ITags $tagger;
protected function setUp(): void {
parent::setUp();
@@ -70,17 +53,13 @@ class TagServiceTest extends \Test\TestCase {
->withAnyParameters()
->willReturn($user);
- $this->root = \OC::$server->getUserFolder();
+ $this->root = \OCP\Server::get(IRootFolder::class)->getUserFolder($this->user);
$this->tagger = Server::get(ITagManager::class)->load('files');
- $this->tagService = $this->getTagService(['addActivity']);
+ $this->tagService = $this->getTagService();
}
- /**
- * @param array $methods
- * @return TagService|\PHPUnit\Framework\MockObject\MockObject
- */
- protected function getTagService(array $methods = []) {
+ protected function getTagService(array $methods = []): TagService&MockObject {
return $this->getMockBuilder(TagService::class)
->setConstructorArgs([
$this->userSession,
@@ -88,7 +67,7 @@ class TagServiceTest extends \Test\TestCase {
$this->tagger,
$this->root,
])
- ->setMethods($methods)
+ ->onlyMethods($methods)
->getMock();
}
@@ -98,6 +77,8 @@ class TagServiceTest extends \Test\TestCase {
if ($user !== null) {
$user->delete();
}
+
+ parent::tearDown();
}
public function testUpdateFileTags(): void {