diff options
Diffstat (limited to 'apps/files')
40 files changed, 369 insertions, 27 deletions
diff --git a/apps/files/appinfo/info.xml b/apps/files/appinfo/info.xml index 95f6153e1d7..aedcd5b7ed5 100644 --- a/apps/files/appinfo/info.xml +++ b/apps/files/appinfo/info.xml @@ -46,12 +46,14 @@ <command>OCA\Files\Command\Delete</command> <command>OCA\Files\Command\Copy</command> <command>OCA\Files\Command\Move</command> + <command>OCA\Files\Command\SanitizeFilenames</command> <command>OCA\Files\Command\Object\Delete</command> <command>OCA\Files\Command\Object\Get</command> <command>OCA\Files\Command\Object\Put</command> <command>OCA\Files\Command\Object\Info</command> <command>OCA\Files\Command\Object\ListObject</command> <command>OCA\Files\Command\Object\Orphans</command> + <command>OCA\Files\Command\WindowsCompatibleFilenames</command> </commands> <settings> diff --git a/apps/files/composer/composer/autoload_classmap.php b/apps/files/composer/composer/autoload_classmap.php index a74df7ba3d2..070cb46de38 100644 --- a/apps/files/composer/composer/autoload_classmap.php +++ b/apps/files/composer/composer/autoload_classmap.php @@ -42,9 +42,11 @@ return array( 'OCA\\Files\\Command\\Object\\Put' => $baseDir . '/../lib/Command/Object/Put.php', 'OCA\\Files\\Command\\Put' => $baseDir . '/../lib/Command/Put.php', 'OCA\\Files\\Command\\RepairTree' => $baseDir . '/../lib/Command/RepairTree.php', + 'OCA\\Files\\Command\\SanitizeFilenames' => $baseDir . '/../lib/Command/SanitizeFilenames.php', 'OCA\\Files\\Command\\Scan' => $baseDir . '/../lib/Command/Scan.php', 'OCA\\Files\\Command\\ScanAppData' => $baseDir . '/../lib/Command/ScanAppData.php', 'OCA\\Files\\Command\\TransferOwnership' => $baseDir . '/../lib/Command/TransferOwnership.php', + 'OCA\\Files\\Command\\WindowsCompatibleFilenames' => $baseDir . '/../lib/Command/WindowsCompatibleFilenames.php', 'OCA\\Files\\Controller\\ApiController' => $baseDir . '/../lib/Controller/ApiController.php', 'OCA\\Files\\Controller\\ConversionApiController' => $baseDir . '/../lib/Controller/ConversionApiController.php', 'OCA\\Files\\Controller\\DirectEditingController' => $baseDir . '/../lib/Controller/DirectEditingController.php', diff --git a/apps/files/composer/composer/autoload_static.php b/apps/files/composer/composer/autoload_static.php index 1d79f38e35a..ce79d370e7c 100644 --- a/apps/files/composer/composer/autoload_static.php +++ b/apps/files/composer/composer/autoload_static.php @@ -57,9 +57,11 @@ class ComposerStaticInitFiles 'OCA\\Files\\Command\\Object\\Put' => __DIR__ . '/..' . '/../lib/Command/Object/Put.php', 'OCA\\Files\\Command\\Put' => __DIR__ . '/..' . '/../lib/Command/Put.php', 'OCA\\Files\\Command\\RepairTree' => __DIR__ . '/..' . '/../lib/Command/RepairTree.php', + 'OCA\\Files\\Command\\SanitizeFilenames' => __DIR__ . '/..' . '/../lib/Command/SanitizeFilenames.php', 'OCA\\Files\\Command\\Scan' => __DIR__ . '/..' . '/../lib/Command/Scan.php', 'OCA\\Files\\Command\\ScanAppData' => __DIR__ . '/..' . '/../lib/Command/ScanAppData.php', 'OCA\\Files\\Command\\TransferOwnership' => __DIR__ . '/..' . '/../lib/Command/TransferOwnership.php', + 'OCA\\Files\\Command\\WindowsCompatibleFilenames' => __DIR__ . '/..' . '/../lib/Command/WindowsCompatibleFilenames.php', 'OCA\\Files\\Controller\\ApiController' => __DIR__ . '/..' . '/../lib/Controller/ApiController.php', 'OCA\\Files\\Controller\\ConversionApiController' => __DIR__ . '/..' . '/../lib/Controller/ConversionApiController.php', 'OCA\\Files\\Controller\\DirectEditingController' => __DIR__ . '/..' . '/../lib/Controller/DirectEditingController.php', diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js index b5c6029a5fa..acf20a0af79 100644 --- a/apps/files/l10n/cs.js +++ b/apps/files/l10n/cs.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Soubory", "A file or folder has been <strong>changed</strong>" : "Soubor nebo složka byla <strong>změněna</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Oblíbený soubor nebo složka byla <strong>změněna</strong>", + "%1$s (renamed)" : "%1$s (přejmenované)", + "renamed file" : "přejmenovaný soubor", "Failed to authorize" : "Nepodařilo se získat pověření", "Invalid folder path" : "Neplatný popis umístění složky", "Folder not found" : "Složka nenalezena", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "Převedeno z %1$s na %2$s", "Files compatibility" : "Kompatibilita souborů", "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." : "Umožňuje omezit názvy souborů aby bylo zajištěno, že soubory bude možné synchronizovat se všemi klienty. Ve výchozím stavu jsou povoleny veškeré názvy souborů, splňující standard POSIX (např. Linux nebo macOS).", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Po povolení tohoto natavení je také možné soubory stěhovat automaticky. Další informace viz dokumentace k příkazu occ.", "Enforce Windows compatibility" : "Vynutit kompatibilitu s 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." : "Toto bude blokovat použití názvů souborů, které nejsou platné na strojích s Windows, jako je použití vyhrazených názvů nebo speciálních znaků. Ale nevynutí kompatibilitu v případě rozlišování malých/VELKÝCH písmen.", "File Management" : "Správa souboru", diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json index df32ef519de..fec4ee94d64 100644 --- a/apps/files/l10n/cs.json +++ b/apps/files/l10n/cs.json @@ -41,6 +41,8 @@ "Files" : "Soubory", "A file or folder has been <strong>changed</strong>" : "Soubor nebo složka byla <strong>změněna</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Oblíbený soubor nebo složka byla <strong>změněna</strong>", + "%1$s (renamed)" : "%1$s (přejmenované)", + "renamed file" : "přejmenovaný soubor", "Failed to authorize" : "Nepodařilo se získat pověření", "Invalid folder path" : "Neplatný popis umístění složky", "Folder not found" : "Složka nenalezena", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "Převedeno z %1$s na %2$s", "Files compatibility" : "Kompatibilita souborů", "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." : "Umožňuje omezit názvy souborů aby bylo zajištěno, že soubory bude možné synchronizovat se všemi klienty. Ve výchozím stavu jsou povoleny veškeré názvy souborů, splňující standard POSIX (např. Linux nebo macOS).", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Po povolení tohoto natavení je také možné soubory stěhovat automaticky. Další informace viz dokumentace k příkazu occ.", "Enforce Windows compatibility" : "Vynutit kompatibilitu s 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." : "Toto bude blokovat použití názvů souborů, které nejsou platné na strojích s Windows, jako je použití vyhrazených názvů nebo speciálních znaků. Ale nevynutí kompatibilitu v případě rozlišování malých/VELKÝCH písmen.", "File Management" : "Správa souboru", diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js index 78f6feeec1e..465a4113512 100644 --- a/apps/files/l10n/de.js +++ b/apps/files/l10n/de.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Dateien", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Eine favorisierte Datei oder ein Ordner wurde <strong>geändert</strong>", + "%1$s (renamed)" : "%1$s (umbenannt)", + "renamed file" : "Umbenannte Datei", "Failed to authorize" : "Autorisierung fehlgeschlagen", "Invalid folder path" : "Ungültiger Order-Pfad", "Folder not found" : "Ordner nicht gefunden", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "Übertragen von %1$s auf %2$s", "Files compatibility" : "Dateikompatibilität", "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." : "Ermöglicht die Einschränkung von Dateinamen, um sicherzustellen, dass Dateien mit allen Clients synchronisiert werden können. Standardmäßig sind alle unter POSIX (z. B. Linux oder macOS) gültigen Dateinamen zulässig.", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Nach dem Aktivieren dieser Einstellung ist es auch möglich, Dateien automatisch zu migrieren. Weitere Informationen finden sich in der Dokumentation zum Befehl „occ“.", "Enforce Windows compatibility" : "Windows-Kompatibilität erzwingen", "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." : "Dadurch werden Dateinamen blockiert, die auf Windows-Systemen unzulässig sind, z. B. reservierte Namen oder Sonderzeichen. Die Kompatibilität der Groß-/Kleinschreibung wird dadurch jedoch nicht erzwungen.", "File Management" : "Dateiverwaltung", @@ -107,7 +110,7 @@ OC.L10N.register( "Name" : "Name", "Size" : "Größe", "\"{displayName}\" failed on some elements" : "\"{displayName}\" ist bei einigen Elementen fehlgeschlagen", - "\"{displayName}\" batch action executed successfully" : "Stapelaktion \"{displayName}\" erfolgreich ausgeführt", + "\"{displayName}\" batch action executed successfully" : "Stapelaktion \"{displayName}\" ausgeführt", "\"{displayName}\" action failed" : "Aktion \"{displayName}\" fehlgeschlagen", "Actions" : "Aktionen", "(selected)" : "(ausgewählt)", @@ -165,7 +168,7 @@ OC.L10N.register( "Error during upload: {message}" : "Fehler beim Hochladen: {message}", "Error during upload, status code {status}" : "Fehler beim Hochladen, Statuscode {status}", "Unknown error during upload" : "unbekannte Fehler während des Hochladens", - "\"{displayName}\" action executed successfully" : "Aktion \"{displayName}\" erfolgreich ausgeführt", + "\"{displayName}\" action executed successfully" : "Aktion \"{displayName}\" ausgeführt", "Loading current folder" : "Lade aktuellen Ordner", "Retry" : "Wiederholen", "No files in here" : "Keine Dateien vorhanden", @@ -236,7 +239,7 @@ OC.L10N.register( "All files failed to be converted" : "Alle Dateien konnten nicht konvertiert werden", "One file could not be converted: {message}" : "Eine Datei konnte nicht konvertiert werden: {message}", "_One file could not be converted_::_%n files could not be converted_" : ["Eine Datei konnte nicht konvertiert werden","%n Dateien konnten nicht konvertiert werden"], - "_One file successfully converted_::_%n files successfully converted_" : ["Eine Datei erfolgreich konvertiert","%n Dateien erfolgreich konvertiert"], + "_One file successfully converted_::_%n files successfully converted_" : ["Eine Datei konvertiert","%n Dateien konvertiert"], "Files successfully converted" : "Dateien konvertiert", "Failed to convert files" : "Dateien konnten nicht konvertiert werden", "Converting file …" : "Datei wird konvertiert …", diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json index 8715721ef1c..2df91e216b1 100644 --- a/apps/files/l10n/de.json +++ b/apps/files/l10n/de.json @@ -41,6 +41,8 @@ "Files" : "Dateien", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Eine favorisierte Datei oder ein Ordner wurde <strong>geändert</strong>", + "%1$s (renamed)" : "%1$s (umbenannt)", + "renamed file" : "Umbenannte Datei", "Failed to authorize" : "Autorisierung fehlgeschlagen", "Invalid folder path" : "Ungültiger Order-Pfad", "Folder not found" : "Ordner nicht gefunden", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "Übertragen von %1$s auf %2$s", "Files compatibility" : "Dateikompatibilität", "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." : "Ermöglicht die Einschränkung von Dateinamen, um sicherzustellen, dass Dateien mit allen Clients synchronisiert werden können. Standardmäßig sind alle unter POSIX (z. B. Linux oder macOS) gültigen Dateinamen zulässig.", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Nach dem Aktivieren dieser Einstellung ist es auch möglich, Dateien automatisch zu migrieren. Weitere Informationen finden sich in der Dokumentation zum Befehl „occ“.", "Enforce Windows compatibility" : "Windows-Kompatibilität erzwingen", "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." : "Dadurch werden Dateinamen blockiert, die auf Windows-Systemen unzulässig sind, z. B. reservierte Namen oder Sonderzeichen. Die Kompatibilität der Groß-/Kleinschreibung wird dadurch jedoch nicht erzwungen.", "File Management" : "Dateiverwaltung", @@ -105,7 +108,7 @@ "Name" : "Name", "Size" : "Größe", "\"{displayName}\" failed on some elements" : "\"{displayName}\" ist bei einigen Elementen fehlgeschlagen", - "\"{displayName}\" batch action executed successfully" : "Stapelaktion \"{displayName}\" erfolgreich ausgeführt", + "\"{displayName}\" batch action executed successfully" : "Stapelaktion \"{displayName}\" ausgeführt", "\"{displayName}\" action failed" : "Aktion \"{displayName}\" fehlgeschlagen", "Actions" : "Aktionen", "(selected)" : "(ausgewählt)", @@ -163,7 +166,7 @@ "Error during upload: {message}" : "Fehler beim Hochladen: {message}", "Error during upload, status code {status}" : "Fehler beim Hochladen, Statuscode {status}", "Unknown error during upload" : "unbekannte Fehler während des Hochladens", - "\"{displayName}\" action executed successfully" : "Aktion \"{displayName}\" erfolgreich ausgeführt", + "\"{displayName}\" action executed successfully" : "Aktion \"{displayName}\" ausgeführt", "Loading current folder" : "Lade aktuellen Ordner", "Retry" : "Wiederholen", "No files in here" : "Keine Dateien vorhanden", @@ -234,7 +237,7 @@ "All files failed to be converted" : "Alle Dateien konnten nicht konvertiert werden", "One file could not be converted: {message}" : "Eine Datei konnte nicht konvertiert werden: {message}", "_One file could not be converted_::_%n files could not be converted_" : ["Eine Datei konnte nicht konvertiert werden","%n Dateien konnten nicht konvertiert werden"], - "_One file successfully converted_::_%n files successfully converted_" : ["Eine Datei erfolgreich konvertiert","%n Dateien erfolgreich konvertiert"], + "_One file successfully converted_::_%n files successfully converted_" : ["Eine Datei konvertiert","%n Dateien konvertiert"], "Files successfully converted" : "Dateien konvertiert", "Failed to convert files" : "Dateien konnten nicht konvertiert werden", "Converting file …" : "Datei wird konvertiert …", diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js index d5e44fa78cc..5483daa286f 100644 --- a/apps/files/l10n/de_DE.js +++ b/apps/files/l10n/de_DE.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Dateien", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Eine favorisierte Datei oder ein Ordner wurde <strong>geändert</strong>", + "%1$s (renamed)" : "%1$s (umbenannt)", + "renamed file" : "Umbenannte Datei", "Failed to authorize" : "Autorisierung fehlgeschlagen", "Invalid folder path" : "Ungültiger Order-Pfad", "Folder not found" : "Ordner nicht gefunden", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "Übertragen von %1$s an %2$s", "Files compatibility" : "Dateikompatibilität", "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." : "Ermöglicht die Einschränkung von Dateinamen, um sicherzustellen, dass Dateien mit allen Clients synchronisiert werden können. Standardmäßig sind alle unter POSIX (z. B. Linux oder macOS) gültigen Dateinamen zulässig.", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Nach dem Aktivieren dieser Einstellung ist es auch möglich, Dateien automatisch zu migrieren. Weitere Informationen finden sich in der Dokumentation zum Befehl \"occ“.", "Enforce Windows compatibility" : "Windows-Kompatibilität erzwingen", "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." : "Dadurch werden Dateinamen blockiert, die auf Windows-Systemen unzulässig sind, z. B. reservierte Namen oder Sonderzeichen. Die Kompatibilität der Groß-/Kleinschreibung wird dadurch jedoch nicht erzwungen.", "File Management" : "Dateiverwaltung", @@ -107,7 +110,7 @@ OC.L10N.register( "Name" : "Name", "Size" : "Größe", "\"{displayName}\" failed on some elements" : "\"{displayName}\" ist bei einigen Elementen fehlgeschlagen", - "\"{displayName}\" batch action executed successfully" : "Stapelaktion \"{displayName}\" erfolgreich ausgeführt", + "\"{displayName}\" batch action executed successfully" : "Stapelaktion \"{displayName}\" ausgeführt", "\"{displayName}\" action failed" : "Aktion \"{displayName}\" fehlgeschlagen", "Actions" : "Aktionen", "(selected)" : "(ausgewählt)", @@ -165,7 +168,7 @@ OC.L10N.register( "Error during upload: {message}" : "Fehler beim Hochladen: {message}", "Error during upload, status code {status}" : "Fehler beim Hochladen, Statuscode {status}", "Unknown error during upload" : "Unbekannter Fehler beim Hochladen", - "\"{displayName}\" action executed successfully" : "Aktion \"{displayName}\" erfolgreich ausgeführt", + "\"{displayName}\" action executed successfully" : "Aktion \"{displayName}\" ausgeführt", "Loading current folder" : "Lade aktuellen Ordner", "Retry" : "Wiederholen", "No files in here" : "Keine Dateien vorhanden", @@ -236,7 +239,7 @@ OC.L10N.register( "All files failed to be converted" : "Alle Dateien konnten nicht konvertiert werden", "One file could not be converted: {message}" : "Eine Datei konnte nicht konvertiert werden: {message}", "_One file could not be converted_::_%n files could not be converted_" : ["Eine Datei konnte nicht konvertiert werden","%n Dateien konnten nicht konvertiert werden"], - "_One file successfully converted_::_%n files successfully converted_" : ["Eine Datei erfolgreich konvertiert","%n Dateien konvertiert"], + "_One file successfully converted_::_%n files successfully converted_" : ["Eine Datei konvertiert","%n Dateien konvertiert"], "Files successfully converted" : "Dateien konvertiert", "Failed to convert files" : "Dateien konnten nicht konvertiert werden", "Converting file …" : "Datei wird konvertiert …", diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json index 823c70fcb47..779131af5e1 100644 --- a/apps/files/l10n/de_DE.json +++ b/apps/files/l10n/de_DE.json @@ -41,6 +41,8 @@ "Files" : "Dateien", "A file or folder has been <strong>changed</strong>" : "Eine Datei oder ein Ordner wurde <strong>geändert</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Eine favorisierte Datei oder ein Ordner wurde <strong>geändert</strong>", + "%1$s (renamed)" : "%1$s (umbenannt)", + "renamed file" : "Umbenannte Datei", "Failed to authorize" : "Autorisierung fehlgeschlagen", "Invalid folder path" : "Ungültiger Order-Pfad", "Folder not found" : "Ordner nicht gefunden", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "Übertragen von %1$s an %2$s", "Files compatibility" : "Dateikompatibilität", "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." : "Ermöglicht die Einschränkung von Dateinamen, um sicherzustellen, dass Dateien mit allen Clients synchronisiert werden können. Standardmäßig sind alle unter POSIX (z. B. Linux oder macOS) gültigen Dateinamen zulässig.", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Nach dem Aktivieren dieser Einstellung ist es auch möglich, Dateien automatisch zu migrieren. Weitere Informationen finden sich in der Dokumentation zum Befehl \"occ“.", "Enforce Windows compatibility" : "Windows-Kompatibilität erzwingen", "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." : "Dadurch werden Dateinamen blockiert, die auf Windows-Systemen unzulässig sind, z. B. reservierte Namen oder Sonderzeichen. Die Kompatibilität der Groß-/Kleinschreibung wird dadurch jedoch nicht erzwungen.", "File Management" : "Dateiverwaltung", @@ -105,7 +108,7 @@ "Name" : "Name", "Size" : "Größe", "\"{displayName}\" failed on some elements" : "\"{displayName}\" ist bei einigen Elementen fehlgeschlagen", - "\"{displayName}\" batch action executed successfully" : "Stapelaktion \"{displayName}\" erfolgreich ausgeführt", + "\"{displayName}\" batch action executed successfully" : "Stapelaktion \"{displayName}\" ausgeführt", "\"{displayName}\" action failed" : "Aktion \"{displayName}\" fehlgeschlagen", "Actions" : "Aktionen", "(selected)" : "(ausgewählt)", @@ -163,7 +166,7 @@ "Error during upload: {message}" : "Fehler beim Hochladen: {message}", "Error during upload, status code {status}" : "Fehler beim Hochladen, Statuscode {status}", "Unknown error during upload" : "Unbekannter Fehler beim Hochladen", - "\"{displayName}\" action executed successfully" : "Aktion \"{displayName}\" erfolgreich ausgeführt", + "\"{displayName}\" action executed successfully" : "Aktion \"{displayName}\" ausgeführt", "Loading current folder" : "Lade aktuellen Ordner", "Retry" : "Wiederholen", "No files in here" : "Keine Dateien vorhanden", @@ -234,7 +237,7 @@ "All files failed to be converted" : "Alle Dateien konnten nicht konvertiert werden", "One file could not be converted: {message}" : "Eine Datei konnte nicht konvertiert werden: {message}", "_One file could not be converted_::_%n files could not be converted_" : ["Eine Datei konnte nicht konvertiert werden","%n Dateien konnten nicht konvertiert werden"], - "_One file successfully converted_::_%n files successfully converted_" : ["Eine Datei erfolgreich konvertiert","%n Dateien konvertiert"], + "_One file successfully converted_::_%n files successfully converted_" : ["Eine Datei konvertiert","%n Dateien konvertiert"], "Files successfully converted" : "Dateien konvertiert", "Failed to convert files" : "Dateien konnten nicht konvertiert werden", "Converting file …" : "Datei wird konvertiert …", diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js index c9c97b918ad..2058bd2f2fc 100644 --- a/apps/files/l10n/en_GB.js +++ b/apps/files/l10n/en_GB.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Files", "A file or folder has been <strong>changed</strong>" : "A file or folder has been <strong>changed</strong>", "A favorite file or folder has been <strong>changed</strong>" : "A favourite file or folder has been <strong>changed</strong>", + "%1$s (renamed)" : "%1$s (renamed)", + "renamed file" : "renamed file", "Failed to authorize" : "Failed to authorize", "Invalid folder path" : "Invalid folder path", "Folder not found" : "Folder not found", @@ -71,6 +73,7 @@ OC.L10N.register( "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.", + "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" : "File Management", @@ -328,6 +331,7 @@ OC.L10N.register( "Unexpected error: {error}" : "Unexpected error: {error}", "_%n file_::_%n files_" : ["%n file","%n files"], "_%n folder_::_%n folders_" : ["%n folder","%n folders"], + "_%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.", diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json index 7c4b5e470fa..2d293ebf557 100644 --- a/apps/files/l10n/en_GB.json +++ b/apps/files/l10n/en_GB.json @@ -41,6 +41,8 @@ "Files" : "Files", "A file or folder has been <strong>changed</strong>" : "A file or folder has been <strong>changed</strong>", "A favorite file or folder has been <strong>changed</strong>" : "A favourite file or folder has been <strong>changed</strong>", + "%1$s (renamed)" : "%1$s (renamed)", + "renamed file" : "renamed file", "Failed to authorize" : "Failed to authorize", "Invalid folder path" : "Invalid folder path", "Folder not found" : "Folder not found", @@ -69,6 +71,7 @@ "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.", + "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" : "File Management", @@ -326,6 +329,7 @@ "Unexpected error: {error}" : "Unexpected error: {error}", "_%n file_::_%n files_" : ["%n file","%n files"], "_%n folder_::_%n folders_" : ["%n folder","%n folders"], + "_%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.", diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js index 452372aa9b2..edb4acfd4f5 100644 --- a/apps/files/l10n/es.js +++ b/apps/files/l10n/es.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Archivos", "A file or folder has been <strong>changed</strong>" : "Se ha <strong>modificado</strong> un archivo o carpeta", "A favorite file or folder has been <strong>changed</strong>" : "Un archivo o carpeta favorito ha sido <strong>cambiado</strong>", + "%1$s (renamed)" : "%1$s (renombrado)", + "renamed file" : "archivo renombrado", "Failed to authorize" : "Fallo al autorizar", "Invalid folder path" : "Ruta de carpeta inválida", "Folder not found" : "Carpeta no encontrada", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "Se transfirió desde %1$s en %2$s", "Files compatibility" : "Compatibilidad de archivos", "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." : "Permitir la restricción en nombres de archivo para asegurar que los archivos se puedan sincronizar con todos los clientes. Por defecto, se permiten todos los nombres de archivos válidos en POSIX (por ejemplo, Linux o macOS).", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "También es posible migrar los archivos automáticamente luego de habilitar este ajuste. Por favor, refiérase a la documentación sobre el comando occ.", "Enforce Windows compatibility" : "Forzar la compatibilidad con 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." : "Esto bloqueará los nombres de archivos inválidos en sistemas Windows, tales como usar nombres reservados o caracteres especiales. Pero no forzará la compatibilidad del uso de mayúsculas y minúsculas.", "File Management" : "Gestión de archivos", @@ -328,6 +331,7 @@ OC.L10N.register( "Unexpected error: {error}" : "Error inesperado: {error}", "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"], "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"], + "_%n hidden_::_%n hidden_" : ["%n oculto","%n ocultos","%n ocultos"], "Filename must not be empty." : "El nombre de archivo no debe estar vacío.", "\"{char}\" is not allowed inside a filename." : "\"{char}\" no está permitido en el nombre de archivo.", "\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" es un nombre reservado y no se permite para los nombres de archivo.", diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json index e59a967242e..d9940c3968d 100644 --- a/apps/files/l10n/es.json +++ b/apps/files/l10n/es.json @@ -41,6 +41,8 @@ "Files" : "Archivos", "A file or folder has been <strong>changed</strong>" : "Se ha <strong>modificado</strong> un archivo o carpeta", "A favorite file or folder has been <strong>changed</strong>" : "Un archivo o carpeta favorito ha sido <strong>cambiado</strong>", + "%1$s (renamed)" : "%1$s (renombrado)", + "renamed file" : "archivo renombrado", "Failed to authorize" : "Fallo al autorizar", "Invalid folder path" : "Ruta de carpeta inválida", "Folder not found" : "Carpeta no encontrada", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "Se transfirió desde %1$s en %2$s", "Files compatibility" : "Compatibilidad de archivos", "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." : "Permitir la restricción en nombres de archivo para asegurar que los archivos se puedan sincronizar con todos los clientes. Por defecto, se permiten todos los nombres de archivos válidos en POSIX (por ejemplo, Linux o macOS).", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "También es posible migrar los archivos automáticamente luego de habilitar este ajuste. Por favor, refiérase a la documentación sobre el comando occ.", "Enforce Windows compatibility" : "Forzar la compatibilidad con 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." : "Esto bloqueará los nombres de archivos inválidos en sistemas Windows, tales como usar nombres reservados o caracteres especiales. Pero no forzará la compatibilidad del uso de mayúsculas y minúsculas.", "File Management" : "Gestión de archivos", @@ -326,6 +329,7 @@ "Unexpected error: {error}" : "Error inesperado: {error}", "_%n file_::_%n files_" : ["%n archivo","%n archivos","%n archivos"], "_%n folder_::_%n folders_" : ["%n carpeta","%n carpetas","%n carpetas"], + "_%n hidden_::_%n hidden_" : ["%n oculto","%n ocultos","%n ocultos"], "Filename must not be empty." : "El nombre de archivo no debe estar vacío.", "\"{char}\" is not allowed inside a filename." : "\"{char}\" no está permitido en el nombre de archivo.", "\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" es un nombre reservado y no se permite para los nombres de archivo.", diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js index bfd02fbac25..50a02b2ad26 100644 --- a/apps/files/l10n/et_EE.js +++ b/apps/files/l10n/et_EE.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Failid", "A file or folder has been <strong>changed</strong>" : "Fail või kaust on <strong>muudetud</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Lemmikuks märgitud faili või kausta on <strong>muudetud</strong>", + "%1$s (renamed)" : "%1$s (nimi on muudetud)", + "renamed file" : "muudetud nimega fail", "Failed to authorize" : "Autoriseerimine ei õnnestunud", "Invalid folder path" : "Kausta vigane asukoht", "Folder not found" : "Kausta ei leidu", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "Üleantud kasutajalt %1$s %2$s", "Files compatibility" : "Failide ühilduvus", "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." : "Luba failinimede piiramine tagamaks, et sünkroniseerimine toimib kõikide platvormide klientide vahel. Vaikimisi on lubatud kõik POSIX-i standardile vastavad failinimed (seda järgivad Linux ja macOS).", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Lisaks on peale selle seadistuse kasutuselevõtmist võimalik kõik mitteühilduvad failid automaatselt ära muuta. Asjakohast teavet leiad kasutusjuhendist occ-käsku kirjeldavast peatükist.", "Enforce Windows compatibility" : "Kasuta ühilduvust Windowsiga", "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." : "Sellega blokeerid niisuguste failinimede kasutamise, mis Windowsis ei toimiks. See tähendab mõnede nimede ja tähemärkide keelamist. Aga see seadistus ei jõusta suur- ja väiketähtede kasutust.", "File Management" : "Failihaldus", diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json index 719433481f8..d0942feda0a 100644 --- a/apps/files/l10n/et_EE.json +++ b/apps/files/l10n/et_EE.json @@ -41,6 +41,8 @@ "Files" : "Failid", "A file or folder has been <strong>changed</strong>" : "Fail või kaust on <strong>muudetud</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Lemmikuks märgitud faili või kausta on <strong>muudetud</strong>", + "%1$s (renamed)" : "%1$s (nimi on muudetud)", + "renamed file" : "muudetud nimega fail", "Failed to authorize" : "Autoriseerimine ei õnnestunud", "Invalid folder path" : "Kausta vigane asukoht", "Folder not found" : "Kausta ei leidu", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "Üleantud kasutajalt %1$s %2$s", "Files compatibility" : "Failide ühilduvus", "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." : "Luba failinimede piiramine tagamaks, et sünkroniseerimine toimib kõikide platvormide klientide vahel. Vaikimisi on lubatud kõik POSIX-i standardile vastavad failinimed (seda järgivad Linux ja macOS).", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Lisaks on peale selle seadistuse kasutuselevõtmist võimalik kõik mitteühilduvad failid automaatselt ära muuta. Asjakohast teavet leiad kasutusjuhendist occ-käsku kirjeldavast peatükist.", "Enforce Windows compatibility" : "Kasuta ühilduvust Windowsiga", "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." : "Sellega blokeerid niisuguste failinimede kasutamise, mis Windowsis ei toimiks. See tähendab mõnede nimede ja tähemärkide keelamist. Aga see seadistus ei jõusta suur- ja väiketähtede kasutust.", "File Management" : "Failihaldus", diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js index 73102302b23..b0d9db8ffd1 100644 --- a/apps/files/l10n/mk.js +++ b/apps/files/l10n/mk.js @@ -91,7 +91,7 @@ OC.L10N.register( "Total rows summary" : "Резиме на вкупно редови", "Name" : "Име", "Size" : "Големина", - "\"{displayName}\" batch action executed successfully" : "\"{displayName}\" сериската акцијата е успешно извршена", + "\"{displayName}\" batch action executed successfully" : "\"{displayName}\" сериската акција е успешно извршена", "\"{displayName}\" action failed" : "\"{displayName}\" акцијата не успеа", "Actions" : "Акции", "(selected)" : "(означени)", diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json index d3d8c86c448..9a7349b9d52 100644 --- a/apps/files/l10n/mk.json +++ b/apps/files/l10n/mk.json @@ -89,7 +89,7 @@ "Total rows summary" : "Резиме на вкупно редови", "Name" : "Име", "Size" : "Големина", - "\"{displayName}\" batch action executed successfully" : "\"{displayName}\" сериската акцијата е успешно извршена", + "\"{displayName}\" batch action executed successfully" : "\"{displayName}\" сериската акција е успешно извршена", "\"{displayName}\" action failed" : "\"{displayName}\" акцијата не успеа", "Actions" : "Акции", "(selected)" : "(означени)", diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js index 906004d2172..88f77ae9d76 100644 --- a/apps/files/l10n/pl.js +++ b/apps/files/l10n/pl.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Pliki", "A file or folder has been <strong>changed</strong>" : "Plik lub katalog został <strong>zmieniony</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Ulubiony plik lub katalog został <strong>zmieniony</strong>", + "%1$s (renamed)" : "%1$s (zmieniona nazwa)", + "renamed file" : "zmieniona nazwa pliku", "Failed to authorize" : "Błąd autoryzacji", "Invalid folder path" : "Nieprawidłowa ścieżka katalogu", "Folder not found" : "Nie znaleziono katalogu", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "Przeniesiono z %1$s dnia %2$s", "Files compatibility" : "Zgodność plików", "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." : "Zezwalaj na ograniczenie nazw plików, aby zapewnić synchronizację plików ze wszystkimi klientami. Domyślnie dozwolone są wszystkie nazwy plików obowiązujące w systemie POSIX (np. Linux lub macOS).", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Możliwe jest również automatyczne migrowanie plików po włączeniu tego ustawienia. Więcej informacji można znaleźć w dokumentacji polecenia occ.", "Enforce Windows compatibility" : "Wymuszaj zgodność z systemem 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." : "Spowoduje to zablokowanie nazw plików nieprawidłowych w systemach Windows, na przykład nazw zastrzeżonych lub znaków specjalnych. Nie wymusi to jednak zgodności z rozróżnianiem wielkości liter.", "File Management" : "Zarządzanie plikami", @@ -328,6 +331,7 @@ OC.L10N.register( "Unexpected error: {error}" : "Nieoczekiwany błąd: {error}", "_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików","%n plików"], "_%n folder_::_%n folders_" : ["%n katalog","%n katalogi","%n katalogów","%n katalogów"], + "_%n hidden_::_%n hidden_" : ["%n ukryty","%n ukryte","%n ukrytych","%n ukrytych"], "Filename must not be empty." : "Nazwa pliku nie może być pusta.", "\"{char}\" is not allowed inside a filename." : "„{char}” nie jest dozwolone w nazwie pliku.", "\"{segment}\" is a reserved name and not allowed for filenames." : "„{segment}” jest nazwą zastrzeżoną i nie jest dozwolona w przypadku nazw plików.", diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json index b312784d273..0fc336bd1bb 100644 --- a/apps/files/l10n/pl.json +++ b/apps/files/l10n/pl.json @@ -41,6 +41,8 @@ "Files" : "Pliki", "A file or folder has been <strong>changed</strong>" : "Plik lub katalog został <strong>zmieniony</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Ulubiony plik lub katalog został <strong>zmieniony</strong>", + "%1$s (renamed)" : "%1$s (zmieniona nazwa)", + "renamed file" : "zmieniona nazwa pliku", "Failed to authorize" : "Błąd autoryzacji", "Invalid folder path" : "Nieprawidłowa ścieżka katalogu", "Folder not found" : "Nie znaleziono katalogu", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "Przeniesiono z %1$s dnia %2$s", "Files compatibility" : "Zgodność plików", "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." : "Zezwalaj na ograniczenie nazw plików, aby zapewnić synchronizację plików ze wszystkimi klientami. Domyślnie dozwolone są wszystkie nazwy plików obowiązujące w systemie POSIX (np. Linux lub macOS).", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Możliwe jest również automatyczne migrowanie plików po włączeniu tego ustawienia. Więcej informacji można znaleźć w dokumentacji polecenia occ.", "Enforce Windows compatibility" : "Wymuszaj zgodność z systemem 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." : "Spowoduje to zablokowanie nazw plików nieprawidłowych w systemach Windows, na przykład nazw zastrzeżonych lub znaków specjalnych. Nie wymusi to jednak zgodności z rozróżnianiem wielkości liter.", "File Management" : "Zarządzanie plikami", @@ -326,6 +329,7 @@ "Unexpected error: {error}" : "Nieoczekiwany błąd: {error}", "_%n file_::_%n files_" : ["%n plik","%n pliki","%n plików","%n plików"], "_%n folder_::_%n folders_" : ["%n katalog","%n katalogi","%n katalogów","%n katalogów"], + "_%n hidden_::_%n hidden_" : ["%n ukryty","%n ukryte","%n ukrytych","%n ukrytych"], "Filename must not be empty." : "Nazwa pliku nie może być pusta.", "\"{char}\" is not allowed inside a filename." : "„{char}” nie jest dozwolone w nazwie pliku.", "\"{segment}\" is a reserved name and not allowed for filenames." : "„{segment}” jest nazwą zastrzeżoną i nie jest dozwolona w przypadku nazw plików.", diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js index 62a20efeddd..a297cdc10b2 100644 --- a/apps/files/l10n/pt_BR.js +++ b/apps/files/l10n/pt_BR.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Arquivos", "A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta favorita foi <strong>modificado</strong>", + "%1$s (renamed)" : "%1$s (renomeado)", + "renamed file" : "arquivo renomeado", "Failed to authorize" : "Falha ao autorizar", "Invalid folder path" : "Caminho de pasta inválido", "Folder not found" : "Pasta não encontrada", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "Transferido de %1$s para %2$s", "Files compatibility" : "Compatibilidade de arquivos", "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." : "Permitir restringir nomes de arquivos para garantir que os arquivos possam ser sincronizados com todos os clientes. Por padrão, todos os nomes de arquivos válidos em POSIX (p. ex., Linux ou macOS) são permitidos.", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Também é possível migrar arquivos automaticamente depois de ativar essa configuração. Consulte a documentação sobre o comando occ.", "Enforce Windows compatibility" : "Forçar compatibilidade com 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." : "Isso bloqueará nomes de arquivos não válidos em sistemas Windows, como nomes reservados ou caracteres especiais. Mas isso não imporá a compatibilidade da distinção entre maiúsculas e minúsculas.", "File Management" : "Gerenciamento de Arquivos", @@ -309,7 +312,7 @@ OC.L10N.register( "New template folder" : "Nova pasta de modelo", "In folder" : "Na pasta", "Search in folder: {folder}" : "Pesquisar na pasta: {folder}", - "One of the dropped files could not be processed" : "Um dos arquivos descartados não pôde ser processado", + "One of the dropped files could not be processed" : "Um dos arquivos depositados não pôde ser processado", "Your browser does not support the Filesystem API. Directories will not be uploaded" : "Seu navegador não oferece suporte à API Filesystem. Os diretórios não serão carregados", "No files to upload" : "Não há arquivos para enviar", "Unable to create the directory {directory}" : "Não foi possível criar o diretório {directory}", @@ -328,6 +331,7 @@ OC.L10N.register( "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"], "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.", diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json index 1473d0d62a8..579d333dfbf 100644 --- a/apps/files/l10n/pt_BR.json +++ b/apps/files/l10n/pt_BR.json @@ -41,6 +41,8 @@ "Files" : "Arquivos", "A file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta foi <strong>modificado</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Um arquivo ou pasta favorita foi <strong>modificado</strong>", + "%1$s (renamed)" : "%1$s (renomeado)", + "renamed file" : "arquivo renomeado", "Failed to authorize" : "Falha ao autorizar", "Invalid folder path" : "Caminho de pasta inválido", "Folder not found" : "Pasta não encontrada", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "Transferido de %1$s para %2$s", "Files compatibility" : "Compatibilidade de arquivos", "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." : "Permitir restringir nomes de arquivos para garantir que os arquivos possam ser sincronizados com todos os clientes. Por padrão, todos os nomes de arquivos válidos em POSIX (p. ex., Linux ou macOS) são permitidos.", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Também é possível migrar arquivos automaticamente depois de ativar essa configuração. Consulte a documentação sobre o comando occ.", "Enforce Windows compatibility" : "Forçar compatibilidade com 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." : "Isso bloqueará nomes de arquivos não válidos em sistemas Windows, como nomes reservados ou caracteres especiais. Mas isso não imporá a compatibilidade da distinção entre maiúsculas e minúsculas.", "File Management" : "Gerenciamento de Arquivos", @@ -307,7 +310,7 @@ "New template folder" : "Nova pasta de modelo", "In folder" : "Na pasta", "Search in folder: {folder}" : "Pesquisar na pasta: {folder}", - "One of the dropped files could not be processed" : "Um dos arquivos descartados não pôde ser processado", + "One of the dropped files could not be processed" : "Um dos arquivos depositados não pôde ser processado", "Your browser does not support the Filesystem API. Directories will not be uploaded" : "Seu navegador não oferece suporte à API Filesystem. Os diretórios não serão carregados", "No files to upload" : "Não há arquivos para enviar", "Unable to create the directory {directory}" : "Não foi possível criar o diretório {directory}", @@ -326,6 +329,7 @@ "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"], "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.", diff --git a/apps/files/l10n/sc.js b/apps/files/l10n/sc.js index 5fe5f9b3545..ce6a33178ab 100644 --- a/apps/files/l10n/sc.js +++ b/apps/files/l10n/sc.js @@ -174,7 +174,11 @@ OC.L10N.register( "Created new folder \"{name}\"" : "Cartella noa \"{name}\" creada", "Unable to initialize the templates directory" : "Non faghet a initzializare sa cartella de is modellos", "Templates" : "Modellos", + "No files to upload" : "Perunu archìviu de carrigare", + "Some files could not be uploaded" : "No at fatu a carrigare unos cantos archìvios", + "Files uploaded successfully" : "Archìvios carrigados", "Some files could not be moved" : "No at fatu a tramudare carchi archìviu", + "Upload cancelled" : "Carrigamentu annulladu", "This operation is forbidden" : "Custa operatzione no est permìtida", "This directory is unavailable, please check the logs or contact the administrator" : "Custa cartella no est a disponimentu, controlla is informes o cuntata s'amministratzione", "Storage is temporarily not available" : "S'archiviatzione immoe no est a disponimentu", @@ -184,6 +188,7 @@ OC.L10N.register( "Files and folders you mark as favorite will show up here" : "Is archìvios e is cartellas chi marcas comente preferidos ant a aparèssere inoghe", "All files" : "Totu is archìvios", "List of your files and folders." : "Lista de is cartellas e is archìvios tuos.", + "All folders" : "Totu is cartellas", "Personal files" : "Archìvios personales", "No personal files found" : "Perunu archìviu personale agatadu", "Recent" : "Reghente", @@ -271,7 +276,7 @@ OC.L10N.register( "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Preferidu", "Copy direct link (only works for people who have access to this file/folder)" : "Còpia su ligòngiu diretu (funtzionat isceti pro gente chi tenet atzessu a custu archìviu o cartella)", - "Upload file" : "Carriga archìviu", + "Upload file" : "Càrriga archìviu", "Not favorited" : "Non preferidu", "An error occurred while trying to update the tags" : "B'at àpidu un'errore proende a agiornare is etichetas", "Storage informations" : "Informatziones de s'archiviatzione", @@ -288,6 +293,7 @@ OC.L10N.register( "List of favorites files and folders." : "Lista de cartellas e de archìvios preferidos.", "Personal Files" : "Archìvios personales", "Text file" : "Archìviu de testu", - "New text file.txt" : "Archìviu de testu .txt nou" + "New text file.txt" : "Archìviu de testu .txt nou", + "Filter filenames…" : "Filtra nùmenes de archìviu..." }, "nplurals=2; plural=(n != 1);"); diff --git a/apps/files/l10n/sc.json b/apps/files/l10n/sc.json index 93e34ec62fe..b62a8bfe963 100644 --- a/apps/files/l10n/sc.json +++ b/apps/files/l10n/sc.json @@ -172,7 +172,11 @@ "Created new folder \"{name}\"" : "Cartella noa \"{name}\" creada", "Unable to initialize the templates directory" : "Non faghet a initzializare sa cartella de is modellos", "Templates" : "Modellos", + "No files to upload" : "Perunu archìviu de carrigare", + "Some files could not be uploaded" : "No at fatu a carrigare unos cantos archìvios", + "Files uploaded successfully" : "Archìvios carrigados", "Some files could not be moved" : "No at fatu a tramudare carchi archìviu", + "Upload cancelled" : "Carrigamentu annulladu", "This operation is forbidden" : "Custa operatzione no est permìtida", "This directory is unavailable, please check the logs or contact the administrator" : "Custa cartella no est a disponimentu, controlla is informes o cuntata s'amministratzione", "Storage is temporarily not available" : "S'archiviatzione immoe no est a disponimentu", @@ -182,6 +186,7 @@ "Files and folders you mark as favorite will show up here" : "Is archìvios e is cartellas chi marcas comente preferidos ant a aparèssere inoghe", "All files" : "Totu is archìvios", "List of your files and folders." : "Lista de is cartellas e is archìvios tuos.", + "All folders" : "Totu is cartellas", "Personal files" : "Archìvios personales", "No personal files found" : "Perunu archìviu personale agatadu", "Recent" : "Reghente", @@ -269,7 +274,7 @@ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"], "Favorited" : "Preferidu", "Copy direct link (only works for people who have access to this file/folder)" : "Còpia su ligòngiu diretu (funtzionat isceti pro gente chi tenet atzessu a custu archìviu o cartella)", - "Upload file" : "Carriga archìviu", + "Upload file" : "Càrriga archìviu", "Not favorited" : "Non preferidu", "An error occurred while trying to update the tags" : "B'at àpidu un'errore proende a agiornare is etichetas", "Storage informations" : "Informatziones de s'archiviatzione", @@ -286,6 +291,7 @@ "List of favorites files and folders." : "Lista de cartellas e de archìvios preferidos.", "Personal Files" : "Archìvios personales", "Text file" : "Archìviu de testu", - "New text file.txt" : "Archìviu de testu .txt nou" + "New text file.txt" : "Archìviu de testu .txt nou", + "Filter filenames…" : "Filtra nùmenes de archìviu..." },"pluralForm" :"nplurals=2; plural=(n != 1);" }
\ No newline at end of file diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js index c2388dff6a9..5be69357590 100644 --- a/apps/files/l10n/sr.js +++ b/apps/files/l10n/sr.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Фајлови", "A file or folder has been <strong>changed</strong>" : "Фајл или фасцикла су <strong>измењени</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Омиљени фајл или фасцикла су <strong>измењени</strong>", + "%1$s (renamed)" : "%1$s (преименован)", + "renamed file" : "преименован фајл", "Failed to authorize" : "Није успело добијање дозволе", "Invalid folder path" : "Неисправна путања фолдера", "Folder not found" : "Није пронађен фолдер", @@ -71,6 +73,7 @@ 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).", + "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" : "Управљање фајловима", diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json index f736a5c7f94..52c41a7612e 100644 --- a/apps/files/l10n/sr.json +++ b/apps/files/l10n/sr.json @@ -41,6 +41,8 @@ "Files" : "Фајлови", "A file or folder has been <strong>changed</strong>" : "Фајл или фасцикла су <strong>измењени</strong>", "A favorite file or folder has been <strong>changed</strong>" : "Омиљени фајл или фасцикла су <strong>измењени</strong>", + "%1$s (renamed)" : "%1$s (преименован)", + "renamed file" : "преименован фајл", "Failed to authorize" : "Није успело добијање дозволе", "Invalid folder path" : "Неисправна путања фолдера", "Folder not found" : "Није пронађен фолдер", @@ -69,6 +71,7 @@ "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).", + "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" : "Управљање фајловима", diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js index e2a51702f92..1eac3304ab0 100644 --- a/apps/files/l10n/sv.js +++ b/apps/files/l10n/sv.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "Filer", "A file or folder has been <strong>changed</strong>" : "En ny fil eller mapp har blivit <strong>ändrad</strong>", "A favorite file or folder has been <strong>changed</strong>" : "En favorit-fil eller mapp har blivit <strong>ändrad</strong>", + "%1$s (renamed)" : "%1$s (omdöpt)", + "renamed file" : "omdöpt fil", "Failed to authorize" : "Det gick inte att auktorisera", "Invalid folder path" : "Ogiltig mappsökväg", "Folder not found" : "Mappen hittades inte", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "Överförd från %1$s på %2$s", "Files compatibility" : "Filkompatibilitet", "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." : "Tillåt att begränsa filnamn för att säkerställa att filer kan synkroniseras med alla klienter. Som standard är alla filnamn som är giltiga på POSIX (t.ex. Linux eller macOS) tillåtna.", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Det är också möjligt att migrera filer automatiskt efter att den här inställningen har aktiverats. Se dokumentationen om kommandot occ för mer information.", "Enforce Windows compatibility" : "Tvinga Windows-kompatibilitet", "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." : "Detta kommer att blockera filnamn som inte är giltiga på Windows-system, som att använda reserverade namn eller specialtecken. Men detta kommer inte att framtvinga kompatibiliteten för skiftlägeskänslighet.", "File Management" : "Filhantering", diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json index 1be129fa66c..27768e830bb 100644 --- a/apps/files/l10n/sv.json +++ b/apps/files/l10n/sv.json @@ -41,6 +41,8 @@ "Files" : "Filer", "A file or folder has been <strong>changed</strong>" : "En ny fil eller mapp har blivit <strong>ändrad</strong>", "A favorite file or folder has been <strong>changed</strong>" : "En favorit-fil eller mapp har blivit <strong>ändrad</strong>", + "%1$s (renamed)" : "%1$s (omdöpt)", + "renamed file" : "omdöpt fil", "Failed to authorize" : "Det gick inte att auktorisera", "Invalid folder path" : "Ogiltig mappsökväg", "Folder not found" : "Mappen hittades inte", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "Överförd från %1$s på %2$s", "Files compatibility" : "Filkompatibilitet", "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." : "Tillåt att begränsa filnamn för att säkerställa att filer kan synkroniseras med alla klienter. Som standard är alla filnamn som är giltiga på POSIX (t.ex. Linux eller macOS) tillåtna.", + "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Det är också möjligt att migrera filer automatiskt efter att den här inställningen har aktiverats. Se dokumentationen om kommandot occ för mer information.", "Enforce Windows compatibility" : "Tvinga Windows-kompatibilitet", "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." : "Detta kommer att blockera filnamn som inte är giltiga på Windows-system, som att använda reserverade namn eller specialtecken. Men detta kommer inte att framtvinga kompatibiliteten för skiftlägeskänslighet.", "File Management" : "Filhantering", diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js index 3dafbd00fb2..003a12b2320 100644 --- a/apps/files/l10n/zh_CN.js +++ b/apps/files/l10n/zh_CN.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "文件", "A file or folder has been <strong>changed</strong>" : "文件或文件夹已经被<strong>修改</strong>", "A favorite file or folder has been <strong>changed</strong>" : "一个收藏的文件或文件夹已经被<strong>修改</strong>", + "%1$s (renamed)" : "%1$s(已重命名)", + "renamed file" : "已重命名文件", "Failed to authorize" : "授权失败", "Invalid folder path" : "无效文件夹路径", "Folder not found" : "未找到文件夹", @@ -71,6 +73,7 @@ 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)系统有效的文件名都是被允许的。", + "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" : "文件管理", diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json index bb82495355a..aab018cfab8 100644 --- a/apps/files/l10n/zh_CN.json +++ b/apps/files/l10n/zh_CN.json @@ -41,6 +41,8 @@ "Files" : "文件", "A file or folder has been <strong>changed</strong>" : "文件或文件夹已经被<strong>修改</strong>", "A favorite file or folder has been <strong>changed</strong>" : "一个收藏的文件或文件夹已经被<strong>修改</strong>", + "%1$s (renamed)" : "%1$s(已重命名)", + "renamed file" : "已重命名文件", "Failed to authorize" : "授权失败", "Invalid folder path" : "无效文件夹路径", "Folder not found" : "未找到文件夹", @@ -69,6 +71,7 @@ "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)系统有效的文件名都是被允许的。", + "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" : "文件管理", diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js index 0a634d1de70..4b77fd52159 100644 --- a/apps/files/l10n/zh_HK.js +++ b/apps/files/l10n/zh_HK.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "檔案", "A file or folder has been <strong>changed</strong>" : "檔案或資料夾有所<strong>更改</strong>", "A favorite file or folder has been <strong>changed</strong>" : "收藏的檔案或資料夾有所<strong>更改</strong>", + "%1$s (renamed)" : "%1$s(已重新命名)", + "renamed file" : "已重新命名的檔案", "Failed to authorize" : "無法授權", "Invalid folder path" : "無效的資料夾路徑", "Folder not found" : "找不到資料夾", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "於 %2$s 從 %1$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)上有效的所有檔案名稱。", + "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" : "檔案管理", @@ -328,6 +331,7 @@ OC.L10N.register( "Unexpected error: {error}" : "意外錯誤:{error}", "_%n file_::_%n files_" : ["%n 個檔案"], "_%n folder_::_%n folders_" : ["%n 個資料夾"], + "_%n hidden_::_%n hidden_" : ["%n 個隱藏"], "Filename must not be empty." : "檔案名稱不能為空。", "\"{char}\" is not allowed inside a filename." : "檔案名稱中不允許出現「{char}」", "\"{segment}\" is a reserved name and not allowed for filenames." : "「{segment}」是保留名稱,不允許用在檔案名稱。", diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json index 04ff1f24cea..fa74cbe8827 100644 --- a/apps/files/l10n/zh_HK.json +++ b/apps/files/l10n/zh_HK.json @@ -41,6 +41,8 @@ "Files" : "檔案", "A file or folder has been <strong>changed</strong>" : "檔案或資料夾有所<strong>更改</strong>", "A favorite file or folder has been <strong>changed</strong>" : "收藏的檔案或資料夾有所<strong>更改</strong>", + "%1$s (renamed)" : "%1$s(已重新命名)", + "renamed file" : "已重新命名的檔案", "Failed to authorize" : "無法授權", "Invalid folder path" : "無效的資料夾路徑", "Folder not found" : "找不到資料夾", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "於 %2$s 從 %1$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)上有效的所有檔案名稱。", + "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" : "檔案管理", @@ -326,6 +329,7 @@ "Unexpected error: {error}" : "意外錯誤:{error}", "_%n file_::_%n files_" : ["%n 個檔案"], "_%n folder_::_%n folders_" : ["%n 個資料夾"], + "_%n hidden_::_%n hidden_" : ["%n 個隱藏"], "Filename must not be empty." : "檔案名稱不能為空。", "\"{char}\" is not allowed inside a filename." : "檔案名稱中不允許出現「{char}」", "\"{segment}\" is a reserved name and not allowed for filenames." : "「{segment}」是保留名稱,不允許用在檔案名稱。", diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js index d38585d78a5..ed24a6b2299 100644 --- a/apps/files/l10n/zh_TW.js +++ b/apps/files/l10n/zh_TW.js @@ -43,6 +43,8 @@ OC.L10N.register( "Files" : "檔案", "A file or folder has been <strong>changed</strong>" : "檔案或資料夾已被<strong>變更</strong>", "A favorite file or folder has been <strong>changed</strong>" : "一個喜愛的檔案或資料夾已<strong>變更</strong>", + "%1$s (renamed)" : "%1$s(已重新命名)", + "renamed file" : "已重新命名檔案", "Failed to authorize" : "授權失敗", "Invalid folder path" : "無效的資料夾路徑", "Folder not found" : "找不到資料夾", @@ -71,6 +73,7 @@ OC.L10N.register( "Transferred from %1$s on %2$s" : "於 %2$s 從 %1$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)上所有有效的檔案名稱。", + "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" : "檔案管理", diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json index 761f82ddd03..84ac29f65b1 100644 --- a/apps/files/l10n/zh_TW.json +++ b/apps/files/l10n/zh_TW.json @@ -41,6 +41,8 @@ "Files" : "檔案", "A file or folder has been <strong>changed</strong>" : "檔案或資料夾已被<strong>變更</strong>", "A favorite file or folder has been <strong>changed</strong>" : "一個喜愛的檔案或資料夾已<strong>變更</strong>", + "%1$s (renamed)" : "%1$s(已重新命名)", + "renamed file" : "已重新命名檔案", "Failed to authorize" : "授權失敗", "Invalid folder path" : "無效的資料夾路徑", "Folder not found" : "找不到資料夾", @@ -69,6 +71,7 @@ "Transferred from %1$s on %2$s" : "於 %2$s 從 %1$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)上所有有效的檔案名稱。", + "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" : "檔案管理", diff --git a/apps/files/lib/Activity/Provider.php b/apps/files/lib/Activity/Provider.php index 0b8e051c877..faa2bbd0b3b 100644 --- a/apps/files/lib/Activity/Provider.php +++ b/apps/files/lib/Activity/Provider.php @@ -319,7 +319,7 @@ class Provider implements IProvider { protected function getFile($parameter, ?IEvent $event = null): array { if (is_array($parameter)) { $path = reset($parameter); - $id = (string)key($parameter); + $id = (int)key($parameter); } elseif ($event !== null) { // Legacy from before ownCloud 8.2 $path = $parameter; @@ -341,7 +341,7 @@ class Provider implements IProvider { return [ 'type' => 'file', - 'id' => $encryptionContainer->getId(), + 'id' => (string)$encryptionContainer->getId(), 'name' => $encryptionContainer->getName(), 'path' => $path, 'link' => $this->url->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $encryptionContainer->getId()]), @@ -354,7 +354,7 @@ class Provider implements IProvider { return [ 'type' => 'file', - 'id' => $id, + 'id' => (string)$id, 'name' => basename($path), 'path' => trim($path, '/'), 'link' => $this->url->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $id]), diff --git a/apps/files/lib/Command/SanitizeFilenames.php b/apps/files/lib/Command/SanitizeFilenames.php new file mode 100644 index 00000000000..ea01afd20d6 --- /dev/null +++ b/apps/files/lib/Command/SanitizeFilenames.php @@ -0,0 +1,168 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\Files\Command; + +use Exception; +use OC\Core\Command\Base; +use OC\Files\FilenameValidator; +use OCP\Files\Folder; +use OCP\Files\IRootFolder; +use OCP\Files\NotPermittedException; +use OCP\IUser; +use OCP\IUserManager; +use OCP\IUserSession; +use OCP\L10N\IFactory; +use OCP\Lock\LockedException; +use Symfony\Component\Console\Input\InputArgument; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Input\InputOption; +use Symfony\Component\Console\Output\OutputInterface; + +class SanitizeFilenames extends Base { + + private OutputInterface $output; + private string $charReplacement; + private bool $dryRun; + + public function __construct( + private IUserManager $userManager, + private IRootFolder $rootFolder, + private IUserSession $session, + private IFactory $l10nFactory, + private FilenameValidator $filenameValidator, + ) { + parent::__construct(); + } + + protected function configure(): void { + parent::configure(); + + $forbiddenCharacter = $this->filenameValidator->getForbiddenCharacters(); + $charReplacement = array_diff([' ', '_', '-'], $forbiddenCharacter); + $charReplacement = reset($charReplacement) ?: ''; + + $this + ->setName('files:sanitize-filenames') + ->setDescription('Renames files to match naming constraints') + ->addArgument( + 'user_id', + InputArgument::OPTIONAL | InputArgument::IS_ARRAY, + 'will only rename files the given user(s) have access to' + ) + ->addOption( + 'dry-run', + mode: InputOption::VALUE_NONE, + description: 'Do not actually rename any files but just check filenames.', + ) + ->addOption( + 'char-replacement', + 'c', + mode: InputOption::VALUE_REQUIRED, + description: 'Replacement for invalid character (by default space, underscore or dash is used)', + default: $charReplacement, + ); + + } + + protected function execute(InputInterface $input, OutputInterface $output): int { + $this->charReplacement = $input->getOption('char-replacement'); + if ($this->charReplacement === '' || mb_strlen($this->charReplacement) > 1) { + $output->writeln('<error>No character replacement given</error>'); + return 1; + } + + $this->dryRun = $input->getOption('dry-run'); + if ($this->dryRun) { + $output->writeln('<info>Dry run is enabled, no actual renaming will be applied.</>'); + } + + $this->output = $output; + $users = $input->getArgument('user_id'); + if (!empty($users)) { + foreach ($users as $userId) { + $user = $this->userManager->get($userId); + if ($user === null) { + $output->writeln("<error>User '$userId' does not exist - skipping</>"); + continue; + } + $this->sanitizeUserFiles($user); + } + } else { + $this->userManager->callForSeenUsers($this->sanitizeUserFiles(...)); + } + return self::SUCCESS; + } + + private function sanitizeUserFiles(IUser $user): void { + // Set an active user so that event listeners can correctly work (e.g. files versions) + $this->session->setVolatileActiveUser($user); + + $this->output->writeln('<info>Analyzing files of ' . $user->getUID() . '</>'); + + $folder = $this->rootFolder->getUserFolder($user->getUID()); + $this->sanitizeFiles($folder); + } + + private function sanitizeFiles(Folder $folder): void { + foreach ($folder->getDirectoryListing() as $node) { + $this->output->writeln('scanning: ' . $node->getPath(), OutputInterface::VERBOSITY_VERBOSE); + + try { + $oldName = $node->getName(); + if (!$this->filenameValidator->isFilenameValid($oldName)) { + $newName = $this->sanitizeName($oldName); + $newName = $folder->getNonExistingName($newName); + $path = rtrim(dirname($node->getPath()), '/'); + + if (!$this->dryRun) { + $node->move("$path/$newName"); + } elseif (!$folder->isCreatable()) { + // simulate error for dry run + throw new NotPermittedException(); + } + $this->output->writeln('renamed: "' . $oldName . '" to "' . $newName . '"'); + } + } catch (LockedException) { + $this->output->writeln('<comment>skipping: ' . $node->getPath() . ' (file is locked)</>'); + } catch (NotPermittedException) { + $this->output->writeln('<comment>skipping: ' . $node->getPath() . ' (no permissions)</>'); + } catch (Exception) { + $this->output->writeln('<error>failed: ' . $node->getPath() . '</>'); + } + + if ($node instanceof Folder) { + $this->sanitizeFiles($node); + } + } + } + + private function sanitizeName(string $name): string { + $l10n = $this->l10nFactory->get('files'); + + foreach ($this->filenameValidator->getForbiddenExtensions() as $extension) { + if (str_ends_with($name, $extension)) { + $name = substr($name, 0, strlen($name) - strlen($extension)); + } + } + + $basename = substr($name, 0, strpos($name, '.', 1) ?: null); + if (in_array($basename, $this->filenameValidator->getForbiddenBasenames())) { + $name = str_replace($basename, $l10n->t('%1$s (renamed)', [$basename]), $name); + } + + if ($name === '') { + $name = $l10n->t('renamed file'); + } + + $forbiddenCharacter = $this->filenameValidator->getForbiddenCharacters(); + $name = str_replace($forbiddenCharacter, $this->charReplacement, $name); + + return $name; + } +} diff --git a/apps/files/lib/Command/Scan.php b/apps/files/lib/Command/Scan.php index 9c57f4b2971..7f45a9ea518 100644 --- a/apps/files/lib/Command/Scan.php +++ b/apps/files/lib/Command/Scan.php @@ -24,6 +24,7 @@ use OCP\Files\NotFoundException; use OCP\Files\StorageNotAvailableException; use OCP\FilesMetadata\IFilesMetadataManager; use OCP\IUserManager; +use OCP\Lock\LockedException; use OCP\Server; use Psr\Log\LoggerInterface; use Symfony\Component\Console\Helper\Table; @@ -165,6 +166,12 @@ class Scan extends Base { } catch (NotFoundException $e) { $output->writeln('<error>Path not found: ' . $e->getMessage() . '</error>'); ++$this->errorsCounter; + } catch (LockedException $e) { + if (str_starts_with($e->getPath(), 'scanner::')) { + $output->writeln('<error>Another process is already scanning \'' . substr($e->getPath(), strlen('scanner::')) . '\'</error>'); + } else { + throw $e; + } } catch (\Exception $e) { $output->writeln('<error>Exception during scan: ' . $e->getMessage() . '</error>'); $output->writeln('<error>' . $e->getTraceAsString() . '</error>'); diff --git a/apps/files/lib/Command/WindowsCompatibleFilenames.php b/apps/files/lib/Command/WindowsCompatibleFilenames.php new file mode 100644 index 00000000000..84a1b277824 --- /dev/null +++ b/apps/files/lib/Command/WindowsCompatibleFilenames.php @@ -0,0 +1,52 @@ +<?php + +declare(strict_types=1); + +/** + * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors + * SPDX-License-Identifier: AGPL-3.0-or-later + */ +namespace OCA\Files\Command; + +use OC\Core\Command\Base; +use OCA\Files\Service\SettingsService; +use Symfony\Component\Console\Input\InputInterface; +use Symfony\Component\Console\Output\OutputInterface; + +class WindowsCompatibleFilenames extends Base { + + public function __construct( + private SettingsService $service, + ) { + parent::__construct(); + } + + protected function configure(): void { + parent::configure(); + + $this + ->setName('files:windows-compatible-filenames') + ->setDescription('Enforce naming constraints for windows compatible filenames') + ->addOption('enable', description: 'Enable windows naming constraints') + ->addOption('disable', description: 'Disable windows naming constraints'); + } + + protected function execute(InputInterface $input, OutputInterface $output): int { + if ($input->getOption('enable')) { + if ($this->service->hasFilesWindowsSupport()) { + $output->writeln('<error>Windows compatible filenames already enforced.</error>', OutputInterface::VERBOSITY_VERBOSE); + } + $this->service->setFilesWindowsSupport(true); + $output->writeln('Windows compatible filenames enforced.'); + } elseif ($input->getOption('disable')) { + if (!$this->service->hasFilesWindowsSupport()) { + $output->writeln('<error>Windows compatible filenames already disabled.</error>', OutputInterface::VERBOSITY_VERBOSE); + } + $this->service->setFilesWindowsSupport(false); + $output->writeln('Windows compatible filename constraints removed.'); + } else { + $output->writeln('Windows compatible filenames are ' . ($this->service->hasFilesWindowsSupport() ? 'enforced' : 'disabled')); + } + return self::SUCCESS; + } +} diff --git a/apps/files/lib/Settings/DeclarativeAdminSettings.php b/apps/files/lib/Settings/DeclarativeAdminSettings.php index e509ad2233b..bbf97cc4d32 100644 --- a/apps/files/lib/Settings/DeclarativeAdminSettings.php +++ b/apps/files/lib/Settings/DeclarativeAdminSettings.php @@ -9,6 +9,7 @@ namespace OCA\Files\Settings; use OCA\Files\Service\SettingsService; use OCP\IL10N; +use OCP\IURLGenerator; use OCP\IUser; use OCP\Settings\DeclarativeSettingsTypes; use OCP\Settings\IDeclarativeSettingsFormWithHandlers; @@ -18,6 +19,7 @@ class DeclarativeAdminSettings implements IDeclarativeSettingsFormWithHandlers { public function __construct( private IL10N $l, private SettingsService $service, + private IURLGenerator $urlGenerator, ) { } @@ -44,7 +46,12 @@ class DeclarativeAdminSettings implements IDeclarativeSettingsFormWithHandlers { 'section_id' => 'server', 'storage_type' => DeclarativeSettingsTypes::STORAGE_TYPE_EXTERNAL, 'title' => $this->l->t('Files compatibility'), - 'description' => $this->l->t('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.'), + 'doc_url' => $this->urlGenerator->linkToDocs('admin-windows-compatible-filenames'), + 'description' => ( + $this->l->t('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.') + . "\n" . $this->l->t('After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner.') + . "\n" . $this->l->t('It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command.') + ), 'fields' => [ [ diff --git a/apps/files/src/components/FileEntryMixin.ts b/apps/files/src/components/FileEntryMixin.ts index 589073e7b9a..735490c45b3 100644 --- a/apps/files/src/components/FileEntryMixin.ts +++ b/apps/files/src/components/FileEntryMixin.ts @@ -356,7 +356,7 @@ export default defineComponent({ // if ctrl+click / cmd+click (MacOS uses the meta key) or middle mouse button (button & 4), open in new tab // also if there is no default action use this as a fallback - const metaKeyPressed = event.ctrlKey || event.metaKey || Boolean(event.button & 4) + const metaKeyPressed = event.ctrlKey || event.metaKey || event.button === 1 if (metaKeyPressed || !this.defaultFileAction) { // If no download permission, then we can not allow to download (direct link) the files if (isPublicShare() && !isDownloadable(this.source)) { @@ -368,7 +368,9 @@ export default defineComponent({ : generateUrl('/f/{fileId}', { fileId: this.fileid }) event.preventDefault() event.stopPropagation() - window.open(url, metaKeyPressed ? '_self' : undefined) + + // Open the file in a new tab if the meta key or the middle mouse button is clicked + window.open(url, metaKeyPressed ? '_blank' : '_self') return } diff --git a/apps/files/tests/Activity/ProviderTest.php b/apps/files/tests/Activity/ProviderTest.php index 7803563a11c..7b91e980842 100644 --- a/apps/files/tests/Activity/ProviderTest.php +++ b/apps/files/tests/Activity/ProviderTest.php @@ -93,7 +93,7 @@ class ProviderTest extends TestCase { return [ [[42 => '/FortyTwo.txt'], null, '42', 'FortyTwo.txt', 'FortyTwo.txt'], [['23' => '/Twenty/Three.txt'], null, '23', 'Three.txt', 'Twenty/Three.txt'], - ['/Foo/Bar.txt', 128, 128, 'Bar.txt', 'Foo/Bar.txt'], // Legacy from ownCloud 8.2 and before + ['/Foo/Bar.txt', 128, '128', 'Bar.txt', 'Foo/Bar.txt'], // Legacy from ownCloud 8.2 and before ]; } |