aboutsummaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/admin_audit/l10n/id.js4
-rw-r--r--apps/admin_audit/l10n/id.json4
-rw-r--r--apps/dav/appinfo/routes.php3
-rw-r--r--apps/dav/composer/composer/autoload_classmap.php2
-rw-r--r--apps/dav/composer/composer/autoload_static.php2
-rw-r--r--apps/dav/l10n/de.js10
-rw-r--r--apps/dav/l10n/de.json10
-rw-r--r--apps/dav/l10n/de_DE.js10
-rw-r--r--apps/dav/l10n/de_DE.json10
-rw-r--r--apps/dav/l10n/en_GB.js10
-rw-r--r--apps/dav/l10n/en_GB.json10
-rw-r--r--apps/dav/l10n/fr.js36
-rw-r--r--apps/dav/l10n/fr.json36
-rw-r--r--apps/dav/l10n/ga.js10
-rw-r--r--apps/dav/l10n/ga.json10
-rw-r--r--apps/dav/l10n/pl.js20
-rw-r--r--apps/dav/l10n/pl.json20
-rw-r--r--apps/dav/l10n/ru.js96
-rw-r--r--apps/dav/l10n/ru.json96
-rw-r--r--apps/dav/l10n/sv.js10
-rw-r--r--apps/dav/l10n/sv.json10
-rw-r--r--apps/dav/l10n/zh_CN.js18
-rw-r--r--apps/dav/l10n/zh_CN.json18
-rw-r--r--apps/dav/l10n/zh_HK.js10
-rw-r--r--apps/dav/l10n/zh_HK.json10
-rw-r--r--apps/dav/lib/CalDAV/CalDavBackend.php2
-rw-r--r--apps/dav/lib/Controller/ExampleContentController.php80
-rw-r--r--apps/dav/lib/Listener/UserEventsListener.php6
-rw-r--r--apps/dav/lib/Service/DefaultContactService.php77
-rw-r--r--apps/dav/lib/Service/ExampleContactService.php132
-rw-r--r--apps/dav/lib/Settings/ExampleContentSettings.php14
-rw-r--r--apps/dav/src/components/ExampleContactSettings.vue4
-rw-r--r--apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php8
-rw-r--r--apps/dav/tests/unit/Service/ExampleContactServiceTest.php (renamed from apps/dav/tests/unit/Service/DefaultContactServiceTest.php)85
-rw-r--r--apps/encryption/l10n/et_EE.js61
-rw-r--r--apps/encryption/l10n/et_EE.json61
-rw-r--r--apps/encryption/l10n/fr.js1
-rw-r--r--apps/encryption/l10n/fr.json1
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.js4
-rw-r--r--apps/federatedfilesharing/l10n/et_EE.json4
-rw-r--r--apps/federatedfilesharing/l10n/fr.js9
-rw-r--r--apps/federatedfilesharing/l10n/fr.json9
-rw-r--r--apps/federatedfilesharing/l10n/nl.js1
-rw-r--r--apps/federatedfilesharing/l10n/nl.json1
-rw-r--r--apps/federation/l10n/nl.js5
-rw-r--r--apps/federation/l10n/nl.json5
-rw-r--r--apps/files/l10n/ar.js8
-rw-r--r--apps/files/l10n/ar.json8
-rw-r--r--apps/files/l10n/ast.js7
-rw-r--r--apps/files/l10n/ast.json7
-rw-r--r--apps/files/l10n/bg.js7
-rw-r--r--apps/files/l10n/bg.json7
-rw-r--r--apps/files/l10n/ca.js7
-rw-r--r--apps/files/l10n/ca.json7
-rw-r--r--apps/files/l10n/cs.js10
-rw-r--r--apps/files/l10n/cs.json10
-rw-r--r--apps/files/l10n/da.js7
-rw-r--r--apps/files/l10n/da.json7
-rw-r--r--apps/files/l10n/de.js8
-rw-r--r--apps/files/l10n/de.json8
-rw-r--r--apps/files/l10n/de_DE.js8
-rw-r--r--apps/files/l10n/de_DE.json8
-rw-r--r--apps/files/l10n/el.js7
-rw-r--r--apps/files/l10n/el.json7
-rw-r--r--apps/files/l10n/en_GB.js8
-rw-r--r--apps/files/l10n/en_GB.json8
-rw-r--r--apps/files/l10n/es.js8
-rw-r--r--apps/files/l10n/es.json8
-rw-r--r--apps/files/l10n/es_EC.js7
-rw-r--r--apps/files/l10n/es_EC.json7
-rw-r--r--apps/files/l10n/es_MX.js7
-rw-r--r--apps/files/l10n/es_MX.json7
-rw-r--r--apps/files/l10n/et_EE.js8
-rw-r--r--apps/files/l10n/et_EE.json8
-rw-r--r--apps/files/l10n/eu.js8
-rw-r--r--apps/files/l10n/eu.json8
-rw-r--r--apps/files/l10n/fa.js7
-rw-r--r--apps/files/l10n/fa.json7
-rw-r--r--apps/files/l10n/fi.js7
-rw-r--r--apps/files/l10n/fi.json7
-rw-r--r--apps/files/l10n/fr.js8
-rw-r--r--apps/files/l10n/fr.json8
-rw-r--r--apps/files/l10n/ga.js8
-rw-r--r--apps/files/l10n/ga.json8
-rw-r--r--apps/files/l10n/gl.js10
-rw-r--r--apps/files/l10n/gl.json10
-rw-r--r--apps/files/l10n/hu.js7
-rw-r--r--apps/files/l10n/hu.json7
-rw-r--r--apps/files/l10n/id.js7
-rw-r--r--apps/files/l10n/id.json7
-rw-r--r--apps/files/l10n/is.js7
-rw-r--r--apps/files/l10n/is.json7
-rw-r--r--apps/files/l10n/it.js9
-rw-r--r--apps/files/l10n/it.json9
-rw-r--r--apps/files/l10n/ja.js8
-rw-r--r--apps/files/l10n/ja.json8
-rw-r--r--apps/files/l10n/ka.js7
-rw-r--r--apps/files/l10n/ka.json7
-rw-r--r--apps/files/l10n/ko.js7
-rw-r--r--apps/files/l10n/ko.json7
-rw-r--r--apps/files/l10n/lt_LT.js7
-rw-r--r--apps/files/l10n/lt_LT.json7
-rw-r--r--apps/files/l10n/mk.js13
-rw-r--r--apps/files/l10n/mk.json13
-rw-r--r--apps/files/l10n/nb.js7
-rw-r--r--apps/files/l10n/nb.json7
-rw-r--r--apps/files/l10n/nl.js13
-rw-r--r--apps/files/l10n/nl.json13
-rw-r--r--apps/files/l10n/pl.js7
-rw-r--r--apps/files/l10n/pl.json7
-rw-r--r--apps/files/l10n/pt_BR.js10
-rw-r--r--apps/files/l10n/pt_BR.json10
-rw-r--r--apps/files/l10n/pt_PT.js12
-rw-r--r--apps/files/l10n/pt_PT.json12
-rw-r--r--apps/files/l10n/ro.js7
-rw-r--r--apps/files/l10n/ro.json7
-rw-r--r--apps/files/l10n/ru.js7
-rw-r--r--apps/files/l10n/ru.json7
-rw-r--r--apps/files/l10n/sc.js7
-rw-r--r--apps/files/l10n/sc.json7
-rw-r--r--apps/files/l10n/sk.js8
-rw-r--r--apps/files/l10n/sk.json8
-rw-r--r--apps/files/l10n/sl.js7
-rw-r--r--apps/files/l10n/sl.json7
-rw-r--r--apps/files/l10n/sr.js8
-rw-r--r--apps/files/l10n/sr.json8
-rw-r--r--apps/files/l10n/sv.js8
-rw-r--r--apps/files/l10n/sv.json8
-rw-r--r--apps/files/l10n/sw.js191
-rw-r--r--apps/files/l10n/sw.json191
-rw-r--r--apps/files/l10n/th.js7
-rw-r--r--apps/files/l10n/th.json7
-rw-r--r--apps/files/l10n/tr.js8
-rw-r--r--apps/files/l10n/tr.json8
-rw-r--r--apps/files/l10n/ug.js7
-rw-r--r--apps/files/l10n/ug.json7
-rw-r--r--apps/files/l10n/uk.js8
-rw-r--r--apps/files/l10n/uk.json8
-rw-r--r--apps/files/l10n/vi.js7
-rw-r--r--apps/files/l10n/vi.json7
-rw-r--r--apps/files/l10n/zh_CN.js16
-rw-r--r--apps/files/l10n/zh_CN.json16
-rw-r--r--apps/files/l10n/zh_HK.js8
-rw-r--r--apps/files/l10n/zh_HK.json8
-rw-r--r--apps/files/l10n/zh_TW.js8
-rw-r--r--apps/files/l10n/zh_TW.json8
-rw-r--r--apps/files/lib/Command/Scan.php48
-rw-r--r--apps/files/src/views/FilesList.vue7
-rw-r--r--apps/files_external/l10n/fr.js3
-rw-r--r--apps/files_external/l10n/fr.json3
-rw-r--r--apps/files_external/l10n/nl.js81
-rw-r--r--apps/files_external/l10n/nl.json81
-rw-r--r--apps/files_external/lib/Lib/Storage/SMB.php10
-rw-r--r--apps/files_reminders/lib/Db/ReminderMapper.php22
-rw-r--r--apps/files_sharing/l10n/cs.js2
-rw-r--r--apps/files_sharing/l10n/cs.json2
-rw-r--r--apps/files_sharing/l10n/de.js2
-rw-r--r--apps/files_sharing/l10n/de.json2
-rw-r--r--apps/files_sharing/l10n/de_DE.js2
-rw-r--r--apps/files_sharing/l10n/de_DE.json2
-rw-r--r--apps/files_sharing/l10n/en_GB.js2
-rw-r--r--apps/files_sharing/l10n/en_GB.json2
-rw-r--r--apps/files_sharing/l10n/et_EE.js2
-rw-r--r--apps/files_sharing/l10n/et_EE.json2
-rw-r--r--apps/files_sharing/l10n/fr.js5
-rw-r--r--apps/files_sharing/l10n/fr.json5
-rw-r--r--apps/files_sharing/l10n/ga.js2
-rw-r--r--apps/files_sharing/l10n/ga.json2
-rw-r--r--apps/files_sharing/l10n/hu.js6
-rw-r--r--apps/files_sharing/l10n/hu.json6
-rw-r--r--apps/files_sharing/l10n/it.js2
-rw-r--r--apps/files_sharing/l10n/it.json2
-rw-r--r--apps/files_sharing/l10n/ja.js2
-rw-r--r--apps/files_sharing/l10n/ja.json2
-rw-r--r--apps/files_sharing/l10n/nl.js70
-rw-r--r--apps/files_sharing/l10n/nl.json70
-rw-r--r--apps/files_sharing/l10n/pt_BR.js8
-rw-r--r--apps/files_sharing/l10n/pt_BR.json8
-rw-r--r--apps/files_sharing/l10n/ru.js32
-rw-r--r--apps/files_sharing/l10n/ru.json32
-rw-r--r--apps/files_sharing/l10n/sr.js2
-rw-r--r--apps/files_sharing/l10n/sr.json2
-rw-r--r--apps/files_sharing/l10n/sv.js5
-rw-r--r--apps/files_sharing/l10n/sv.json5
-rw-r--r--apps/files_sharing/l10n/uk.js2
-rw-r--r--apps/files_sharing/l10n/uk.json2
-rw-r--r--apps/files_sharing/l10n/zh_CN.js4
-rw-r--r--apps/files_sharing/l10n/zh_CN.json4
-rw-r--r--apps/files_sharing/l10n/zh_HK.js2
-rw-r--r--apps/files_sharing/l10n/zh_HK.json2
-rw-r--r--apps/files_sharing/l10n/zh_TW.js2
-rw-r--r--apps/files_sharing/l10n/zh_TW.json2
-rw-r--r--apps/files_sharing/src/components/SharingEntryLink.vue38
-rw-r--r--apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php28
-rw-r--r--apps/files_trashbin/l10n/de.js1
-rw-r--r--apps/files_trashbin/l10n/de.json1
-rw-r--r--apps/files_trashbin/l10n/de_DE.js1
-rw-r--r--apps/files_trashbin/l10n/de_DE.json1
-rw-r--r--apps/files_trashbin/l10n/en_GB.js1
-rw-r--r--apps/files_trashbin/l10n/en_GB.json1
-rw-r--r--apps/files_trashbin/l10n/fr.js1
-rw-r--r--apps/files_trashbin/l10n/fr.json1
-rw-r--r--apps/files_trashbin/l10n/ga.js1
-rw-r--r--apps/files_trashbin/l10n/ga.json1
-rw-r--r--apps/files_trashbin/l10n/ja.js1
-rw-r--r--apps/files_trashbin/l10n/ja.json1
-rw-r--r--apps/files_trashbin/l10n/pt_BR.js1
-rw-r--r--apps/files_trashbin/l10n/pt_BR.json1
-rw-r--r--apps/files_trashbin/l10n/sv.js1
-rw-r--r--apps/files_trashbin/l10n/sv.json1
-rw-r--r--apps/files_trashbin/l10n/uk.js1
-rw-r--r--apps/files_trashbin/l10n/uk.json1
-rw-r--r--apps/files_trashbin/l10n/zh_CN.js1
-rw-r--r--apps/files_trashbin/l10n/zh_CN.json1
-rw-r--r--apps/files_trashbin/l10n/zh_HK.js1
-rw-r--r--apps/files_trashbin/l10n/zh_HK.json1
-rw-r--r--apps/files_versions/l10n/nl.js4
-rw-r--r--apps/files_versions/l10n/nl.json4
-rw-r--r--apps/files_versions/tests/StorageTest.php4
-rw-r--r--apps/oauth2/l10n/nl.js5
-rw-r--r--apps/oauth2/l10n/nl.json5
-rw-r--r--apps/profile/l10n/nl.js2
-rw-r--r--apps/profile/l10n/nl.json2
-rw-r--r--apps/profile/l10n/sw.js13
-rw-r--r--apps/profile/l10n/sw.json11
-rw-r--r--apps/provisioning_api/l10n/de.js6
-rw-r--r--apps/provisioning_api/l10n/de.json6
-rw-r--r--apps/provisioning_api/l10n/ru.js31
-rw-r--r--apps/provisioning_api/l10n/ru.json31
-rw-r--r--apps/settings/l10n/et_EE.js52
-rw-r--r--apps/settings/l10n/et_EE.json52
-rw-r--r--apps/settings/l10n/fr.js15
-rw-r--r--apps/settings/l10n/fr.json15
-rw-r--r--apps/settings/l10n/hu.js4
-rw-r--r--apps/settings/l10n/hu.json4
-rw-r--r--apps/settings/l10n/lv.js2
-rw-r--r--apps/settings/l10n/lv.json2
-rw-r--r--apps/settings/l10n/mk.js6
-rw-r--r--apps/settings/l10n/mk.json6
-rw-r--r--apps/settings/l10n/nl.js4
-rw-r--r--apps/settings/l10n/nl.json4
-rw-r--r--apps/settings/l10n/pt_BR.js2
-rw-r--r--apps/settings/l10n/pt_BR.json2
-rw-r--r--apps/settings/l10n/uk.js1
-rw-r--r--apps/settings/l10n/uk.json1
-rw-r--r--apps/sharebymail/l10n/et_EE.js6
-rw-r--r--apps/sharebymail/l10n/et_EE.json6
-rw-r--r--apps/sharebymail/l10n/nl.js16
-rw-r--r--apps/sharebymail/l10n/nl.json16
-rw-r--r--apps/sharebymail/l10n/ru.js10
-rw-r--r--apps/sharebymail/l10n/ru.json10
-rw-r--r--apps/systemtags/l10n/ru.js22
-rw-r--r--apps/systemtags/l10n/ru.json22
-rw-r--r--apps/theming/l10n/fr.js1
-rw-r--r--apps/theming/l10n/fr.json1
-rw-r--r--apps/user_ldap/ajax/deleteConfiguration.php4
-rw-r--r--apps/user_ldap/ajax/getNewServerConfigPrefix.php4
-rw-r--r--apps/user_ldap/l10n/fr.js10
-rw-r--r--apps/user_ldap/l10n/fr.json10
-rw-r--r--apps/user_ldap/l10n/gl.js1
-rw-r--r--apps/user_ldap/l10n/gl.json1
-rw-r--r--apps/user_ldap/lib/Command/Search.php3
-rw-r--r--apps/user_ldap/lib/Command/SetConfig.php4
-rw-r--r--apps/user_ldap/lib/Connection.php4
-rw-r--r--apps/user_ldap/lib/Helper.php96
-rw-r--r--apps/user_ldap/lib/Jobs/CleanUp.php2
-rw-r--r--apps/user_ldap/lib/Settings/Admin.php4
-rw-r--r--apps/user_ldap/tests/AccessTest.php3
-rw-r--r--apps/user_ldap/tests/HelperTest.php81
-rw-r--r--apps/user_ldap/tests/Integration/AbstractIntegrationTest.php3
-rw-r--r--apps/user_ldap/tests/LDAPProviderTest.php5
-rw-r--r--apps/user_status/l10n/nl.js6
-rw-r--r--apps/user_status/l10n/nl.json6
-rw-r--r--apps/weather_status/l10n/nl.js10
-rw-r--r--apps/weather_status/l10n/nl.json10
-rw-r--r--apps/workflowengine/l10n/nl.js5
-rw-r--r--apps/workflowengine/l10n/nl.json5
277 files changed, 2634 insertions, 921 deletions
diff --git a/apps/admin_audit/l10n/id.js b/apps/admin_audit/l10n/id.js
index 441f1940069..144a85299f1 100644
--- a/apps/admin_audit/l10n/id.js
+++ b/apps/admin_audit/l10n/id.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"admin_audit",
{
- "Auditing / Logging" : "Pemeriksaan / Pencatatan",
- "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Menyediakan kemampuan pencatatan untuk Nextcloud seperti pencatatan akses berkas atau tindakan sensitif lainnya."
+ "Auditing / Logging" : "Pengauditan/Pencatatan",
+ "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Menyediakan kemampuan pencatatan untuk Nextcloud, misalnya pencatatan akses file atau tindakan sensitif lainnya."
},
"nplurals=1; plural=0;");
diff --git a/apps/admin_audit/l10n/id.json b/apps/admin_audit/l10n/id.json
index 91af029f895..868f7c94d32 100644
--- a/apps/admin_audit/l10n/id.json
+++ b/apps/admin_audit/l10n/id.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Auditing / Logging" : "Pemeriksaan / Pencatatan",
- "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Menyediakan kemampuan pencatatan untuk Nextcloud seperti pencatatan akses berkas atau tindakan sensitif lainnya."
+ "Auditing / Logging" : "Pengauditan/Pencatatan",
+ "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Menyediakan kemampuan pencatatan untuk Nextcloud, misalnya pencatatan akses file atau tindakan sensitif lainnya."
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/dav/appinfo/routes.php b/apps/dav/appinfo/routes.php
index d0953add93f..91c1ba58ea2 100644
--- a/apps/dav/appinfo/routes.php
+++ b/apps/dav/appinfo/routes.php
@@ -11,9 +11,6 @@ return [
['name' => 'invitation_response#decline', 'url' => '/invitation/decline/{token}', 'verb' => 'GET'],
['name' => 'invitation_response#options', 'url' => '/invitation/moreOptions/{token}', 'verb' => 'GET'],
['name' => 'invitation_response#processMoreOptionsResult', 'url' => '/invitation/moreOptions/{token}', 'verb' => 'POST'],
- ['name' => 'example_content#getDefaultContact', 'url' => '/api/defaultcontact/contact', 'verb' => 'GET'],
- ['name' => 'example_content#setDefaultContact', 'url' => '/api/defaultcontact/contact', 'verb' => 'PUT'],
- ['name' => 'example_content#setEnableDefaultContact', 'url' => '/api/defaultcontact/config', 'verb' => 'PUT'],
],
'ocs' => [
['name' => 'direct#getUrl', 'url' => '/api/v1/direct', 'verb' => 'POST'],
diff --git a/apps/dav/composer/composer/autoload_classmap.php b/apps/dav/composer/composer/autoload_classmap.php
index 312f30ca8c5..4c48f343c4c 100644
--- a/apps/dav/composer/composer/autoload_classmap.php
+++ b/apps/dav/composer/composer/autoload_classmap.php
@@ -366,7 +366,7 @@ return array(
'OCA\\DAV\\Server' => $baseDir . '/../lib/Server.php',
'OCA\\DAV\\ServerFactory' => $baseDir . '/../lib/ServerFactory.php',
'OCA\\DAV\\Service\\AbsenceService' => $baseDir . '/../lib/Service/AbsenceService.php',
- 'OCA\\DAV\\Service\\DefaultContactService' => $baseDir . '/../lib/Service/DefaultContactService.php',
+ 'OCA\\DAV\\Service\\ExampleContactService' => $baseDir . '/../lib/Service/ExampleContactService.php',
'OCA\\DAV\\Service\\ExampleEventService' => $baseDir . '/../lib/Service/ExampleEventService.php',
'OCA\\DAV\\Settings\\Admin\\SystemAddressBookSettings' => $baseDir . '/../lib/Settings/Admin/SystemAddressBookSettings.php',
'OCA\\DAV\\Settings\\AvailabilitySettings' => $baseDir . '/../lib/Settings/AvailabilitySettings.php',
diff --git a/apps/dav/composer/composer/autoload_static.php b/apps/dav/composer/composer/autoload_static.php
index aeb354685bf..4d9166a2d5a 100644
--- a/apps/dav/composer/composer/autoload_static.php
+++ b/apps/dav/composer/composer/autoload_static.php
@@ -381,7 +381,7 @@ class ComposerStaticInitDAV
'OCA\\DAV\\Server' => __DIR__ . '/..' . '/../lib/Server.php',
'OCA\\DAV\\ServerFactory' => __DIR__ . '/..' . '/../lib/ServerFactory.php',
'OCA\\DAV\\Service\\AbsenceService' => __DIR__ . '/..' . '/../lib/Service/AbsenceService.php',
- 'OCA\\DAV\\Service\\DefaultContactService' => __DIR__ . '/..' . '/../lib/Service/DefaultContactService.php',
+ 'OCA\\DAV\\Service\\ExampleContactService' => __DIR__ . '/..' . '/../lib/Service/ExampleContactService.php',
'OCA\\DAV\\Service\\ExampleEventService' => __DIR__ . '/..' . '/../lib/Service/ExampleEventService.php',
'OCA\\DAV\\Settings\\Admin\\SystemAddressBookSettings' => __DIR__ . '/..' . '/../lib/Settings/Admin/SystemAddressBookSettings.php',
'OCA\\DAV\\Settings\\AvailabilitySettings' => __DIR__ . '/..' . '/../lib/Settings/AvailabilitySettings.php',
diff --git a/apps/dav/l10n/de.js b/apps/dav/l10n/de.js
index 1c6de8f18cf..3ba68d336ed 100644
--- a/apps/dav/l10n/de.js
+++ b/apps/dav/l10n/de.js
@@ -301,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "Auf Standard zurücksetzen ",
"Import contacts" : "Kontakte importieren",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?",
+ "Failed to save example event creation setting" : "Einstellung für die Beispiels-Ereigniserstellung konnte nicht gespeichert werden",
+ "Failed to upload the example event" : "Das Beispielsereignis konnte nicht hochgeladen werden",
+ "Custom example event was saved successfully" : "Benutzerdefiniertes Beispielereignis gespeichert",
+ "Failed to delete the custom example event" : "Benutzerdefiniertes Beispielsereignis konnte nicht gelöscht werden",
+ "Custom example event was deleted successfully" : "Benutzerdefiniertes Beispielsereignis wurde gelöscht",
+ "Import calendar event" : "Kalenderereignis importieren",
+ "Uploading a new event will overwrite the existing one." : "Das Hochladen eines neuen Ereignisses wird das bestehende Ereignis überschreiben.",
+ "Upload event" : "Ereignis hochladen",
"Availability" : "Verfügbarkeit",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten angibst, können andere beim Buchen einer Besprechung sehen, wann du nicht im Büro bist.",
"Absence" : "Abwesenheit",
@@ -317,6 +325,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die freigegebenen Kalender senden",
"Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.",
"Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren",
+ "Example content" : "Beispielsinhalt",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Beispielinhalte dienen dazu, die Funktionen von Nextcloud vorzustellen. Standardinhalte werden mit Nextcloud ausgeliefert und können durch benutzerdefinierte Inhalte ersetzt werden.",
"There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren deines Teilnehmerstatus aufgetreten.",
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
diff --git a/apps/dav/l10n/de.json b/apps/dav/l10n/de.json
index bd3269672bd..c152c3aa8cc 100644
--- a/apps/dav/l10n/de.json
+++ b/apps/dav/l10n/de.json
@@ -299,6 +299,14 @@
"Reset to default" : "Auf Standard zurücksetzen ",
"Import contacts" : "Kontakte importieren",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?",
+ "Failed to save example event creation setting" : "Einstellung für die Beispiels-Ereigniserstellung konnte nicht gespeichert werden",
+ "Failed to upload the example event" : "Das Beispielsereignis konnte nicht hochgeladen werden",
+ "Custom example event was saved successfully" : "Benutzerdefiniertes Beispielereignis gespeichert",
+ "Failed to delete the custom example event" : "Benutzerdefiniertes Beispielsereignis konnte nicht gelöscht werden",
+ "Custom example event was deleted successfully" : "Benutzerdefiniertes Beispielsereignis wurde gelöscht",
+ "Import calendar event" : "Kalenderereignis importieren",
+ "Uploading a new event will overwrite the existing one." : "Das Hochladen eines neuen Ereignisses wird das bestehende Ereignis überschreiben.",
+ "Upload event" : "Ereignis hochladen",
"Availability" : "Verfügbarkeit",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn du deine Arbeitszeiten angibst, können andere beim Buchen einer Besprechung sehen, wann du nicht im Büro bist.",
"Absence" : "Abwesenheit",
@@ -315,6 +323,8 @@
"Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die freigegebenen Kalender senden",
"Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.",
"Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren",
+ "Example content" : "Beispielsinhalt",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Beispielinhalte dienen dazu, die Funktionen von Nextcloud vorzustellen. Standardinhalte werden mit Nextcloud ausgeliefert und können durch benutzerdefinierte Inhalte ersetzt werden.",
"There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren deines Teilnehmerstatus aufgetreten.",
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
diff --git a/apps/dav/l10n/de_DE.js b/apps/dav/l10n/de_DE.js
index d6e90925eed..efdf32b9c34 100644
--- a/apps/dav/l10n/de_DE.js
+++ b/apps/dav/l10n/de_DE.js
@@ -301,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "Auf Standard zurücksetzen ",
"Import contacts" : "Kontakte importieren",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?",
+ "Failed to save example event creation setting" : "Einstellung für die Beispiels-Terminerstellung konnte nicht gespeichert werden",
+ "Failed to upload the example event" : "Der Beispieltermin konnte nicht hochgeladen werden",
+ "Custom example event was saved successfully" : "Benutzerdefinierter Beispieltermin gespeichert",
+ "Failed to delete the custom example event" : "Benutzerdefinierter Beispieltermin konnte nicht gelöscht werden",
+ "Custom example event was deleted successfully" : "Benutzerdefinierter Beispieltermin wurde gelöscht",
+ "Import calendar event" : "Kalendertermin importieren",
+ "Uploading a new event will overwrite the existing one." : "Das Hochladen eines neuen Termins wird den bestehenden Termin überschreiben.",
+ "Upload event" : "Termin hochladen",
"Availability" : "Verfügbarkeit",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn Sie Ihre Arbeitszeiten angeben, können andere beim Buchen einer Besprechung sehen, wann Sie nicht im Büro sind.",
"Absence" : "Abwesenheit",
@@ -317,6 +325,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die Kalenderfreigaben senden",
"Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.",
"Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren",
+ "Example content" : "Beispielsinhalt",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Beispielinhalte dienen dazu, die Funktionen von Nextcloud vorzustellen. Standardinhalte werden mit Nextcloud ausgeliefert und können durch benutzerdefinierte Inhalte ersetzt werden.",
"There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren Ihres Teilnehmerstatus aufgetreten.",
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
diff --git a/apps/dav/l10n/de_DE.json b/apps/dav/l10n/de_DE.json
index 8274d130006..7170849d1a9 100644
--- a/apps/dav/l10n/de_DE.json
+++ b/apps/dav/l10n/de_DE.json
@@ -299,6 +299,14 @@
"Reset to default" : "Auf Standard zurücksetzen ",
"Import contacts" : "Kontakte importieren",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Durch das Importieren einer neuen VCF-Datei wird der vorhandene Standardkontakt gelöscht und durch den neuen ersetzt. Fortsetzen?",
+ "Failed to save example event creation setting" : "Einstellung für die Beispiels-Terminerstellung konnte nicht gespeichert werden",
+ "Failed to upload the example event" : "Der Beispieltermin konnte nicht hochgeladen werden",
+ "Custom example event was saved successfully" : "Benutzerdefinierter Beispieltermin gespeichert",
+ "Failed to delete the custom example event" : "Benutzerdefinierter Beispieltermin konnte nicht gelöscht werden",
+ "Custom example event was deleted successfully" : "Benutzerdefinierter Beispieltermin wurde gelöscht",
+ "Import calendar event" : "Kalendertermin importieren",
+ "Uploading a new event will overwrite the existing one." : "Das Hochladen eines neuen Termins wird den bestehenden Termin überschreiben.",
+ "Upload event" : "Termin hochladen",
"Availability" : "Verfügbarkeit",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Wenn Sie Ihre Arbeitszeiten angeben, können andere beim Buchen einer Besprechung sehen, wann Sie nicht im Büro sind.",
"Absence" : "Abwesenheit",
@@ -315,6 +323,8 @@
"Send reminder notifications to calendar sharees as well" : "Erinnerungsbenachrichtigungen auch an die Kalenderfreigaben senden",
"Reminders are always sent to organizers and attendees." : "Erinnerungen werden immer an Organisatoren und Teilnehmer gesendet.",
"Enable notifications for events via push" : "Benachrichtigungen für Termine per Push aktivieren",
+ "Example content" : "Beispielsinhalt",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Beispielinhalte dienen dazu, die Funktionen von Nextcloud vorzustellen. Standardinhalte werden mit Nextcloud ausgeliefert und können durch benutzerdefinierte Inhalte ersetzt werden.",
"There was an error updating your attendance status." : "Es ist ein Fehler beim Aktualisieren Ihres Teilnehmerstatus aufgetreten.",
"Please contact the organizer directly." : "Bitte den Organisator direkt kontaktieren.",
"Are you accepting the invitation?" : "Die Einladung annehmen?",
diff --git a/apps/dav/l10n/en_GB.js b/apps/dav/l10n/en_GB.js
index d8b77218a68..75233b334ed 100644
--- a/apps/dav/l10n/en_GB.js
+++ b/apps/dav/l10n/en_GB.js
@@ -301,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "Reset to default",
"Import contacts" : "Import contacts",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?",
+ "Failed to save example event creation setting" : "Failed to save example event creation setting",
+ "Failed to upload the example event" : "Failed to upload the example event",
+ "Custom example event was saved successfully" : "Custom example event was saved successfully",
+ "Failed to delete the custom example event" : "Failed to delete the custom example event",
+ "Custom example event was deleted successfully" : "Custom example event was deleted successfully",
+ "Import calendar event" : "Import calendar event",
+ "Uploading a new event will overwrite the existing one." : "Uploading a new event will overwrite the existing one.",
+ "Upload event" : "Upload event",
"Availability" : "Availability",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "If you configure your working hours, other people will see when you are out of office when they book a meeting.",
"Absence" : "Absence",
@@ -317,6 +325,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Send reminder notifications to calendar sharees as well",
"Reminders are always sent to organizers and attendees." : "Reminders are always sent to organisers and attendees.",
"Enable notifications for events via push" : "Enable notifications for events via push",
+ "Example content" : "Example content",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content.",
"There was an error updating your attendance status." : "There was an error updating your attendance status.",
"Please contact the organizer directly." : "Please contact the organiser directly.",
"Are you accepting the invitation?" : "Are you accepting the invitation?",
diff --git a/apps/dav/l10n/en_GB.json b/apps/dav/l10n/en_GB.json
index 10e37cc1bf9..0fbdf464438 100644
--- a/apps/dav/l10n/en_GB.json
+++ b/apps/dav/l10n/en_GB.json
@@ -299,6 +299,14 @@
"Reset to default" : "Reset to default",
"Import contacts" : "Import contacts",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?",
+ "Failed to save example event creation setting" : "Failed to save example event creation setting",
+ "Failed to upload the example event" : "Failed to upload the example event",
+ "Custom example event was saved successfully" : "Custom example event was saved successfully",
+ "Failed to delete the custom example event" : "Failed to delete the custom example event",
+ "Custom example event was deleted successfully" : "Custom example event was deleted successfully",
+ "Import calendar event" : "Import calendar event",
+ "Uploading a new event will overwrite the existing one." : "Uploading a new event will overwrite the existing one.",
+ "Upload event" : "Upload event",
"Availability" : "Availability",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "If you configure your working hours, other people will see when you are out of office when they book a meeting.",
"Absence" : "Absence",
@@ -315,6 +323,8 @@
"Send reminder notifications to calendar sharees as well" : "Send reminder notifications to calendar sharees as well",
"Reminders are always sent to organizers and attendees." : "Reminders are always sent to organisers and attendees.",
"Enable notifications for events via push" : "Enable notifications for events via push",
+ "Example content" : "Example content",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content.",
"There was an error updating your attendance status." : "There was an error updating your attendance status.",
"Please contact the organizer directly." : "Please contact the organiser directly.",
"Are you accepting the invitation?" : "Are you accepting the invitation?",
diff --git a/apps/dav/l10n/fr.js b/apps/dav/l10n/fr.js
index 94949657119..667666b94dc 100644
--- a/apps/dav/l10n/fr.js
+++ b/apps/dav/l10n/fr.js
@@ -81,6 +81,11 @@ OC.L10N.register(
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Dans un an toute la journée du %1$s","Dans %n années toute la journée du %1$s","Dans %n années toute la journée du %1$s"],
"In the past on %1$s between %2$s - %3$s" : "Dans le passé le %1$s entre %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Dans une minute le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s"],
+ "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Dans une heure le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s"],
+ "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Demain le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s"],
+ "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["La semaine prochaine le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s"],
+ "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Dans un mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s"],
+ "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["L'an prochain le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s"],
"Could not generate when statement" : "Impossible de déterminer quand",
"Every Day for the entire day" : "Chaque jour pour toute la journée",
"Every Day for the entire day until %1$s" : "Chaque jour pour toute la journée jusqu'au %1$s",
@@ -117,6 +122,27 @@ OC.L10N.register(
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Tous les %1$d ans en %2$s le %3$s entre %4$s - %5$s jusqu'au %6$s",
"On specific dates for the entire day until %1$s" : "À une date spécifique pour la journée entière jusqu'au %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "À des dates spécifiques entre %1$s et %2$s jusqu'au %3$s",
+ "In the past on %1$s" : "Dans le passé sur %1$s",
+ "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Dans une minute sur %1$s","Dans %n minutes sur %1$s","Dans %n minutes sur %1$s"],
+ "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Dans une heure sur %1$s","Dans %n heures sur %1$s","Dans %n sur %1$s"],
+ "_In a day on %1$s_::_In %n days on %1$s_" : ["Demain le %1$s","Dans %n jours le %1$s","Dans %n jours le %1$s"],
+ "_In a week on %1$s_::_In %n weeks on %1$s_" : ["La semaine prochaine le %1$s","Dans %n semaines le %1$s","Dans %n semaines le %1$s"],
+ "_In a month on %1$s_::_In %n months on %1$s_" : ["Le mois prochain le %1$s","Dans %n mois le %1$s","Dans %n mois le %1$s"],
+ "_In a year on %1$s_::_In %n years on %1$s_" : ["L'an prochain le %1$s","Dans %n ans le %1$s","Dans %n ans le %1$s"],
+ "In the past on %1$s then on %2$s" : "Dans le passé le %1$s puis le %2$s",
+ "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Dans une minute le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s"],
+ "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Dans une heure le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s"],
+ "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Demain le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s"],
+ "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["La semaine prochaine le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s"],
+ "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Le mois prochain le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s"],
+ "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["L'an prochain le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s"],
+ "In the past on %1$s then on %2$s and %3$s" : "Dans le passé le %1$s puis le %2$s et %3$s",
+ "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Dans une minute le %1$s puis le %2$s et %3$s","Dans %n minutes le %1$s puis le %2$s et %3$s","Dans %n minutes le %1$s puis le %2$s et %3$s"],
+ "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Dans une heure le %1$s puis le %2$s et %3$s","Dans %n heures le %1$s puis le %2$s et %3$s","Dans %n heures le %1$s puis le %2$s et %3$s"],
+ "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Demain le %1$s puis le %2$s et %3$s","Dans %n jours le %1$s puis le %2$s et %3$s","Dans %n jours le %1$s puis le %2$s et %3$s"],
+ "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["La semaine prochaine le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s"],
+ "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dans un mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s"],
+ "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dans un an sur %1$spuis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s"],
"Could not generate next recurrence statement" : "Impossible de déterminer la prochaine récurrence",
"Cancelled: %1$s" : "Annulé : %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" a été annulé(e)",
@@ -275,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "Restaurer les valeurs par défaut",
"Import contacts" : "Importer des contacts",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importer un nouveau fichier .vcf supprimera le contact par défaut existant et le remplacera. Voulez-vous continuer ?",
+ "Failed to save example event creation setting" : "Échec de la sauvegarde du paramètre de l'exemple de création d'événement",
+ "Failed to upload the example event" : "Échec du téléversement de l'exemple d'événement",
+ "Custom example event was saved successfully" : "L'exemple d'événement personnalisé a bien été enregistré",
+ "Failed to delete the custom example event" : "Échec de la suppression de l'exemple d'événement personnalisé ",
+ "Custom example event was deleted successfully" : "L'exemple de contenu personnalisé a bien été supprimé",
+ "Import calendar event" : "Importer l'événement du calendrier",
+ "Uploading a new event will overwrite the existing one." : "Charger un nouvel événement qui va remplacer l'actuel.",
+ "Upload event" : "Téléverser un événement",
"Availability" : "Disponibilités",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si vous configurez vos heures de travail, les autres personnes verront si vous êtes disponible quand ils planifient une réunion.",
"Absence" : "Absence",
@@ -291,6 +325,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Envoyez également des notifications de rappel aux personnes partageant le calendrier",
"Reminders are always sent to organizers and attendees." : "Des rappels sont toujours envoyés aux organisateurs et aux participants.",
"Enable notifications for events via push" : "Activer les notifications push pour les évènements",
+ "Example content" : "Exemple de contenu",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Les exemples de contenu servent à présenter les fonctionnalités de Nextcloud. Le contenu par défaut est fourni avec Nextcloud et peut être remplacé par du contenu personnalisé.",
"There was an error updating your attendance status." : "Une erreur s'est produite lors de la mise à jour de votre statut de présence.",
"Please contact the organizer directly." : "Merci de contacter l'organisateur directement.",
"Are you accepting the invitation?" : "Acceptez-vous l'invitation ?",
diff --git a/apps/dav/l10n/fr.json b/apps/dav/l10n/fr.json
index f64d65ed786..b9a5a65e888 100644
--- a/apps/dav/l10n/fr.json
+++ b/apps/dav/l10n/fr.json
@@ -79,6 +79,11 @@
"_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Dans un an toute la journée du %1$s","Dans %n années toute la journée du %1$s","Dans %n années toute la journée du %1$s"],
"In the past on %1$s between %2$s - %3$s" : "Dans le passé le %1$s entre %2$s - %3$s",
"_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Dans une minute le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s","Dans %n minutes le %1$s entre %2$s - %3$s"],
+ "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Dans une heure le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s","Dans %n heures le %1$s entre %2$s et %3$s"],
+ "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Demain le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s","Dans %n jours le %1$s entre %2$s et %3$s"],
+ "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["La semaine prochaine le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s","Dans %n semaines le %1$s entre %2$s et %3$s"],
+ "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Dans un mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s","Dans %n mois le %1$s entre %2$s et %3$s"],
+ "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["L'an prochain le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s","Dans %n ans le %1$s entre %2$s et %3$s"],
"Could not generate when statement" : "Impossible de déterminer quand",
"Every Day for the entire day" : "Chaque jour pour toute la journée",
"Every Day for the entire day until %1$s" : "Chaque jour pour toute la journée jusqu'au %1$s",
@@ -115,6 +120,27 @@
"Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Tous les %1$d ans en %2$s le %3$s entre %4$s - %5$s jusqu'au %6$s",
"On specific dates for the entire day until %1$s" : "À une date spécifique pour la journée entière jusqu'au %1$s",
"On specific dates between %1$s - %2$s until %3$s" : "À des dates spécifiques entre %1$s et %2$s jusqu'au %3$s",
+ "In the past on %1$s" : "Dans le passé sur %1$s",
+ "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Dans une minute sur %1$s","Dans %n minutes sur %1$s","Dans %n minutes sur %1$s"],
+ "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Dans une heure sur %1$s","Dans %n heures sur %1$s","Dans %n sur %1$s"],
+ "_In a day on %1$s_::_In %n days on %1$s_" : ["Demain le %1$s","Dans %n jours le %1$s","Dans %n jours le %1$s"],
+ "_In a week on %1$s_::_In %n weeks on %1$s_" : ["La semaine prochaine le %1$s","Dans %n semaines le %1$s","Dans %n semaines le %1$s"],
+ "_In a month on %1$s_::_In %n months on %1$s_" : ["Le mois prochain le %1$s","Dans %n mois le %1$s","Dans %n mois le %1$s"],
+ "_In a year on %1$s_::_In %n years on %1$s_" : ["L'an prochain le %1$s","Dans %n ans le %1$s","Dans %n ans le %1$s"],
+ "In the past on %1$s then on %2$s" : "Dans le passé le %1$s puis le %2$s",
+ "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Dans une minute le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s","Dans %n minutes le %1$s puis le %2$s"],
+ "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Dans une heure le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s","Dans %n heures le %1$s puis le %2$s"],
+ "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Demain le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s","Dans %n jours le %1$s puis le %2$s"],
+ "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["La semaine prochaine le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s","Dans %n semaines le %1$s puis le %2$s"],
+ "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Le mois prochain le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s","Dans %n mois le %1$s puis le %2$s"],
+ "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["L'an prochain le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s","Dans %n ans le %1$s puis le %2$s"],
+ "In the past on %1$s then on %2$s and %3$s" : "Dans le passé le %1$s puis le %2$s et %3$s",
+ "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Dans une minute le %1$s puis le %2$s et %3$s","Dans %n minutes le %1$s puis le %2$s et %3$s","Dans %n minutes le %1$s puis le %2$s et %3$s"],
+ "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Dans une heure le %1$s puis le %2$s et %3$s","Dans %n heures le %1$s puis le %2$s et %3$s","Dans %n heures le %1$s puis le %2$s et %3$s"],
+ "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Demain le %1$s puis le %2$s et %3$s","Dans %n jours le %1$s puis le %2$s et %3$s","Dans %n jours le %1$s puis le %2$s et %3$s"],
+ "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["La semaine prochaine le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s","Dans %n semaines le %1$s puis le %2$s et %3$s"],
+ "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Dans un mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s","Dans %n mois le %1$s puis le %2$s et %3$s"],
+ "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Dans un an sur %1$spuis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s","Dans %n années sur %1$s puis sur %2$s et %3$s"],
"Could not generate next recurrence statement" : "Impossible de déterminer la prochaine récurrence",
"Cancelled: %1$s" : "Annulé : %1$s",
"\"%1$s\" has been canceled" : "\"%1$s\" a été annulé(e)",
@@ -273,6 +299,14 @@
"Reset to default" : "Restaurer les valeurs par défaut",
"Import contacts" : "Importer des contacts",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importer un nouveau fichier .vcf supprimera le contact par défaut existant et le remplacera. Voulez-vous continuer ?",
+ "Failed to save example event creation setting" : "Échec de la sauvegarde du paramètre de l'exemple de création d'événement",
+ "Failed to upload the example event" : "Échec du téléversement de l'exemple d'événement",
+ "Custom example event was saved successfully" : "L'exemple d'événement personnalisé a bien été enregistré",
+ "Failed to delete the custom example event" : "Échec de la suppression de l'exemple d'événement personnalisé ",
+ "Custom example event was deleted successfully" : "L'exemple de contenu personnalisé a bien été supprimé",
+ "Import calendar event" : "Importer l'événement du calendrier",
+ "Uploading a new event will overwrite the existing one." : "Charger un nouvel événement qui va remplacer l'actuel.",
+ "Upload event" : "Téléverser un événement",
"Availability" : "Disponibilités",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Si vous configurez vos heures de travail, les autres personnes verront si vous êtes disponible quand ils planifient une réunion.",
"Absence" : "Absence",
@@ -289,6 +323,8 @@
"Send reminder notifications to calendar sharees as well" : "Envoyez également des notifications de rappel aux personnes partageant le calendrier",
"Reminders are always sent to organizers and attendees." : "Des rappels sont toujours envoyés aux organisateurs et aux participants.",
"Enable notifications for events via push" : "Activer les notifications push pour les évènements",
+ "Example content" : "Exemple de contenu",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Les exemples de contenu servent à présenter les fonctionnalités de Nextcloud. Le contenu par défaut est fourni avec Nextcloud et peut être remplacé par du contenu personnalisé.",
"There was an error updating your attendance status." : "Une erreur s'est produite lors de la mise à jour de votre statut de présence.",
"Please contact the organizer directly." : "Merci de contacter l'organisateur directement.",
"Are you accepting the invitation?" : "Acceptez-vous l'invitation ?",
diff --git a/apps/dav/l10n/ga.js b/apps/dav/l10n/ga.js
index f32f66ac342..fe197df1bd8 100644
--- a/apps/dav/l10n/ga.js
+++ b/apps/dav/l10n/ga.js
@@ -301,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "Athshocraigh go réamhshocrú",
"Import contacts" : "Teagmhálaithe a allmhairiú",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Má dhéantar comhad .vcf nua a iompórtáil, scriosfar an teagmhálaí réamhshocraithe atá ann cheana féin agus cuirfear an ceann nua ina ionad. Ar mhaith leat leanúint ar aghaidh?",
+ "Failed to save example event creation setting" : "Theip ar shocrú cruthaithe imeachta samplach a shábháil",
+ "Failed to upload the example event" : "Theip ar an imeacht samplach a uaslódáil",
+ "Custom example event was saved successfully" : "Sábháladh imeacht samplach saincheaptha go rathúil",
+ "Failed to delete the custom example event" : "Theip ar an imeacht samplach saincheaptha a scriosadh",
+ "Custom example event was deleted successfully" : "Scriosadh imeacht samplach saincheaptha go rathúil",
+ "Import calendar event" : "Imeacht féilire a allmhairiú",
+ "Uploading a new event will overwrite the existing one." : "Scríobhfar an ceann atá ann cheana má uaslódálann tú imeacht nua.",
+ "Upload event" : "Uaslódáil imeacht",
"Availability" : "Infhaighteacht",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Má dhéanann tú do chuid uaireanta oibre a chumrú, feicfidh daoine eile nuair a bhíonn tú as oifig nuair a chuireann siad cruinniú in áirithe.",
"Absence" : "Neamhláithreacht",
@@ -317,6 +325,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Seol fógraí meabhrúcháin chuig scaireanna féilire freisin",
"Reminders are always sent to organizers and attendees." : "Seoltar meabhrúcháin chuig na heagraithe agus an lucht freastail i gcónaí.",
"Enable notifications for events via push" : "Cumasaigh fógraí le haghaidh imeachtaí trí bhrú",
+ "Example content" : "Ábhar samplach",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Feidhmíonn ábhar samplach chun gnéithe Nextcloud a thaispeáint. Seoltar ábhar réamhshocraithe le Nextcloud, agus is féidir ábhar saincheaptha a chur ina áit.",
"There was an error updating your attendance status." : "Tharla earráid agus do stádas freastail á nuashonrú.",
"Please contact the organizer directly." : "Téigh i dteagmháil leis an eagraí go díreach le do thoil.",
"Are you accepting the invitation?" : "An bhfuil tú ag glacadh leis an gcuireadh?",
diff --git a/apps/dav/l10n/ga.json b/apps/dav/l10n/ga.json
index 29e76c0052f..cde6b45cf5f 100644
--- a/apps/dav/l10n/ga.json
+++ b/apps/dav/l10n/ga.json
@@ -299,6 +299,14 @@
"Reset to default" : "Athshocraigh go réamhshocrú",
"Import contacts" : "Teagmhálaithe a allmhairiú",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Má dhéantar comhad .vcf nua a iompórtáil, scriosfar an teagmhálaí réamhshocraithe atá ann cheana féin agus cuirfear an ceann nua ina ionad. Ar mhaith leat leanúint ar aghaidh?",
+ "Failed to save example event creation setting" : "Theip ar shocrú cruthaithe imeachta samplach a shábháil",
+ "Failed to upload the example event" : "Theip ar an imeacht samplach a uaslódáil",
+ "Custom example event was saved successfully" : "Sábháladh imeacht samplach saincheaptha go rathúil",
+ "Failed to delete the custom example event" : "Theip ar an imeacht samplach saincheaptha a scriosadh",
+ "Custom example event was deleted successfully" : "Scriosadh imeacht samplach saincheaptha go rathúil",
+ "Import calendar event" : "Imeacht féilire a allmhairiú",
+ "Uploading a new event will overwrite the existing one." : "Scríobhfar an ceann atá ann cheana má uaslódálann tú imeacht nua.",
+ "Upload event" : "Uaslódáil imeacht",
"Availability" : "Infhaighteacht",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Má dhéanann tú do chuid uaireanta oibre a chumrú, feicfidh daoine eile nuair a bhíonn tú as oifig nuair a chuireann siad cruinniú in áirithe.",
"Absence" : "Neamhláithreacht",
@@ -315,6 +323,8 @@
"Send reminder notifications to calendar sharees as well" : "Seol fógraí meabhrúcháin chuig scaireanna féilire freisin",
"Reminders are always sent to organizers and attendees." : "Seoltar meabhrúcháin chuig na heagraithe agus an lucht freastail i gcónaí.",
"Enable notifications for events via push" : "Cumasaigh fógraí le haghaidh imeachtaí trí bhrú",
+ "Example content" : "Ábhar samplach",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Feidhmíonn ábhar samplach chun gnéithe Nextcloud a thaispeáint. Seoltar ábhar réamhshocraithe le Nextcloud, agus is féidir ábhar saincheaptha a chur ina áit.",
"There was an error updating your attendance status." : "Tharla earráid agus do stádas freastail á nuashonrú.",
"Please contact the organizer directly." : "Téigh i dteagmháil leis an eagraí go díreach le do thoil.",
"Are you accepting the invitation?" : "An bhfuil tú ag glacadh leis an gcuireadh?",
diff --git a/apps/dav/l10n/pl.js b/apps/dav/l10n/pl.js
index 48b5b484903..01688c638bd 100644
--- a/apps/dav/l10n/pl.js
+++ b/apps/dav/l10n/pl.js
@@ -178,6 +178,9 @@ OC.L10N.register(
"Completed on %s" : "Ukończono %s",
"Due on %s by %s" : "Na dzień %s w %s",
"Due on %s" : "Na dzień %s",
+ "System Address Book" : "Systemowa książka adresowa",
+ "The system address book contains contact information for all users in your instance." : "Systemowa książka adresowa zawiera informacje kontaktowe wszystkich użytkowników w Twojej instancji",
+ "Enable System Address Book" : "Włącz systemową książkę adresową",
"DAV system address book" : "Książka adresowa systemu DAV",
"No outstanding DAV system address book sync." : "Brak zaległej synchronizacji książki adresowej systemu DAV.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Synchronizacja książki adresowej systemu DAV nie została jeszcze uruchomiona, ponieważ Twoja instancja ma ponad 1000 użytkowników lub wystąpił błąd. Uruchom go ręcznie, wywołując \"occ dav:sync-system-addressbook\".",
@@ -218,7 +221,22 @@ OC.L10N.register(
"Cancel" : "Anuluj",
"Import" : "Importuj",
"Error while saving settings" : "Błąd podczas zapisywania ustawień",
+ "Contact reset successfully" : "Kontakt został pomyślnie zresetowany",
+ "Error while resetting contact" : "Błąd podczas resetowania kontaktu",
+ "Contact imported successfully" : "Kontakt został pomyślnie zaimportowany",
+ "Error while importing contact" : "Błąd podczas importowania kontaktu",
+ "Import contact" : "Importuj kontakt",
"Reset to default" : "Przywróć domyślne",
+ "Import contacts" : "Importuj kontakty",
+ "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importowanie nowego pliku .vcf usunie domyślny kontakt i zastąpi go nowym. Czy chcesz kontynuować?",
+ "Failed to save example event creation setting" : "Nie udało się zapisać ustawień tworzenia przykładowego wydarzenia",
+ "Failed to upload the example event" : "Nie udało się przesłać przykładowego wydarzenia",
+ "Custom example event was saved successfully" : "Niestandardowe przykładowe wydarzenie zostało pomyślnie zapisane",
+ "Failed to delete the custom example event" : "Nie udało się usunąć niestandardowego przykładowego wydarzenia",
+ "Custom example event was deleted successfully" : "Niestandardowe przykładowe wydarzenie zostało pomyślnie usunięte",
+ "Import calendar event" : "Importuj wydarzenie z kalendarza",
+ "Uploading a new event will overwrite the existing one." : "Przesłanie nowego wydarzenia zastąpi istniejące",
+ "Upload event" : "Prześlij wydarzenie",
"Availability" : "Dostępność",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jeśli skonfigurujesz godziny pracy, inne osoby będą widzieć, kiedy jesteś poza biurem, rezerwując spotkanie.",
"Absence" : "Nieobecność",
@@ -235,6 +253,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Wysyłaj przypomnienia również do udostępnionych kalendarzy",
"Reminders are always sent to organizers and attendees." : "Przypomnienia są zawsze wysyłane do organizatorów i uczestników.",
"Enable notifications for events via push" : "Włącz powiadomienia o zdarzeniach poprzez Push",
+ "Example content" : "Przykładowa zawartość",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Przykładowa zawartość służy do prezentacji funkcji Nextcloud. Domyślna zawartość jest dostarczana z Nextcloud i może zostać zastąpiona zawartością niestandardową",
"There was an error updating your attendance status." : "Wystąpił błąd zmiany stanu uczestnictwa",
"Please contact the organizer directly." : "Skontaktuj się bezpośrednio z orgnizatorem.",
"Are you accepting the invitation?" : "Czy akceptujesz zaproszenie?",
diff --git a/apps/dav/l10n/pl.json b/apps/dav/l10n/pl.json
index 0404cf1538c..448986178a8 100644
--- a/apps/dav/l10n/pl.json
+++ b/apps/dav/l10n/pl.json
@@ -176,6 +176,9 @@
"Completed on %s" : "Ukończono %s",
"Due on %s by %s" : "Na dzień %s w %s",
"Due on %s" : "Na dzień %s",
+ "System Address Book" : "Systemowa książka adresowa",
+ "The system address book contains contact information for all users in your instance." : "Systemowa książka adresowa zawiera informacje kontaktowe wszystkich użytkowników w Twojej instancji",
+ "Enable System Address Book" : "Włącz systemową książkę adresową",
"DAV system address book" : "Książka adresowa systemu DAV",
"No outstanding DAV system address book sync." : "Brak zaległej synchronizacji książki adresowej systemu DAV.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Synchronizacja książki adresowej systemu DAV nie została jeszcze uruchomiona, ponieważ Twoja instancja ma ponad 1000 użytkowników lub wystąpił błąd. Uruchom go ręcznie, wywołując \"occ dav:sync-system-addressbook\".",
@@ -216,7 +219,22 @@
"Cancel" : "Anuluj",
"Import" : "Importuj",
"Error while saving settings" : "Błąd podczas zapisywania ustawień",
+ "Contact reset successfully" : "Kontakt został pomyślnie zresetowany",
+ "Error while resetting contact" : "Błąd podczas resetowania kontaktu",
+ "Contact imported successfully" : "Kontakt został pomyślnie zaimportowany",
+ "Error while importing contact" : "Błąd podczas importowania kontaktu",
+ "Import contact" : "Importuj kontakt",
"Reset to default" : "Przywróć domyślne",
+ "Import contacts" : "Importuj kontakty",
+ "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Importowanie nowego pliku .vcf usunie domyślny kontakt i zastąpi go nowym. Czy chcesz kontynuować?",
+ "Failed to save example event creation setting" : "Nie udało się zapisać ustawień tworzenia przykładowego wydarzenia",
+ "Failed to upload the example event" : "Nie udało się przesłać przykładowego wydarzenia",
+ "Custom example event was saved successfully" : "Niestandardowe przykładowe wydarzenie zostało pomyślnie zapisane",
+ "Failed to delete the custom example event" : "Nie udało się usunąć niestandardowego przykładowego wydarzenia",
+ "Custom example event was deleted successfully" : "Niestandardowe przykładowe wydarzenie zostało pomyślnie usunięte",
+ "Import calendar event" : "Importuj wydarzenie z kalendarza",
+ "Uploading a new event will overwrite the existing one." : "Przesłanie nowego wydarzenia zastąpi istniejące",
+ "Upload event" : "Prześlij wydarzenie",
"Availability" : "Dostępność",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Jeśli skonfigurujesz godziny pracy, inne osoby będą widzieć, kiedy jesteś poza biurem, rezerwując spotkanie.",
"Absence" : "Nieobecność",
@@ -233,6 +251,8 @@
"Send reminder notifications to calendar sharees as well" : "Wysyłaj przypomnienia również do udostępnionych kalendarzy",
"Reminders are always sent to organizers and attendees." : "Przypomnienia są zawsze wysyłane do organizatorów i uczestników.",
"Enable notifications for events via push" : "Włącz powiadomienia o zdarzeniach poprzez Push",
+ "Example content" : "Przykładowa zawartość",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Przykładowa zawartość służy do prezentacji funkcji Nextcloud. Domyślna zawartość jest dostarczana z Nextcloud i może zostać zastąpiona zawartością niestandardową",
"There was an error updating your attendance status." : "Wystąpił błąd zmiany stanu uczestnictwa",
"Please contact the organizer directly." : "Skontaktuj się bezpośrednio z orgnizatorem.",
"Are you accepting the invitation?" : "Czy akceptujesz zaproszenie?",
diff --git a/apps/dav/l10n/ru.js b/apps/dav/l10n/ru.js
index e09f09bc4c1..e170bb36582 100644
--- a/apps/dav/l10n/ru.js
+++ b/apps/dav/l10n/ru.js
@@ -72,7 +72,77 @@ OC.L10N.register(
"Description: %s" : "Описание: %s",
"Where: %s" : "Где: %s",
"%1$s via %2$s" : "%1$s через %2$s",
+ "In the past on %1$s for the entire day" : "В прошлом, %1$s, в течение всего дня",
+ "_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Через минуту, %1$s, в течение всего дня","Через %n минуты, %1$s, в течение всего дня","Через %n минут, %1$s, в течение всего дня","Через %n минут, %1$s, в течение всего дня"],
+ "_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Через час, %1$s, в течение всего дня","Через %n часа, %1$s, в течение всего дня","Через %n часов, %1$s, в течение всего дня","Через %n часов, %1$s, в течение всего дня"],
+ "_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Через день, %1$s, в течение всего дня","Через %n дня, %1$s, в течение всего дня","Через %n дней,%1$s, в течение всего дня","Через %n дней, %1$s, в течение всего дня"],
+ "_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Через неделю, %1$s, в течение всего дня","Через %n недели, %1$s, в течение всего дня","Через %n недель, %1$s, в течение всего дня","Через %n недель, %1$s, в течение всего дня"],
+ "_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Через месяц, %1$s, в течение всего дня","Через %n месяца, %1$s, в течение всего дня","Через %n месяцев, %1$s, в течение всего дня","Через %n месяцев, %1$s, в течение всего дня"],
+ "_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Через год, %1$s, в течение всего дня","Через %n года, %1$s, в течение всего дня","Через %n лет, %1$s, в течение всего дня","Через %n лет, %1$s, в течение всего дня"],
+ "In the past on %1$s between %2$s - %3$s" : "В прошлом, %1$s, с %2$s до %3$s",
+ "_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Через минуту, %1$s, с %2$s до %3$s","Через %n минуты, %1$s, с %2$s до %3$s","Через %n минут, %1$s, с %2$s до %3$s","Через %n минут, %1$s, с %2$s до %3$s"],
+ "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Через час, %1$s, с %2$s до %3$s","Через %n часа, %1$s, с %2$s до %3$s","Через %n часов, %1$s, с %2$s до %3$s","Через %n часов, %1$s, с %2$s до %3$s"],
+ "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Через день, %1$s, с %2$s до %3$s","Через %n дня %1$s, с %2$s до %3$s","Через %n дней, %1$s, с %2$s до %3$s","Через %n дней, %1$s, с %2$s до %3$s"],
+ "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Через неделю, %1$s, с %2$s до %3$s","Через %n недели, %1$s, с %2$s до %3$s","Через %n недель, %1$s, с %2$s до %3$s","Через %n недель, %1$s, с %2$s до %3$s"],
+ "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Через месяц, %1$s, с %2$s до %3$s","Через %n месяца, %1$s, с %2$s до %3$s","Через %n месяцев, %1$s, с %2$s до %3$s","Через %n месяцев, %1$s, с %2$s до %3$s"],
+ "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Через год, %1$s, с %2$s до %3$s","Через %n года, %1$s, с %2$s до %3$s","Через %n лет, %1$s, с %2$s до %3$s","Через %n лет, %1$s, с %2$s до %3$s"],
+ "Could not generate when statement" : "Не удалось сгенерировать выражение времени",
"Every Day for the entire day" : "Каждый день в течение всего дня",
+ "Every Day for the entire day until %1$s" : "Каждый день весь день до %1$s",
+ "Every Day between %1$s - %2$s" : "Каждый день с %1$s по %2$s",
+ "Every Day between %1$s - %2$s until %3$s" : "Каждый день с %1$s до %2$s до %3$s",
+ "Every %1$d Days for the entire day" : "Каждые %1$d дней в течение всего дня",
+ "Every %1$d Days for the entire day until %2$s" : "Каждые %1$d дней в течение всего дня до %2$s",
+ "Every %1$d Days between %2$s - %3$s" : "Каждые %1$d дней с %2$s до %3$s",
+ "Every %1$d Days between %2$s - %3$s until %4$s" : "Каждые %1$d дней с %2$s до %3$s до %4$s",
+ "Could not generate event recurrence statement" : "Не удалось сгенерировать правило повторения события",
+ "Every Week on %1$s for the entire day" : "Каждую неделю в %1$s в течение всего дня",
+ "Every Week on %1$s for the entire day until %2$s" : "Каждую неделю по %1$s в течение всего дня до %2$s",
+ "Every Week on %1$s between %2$s - %3$s" : "Каждую неделю в %1$s с %2$s до %3$s",
+ "Every Week on %1$s between %2$s - %3$s until %4$s" : "Каждую неделю по %1$s с %2$s до %3$s до %4$s",
+ "Every %1$d Weeks on %2$s for the entire day" : "Каждые %1$d недель по %2$s в течение всего дня",
+ "Every %1$d Weeks on %2$s for the entire day until %3$s" : "Каждые %1$d недель по %2$s в течение всего дня до %3$s",
+ "Every %1$d Weeks on %2$s between %3$s - %4$s" : "Каждые %1$d недель по %2$s с %3$s до %4$s",
+ "Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Каждые %1$d недель по %2$s с %3$s до %4$s до %5$s",
+ "Every Month on the %1$s for the entire day" : "Каждый месяц %1$s в течение всего дня",
+ "Every Month on the %1$s for the entire day until %2$s" : "Каждый месяц %1$s в течение всего дня до %2$s",
+ "Every Month on the %1$s between %2$s - %3$s" : "Каждый месяц %1$s с %2$s до %3$s",
+ "Every Month on the %1$s between %2$s - %3$s until %4$s" : "Каждый месяц %1$s с %2$s до %3$s до %4$s",
+ "Every %1$d Months on the %2$s for the entire day" : "Каждые %1$d месяцев %2$s в течение всего дня",
+ "Every %1$d Months on the %2$s for the entire day until %3$s" : "Каждые %1$d месяцев %2$s в течение всего дня до %3$s",
+ "Every %1$d Months on the %2$s between %3$s - %4$s" : "Каждые %1$d месяцев %2$s с %3$s до %4$s",
+ "Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Каждые %1$d месяцев %2$s с %3$s до %4$s до %5$s",
+ "Every Year in %1$s on the %2$s for the entire day" : "Каждый год в %1$s %2$s в течение всего дня",
+ "Every Year in %1$s on the %2$s for the entire day until %3$s" : "Каждый год в %1$s %2$s в течение всего дня до %3$s",
+ "Every Year in %1$s on the %2$s between %3$s - %4$s" : "Каждый год в %1$s %2$s с %3$s до %4$s",
+ "Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Каждый год в %1$s %2$s с %3$s до %4$s до %5$s",
+ "Every %1$d Years in %2$s on the %3$s for the entire day" : "Каждые %1$d лет в %2$s %3$s в течение всего дня",
+ "Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Каждые %1$d лет в %2$s %3$s в течение всего дня до %4$s",
+ "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Каждые %1$d лет в %2$s %3$s с %4$s до %5$s",
+ "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Каждые %1$d лет в %2$s %3$s с %4$s до %5$s до %6$s",
+ "On specific dates for the entire day until %1$s" : "В определённые даты, весь день до %1$s",
+ "On specific dates between %1$s - %2$s until %3$s" : "В определённые даты с %1$s по %2$s до %3$s",
+ "In the past on %1$s" : "В прошлом, %1$s",
+ "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Через минуту, %1$s","Через %n минуты, %1$s","Через %n минут, %1$s","Через %n минут, %1$s"],
+ "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Через час, %1$s","Через %n часа, %1$s","Через %n часов, %1$s","Через %n часов, %1$s"],
+ "_In a day on %1$s_::_In %n days on %1$s_" : ["Через день, %1$s","Через %n дня, %1$s","Через %n дней, %1$s","Через %n дней, %1$s"],
+ "_In a week on %1$s_::_In %n weeks on %1$s_" : ["Через неделю, %1$s","Через %n недели,%1$s","Через %n недель, %1$s","Через %n недель, %1$s"],
+ "_In a month on %1$s_::_In %n months on %1$s_" : ["Через месяц, %1$s","Через %n месяца, %1$s","Через %n месяцев, %1$s","Через %n месяцев, %1$s"],
+ "_In a year on %1$s_::_In %n years on %1$s_" : ["Через год, %1$s","Через %n года, %1$s","Через %n лет, %1$s","Через %n лет, %1$s"],
+ "In the past on %1$s then on %2$s" : "В прошлом, %1$s, затем %2$s",
+ "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Через минуту, %1$s, затем %2$s","Через %n минуты, %1$s, затем %2$s","Через %n минут, %1$s, затем %2$s","Через %n минут, %1$s, затем %2$s"],
+ "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Через час, %1$s, затем %2$s","Через %n часа, %1$s, затем %2$s","Через %n часов, %1$s, затем %2$s","Через %n часов, %1$s, затем %2$s"],
+ "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Через день, %1$s, затем %2$s","Через %n дня, %1$s, затем %2$s","Через %n дней, %1$s, затем %2$s","Через %n дней, %1$s, затем %2$s"],
+ "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["Через неделю, %1$s, затем %2$s","Через %n недели, %1$s, затем %2$s","Через %n недель, %1$s, затем %2$s","Через %n недель, %1$s, затем %2$s"],
+ "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Через месяц, %1$s, затем %2$s","Через %n месяца, %1$s, затем %2$s","Через %n месяцев, %1$s, затем %2$s","Через %n месяцев, %1$s, затем %2$s"],
+ "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["Через год, %1$s, затем %2$s","Через %n года, %1$s, затем %2$s","Через %n лет, %1$s, затем %2$s","Через %n лет, %1$s, затем %2$s"],
+ "In the past on %1$s then on %2$s and %3$s" : "В прошлом, %1$s, затем %2$s и %3$s",
+ "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Через минуту, %1$s, затем %2$s и %3$s","Через %n минуты, %1$s, затем %2$s и %3$s","Через %n минут, %1$s, затем %2$s и %3$s","Через %n минут, %1$s, затем %2$s и %3$s"],
+ "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Через час, %1$s, затем %2$s и %3$s","Через %n часа, %1$s, затем %2$s и %3$s","Через %n часов, %1$s, затем %2$s и %3$s","Через %n часов, %1$s, затем %2$s и %3$s"],
+ "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Через день, %1$s, затем %2$s и %3$s","Через %n дня, %1$s, затем %2$s и %3$s","Через %n дней, %1$s, затем %2$s и %3$s","Через %n дней, %1$s, затем %2$s и %3$s"],
+ "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Через неделю, %1$s, затем %2$s и %3$s","Через %n недели, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s"],
+ "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Через месяц, %1$s, затем %2$s и %3$s","Через %n месяца, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s"],
+ "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Через год, %1$s, затем %2$s и %3$s","Через %n года, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s"],
"Could not generate next recurrence statement" : "Не удалось сгенерировать следующий оператор повторения",
"Cancelled: %1$s" : "Событие отменено: %1$s",
"\"%1$s\" has been canceled" : "Событие «%1$s» отменено",
@@ -119,10 +189,12 @@ OC.L10N.register(
"Second" : "Второй",
"Third" : "Третий",
"Fourth" : "Четвертый",
+ "Fifth" : "Пятый",
"Last" : "Последний",
"Second Last" : "Предпоследний",
- "Third Last" : "Третий по счету",
- "Fourth Last" : "Четвертый по счету",
+ "Third Last" : "Третий с конца",
+ "Fourth Last" : "Четвёртый с конца",
+ "Fifth Last" : "Пятый с конца",
"Contacts" : "Контакты",
"{actor} created address book {addressbook}" : "{actor} создал(а) адресную книгу «{addressbook}»",
"You created address book {addressbook}" : "Вы создали адресную книгу «{addressbook}»",
@@ -178,6 +250,9 @@ OC.L10N.register(
"Completed on %s" : "Завершено %s",
"Due on %s by %s" : "До %s %s",
"Due on %s" : "До %s",
+ "System Address Book" : "Системная адресная книга",
+ "The system address book contains contact information for all users in your instance." : "Системная адресная книга содержит контактную информацию всех пользователей в вашем инстансе.",
+ "Enable System Address Book" : "Включить системную адресную книгу",
"DAV system address book" : "Системная адресная книга DAV",
"No outstanding DAV system address book sync." : "Синхронизация системной адресной книги DAV выполнена.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Синхронизация системной адресной книги DAV ещё не запущена, поскольку в этом экземпляре более 1000 пользователей или произошла ошибка. Перезапустите синхронизацию вручную используя команду «occ dav:sync-system-addressbook».",
@@ -218,7 +293,22 @@ OC.L10N.register(
"Cancel" : "Отмена",
"Import" : "Импортировать",
"Error while saving settings" : "Ошибка при сохранении параметров",
+ "Contact reset successfully" : "Контакт успешно сброшен",
+ "Error while resetting contact" : "Ошибка при сбросе контакта",
+ "Contact imported successfully" : " Контакт успешно импортирован",
+ "Error while importing contact" : " Ошибка при импорте контакта",
+ "Import contact" : "Импортировать контакт",
"Reset to default" : "Сбросить изменения",
+ "Import contacts" : "Импортировать контакты",
+ "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Импорт нового файла .vcf удалит существующий контакт по умолчанию и заменит его новым. Продолжить?",
+ "Failed to save example event creation setting" : "Не удалось сохранить настройки создания примера события",
+ "Failed to upload the example event" : "Не удалось загрузить пример события",
+ "Custom example event was saved successfully" : "Настраиваемый пример события успешно сохранён",
+ "Failed to delete the custom example event" : "Не удалось удалить настраиваемый пример события",
+ "Custom example event was deleted successfully" : "Настраиваемый пример события успешно удалён",
+ "Import calendar event" : "Импортировать событие календаря",
+ "Uploading a new event will overwrite the existing one." : " Загрузка нового события перезапишет существующее.",
+ "Upload event" : "Загрузить событие",
"Availability" : "Рабочее время",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Если вы настроите свой расписание работы, другие пользователи при планировании встреч смогут видеть, когда вас нет в офисе.",
"Absence" : "Отсутствие",
@@ -235,6 +325,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Отправлять напоминания всем пользователям, имеющим доступ к календарю",
"Reminders are always sent to organizers and attendees." : "Организаторам и участникам уведомления отправляются во всех случаях.",
"Enable notifications for events via push" : "Включить уведомления о событиях с помощью push",
+ "Example content" : "Пример содержимого",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Пример содержимого демонстрирует возможности Nextcloud. По умолчанию поставляется стандартное содержимое, которое можно заменить настраиваемым.",
"There was an error updating your attendance status." : "Ошибка обновления статуса участия.",
"Please contact the organizer directly." : "Обратитесь к организатору напрямую.",
"Are you accepting the invitation?" : "Принять приглашение?",
diff --git a/apps/dav/l10n/ru.json b/apps/dav/l10n/ru.json
index f6e8329d5d7..d1da881a4c6 100644
--- a/apps/dav/l10n/ru.json
+++ b/apps/dav/l10n/ru.json
@@ -70,7 +70,77 @@
"Description: %s" : "Описание: %s",
"Where: %s" : "Где: %s",
"%1$s via %2$s" : "%1$s через %2$s",
+ "In the past on %1$s for the entire day" : "В прошлом, %1$s, в течение всего дня",
+ "_In a minute on %1$s for the entire day_::_In %n minutes on %1$s for the entire day_" : ["Через минуту, %1$s, в течение всего дня","Через %n минуты, %1$s, в течение всего дня","Через %n минут, %1$s, в течение всего дня","Через %n минут, %1$s, в течение всего дня"],
+ "_In a hour on %1$s for the entire day_::_In %n hours on %1$s for the entire day_" : ["Через час, %1$s, в течение всего дня","Через %n часа, %1$s, в течение всего дня","Через %n часов, %1$s, в течение всего дня","Через %n часов, %1$s, в течение всего дня"],
+ "_In a day on %1$s for the entire day_::_In %n days on %1$s for the entire day_" : ["Через день, %1$s, в течение всего дня","Через %n дня, %1$s, в течение всего дня","Через %n дней,%1$s, в течение всего дня","Через %n дней, %1$s, в течение всего дня"],
+ "_In a week on %1$s for the entire day_::_In %n weeks on %1$s for the entire day_" : ["Через неделю, %1$s, в течение всего дня","Через %n недели, %1$s, в течение всего дня","Через %n недель, %1$s, в течение всего дня","Через %n недель, %1$s, в течение всего дня"],
+ "_In a month on %1$s for the entire day_::_In %n months on %1$s for the entire day_" : ["Через месяц, %1$s, в течение всего дня","Через %n месяца, %1$s, в течение всего дня","Через %n месяцев, %1$s, в течение всего дня","Через %n месяцев, %1$s, в течение всего дня"],
+ "_In a year on %1$s for the entire day_::_In %n years on %1$s for the entire day_" : ["Через год, %1$s, в течение всего дня","Через %n года, %1$s, в течение всего дня","Через %n лет, %1$s, в течение всего дня","Через %n лет, %1$s, в течение всего дня"],
+ "In the past on %1$s between %2$s - %3$s" : "В прошлом, %1$s, с %2$s до %3$s",
+ "_In a minute on %1$s between %2$s - %3$s_::_In %n minutes on %1$s between %2$s - %3$s_" : ["Через минуту, %1$s, с %2$s до %3$s","Через %n минуты, %1$s, с %2$s до %3$s","Через %n минут, %1$s, с %2$s до %3$s","Через %n минут, %1$s, с %2$s до %3$s"],
+ "_In a hour on %1$s between %2$s - %3$s_::_In %n hours on %1$s between %2$s - %3$s_" : ["Через час, %1$s, с %2$s до %3$s","Через %n часа, %1$s, с %2$s до %3$s","Через %n часов, %1$s, с %2$s до %3$s","Через %n часов, %1$s, с %2$s до %3$s"],
+ "_In a day on %1$s between %2$s - %3$s_::_In %n days on %1$s between %2$s - %3$s_" : ["Через день, %1$s, с %2$s до %3$s","Через %n дня %1$s, с %2$s до %3$s","Через %n дней, %1$s, с %2$s до %3$s","Через %n дней, %1$s, с %2$s до %3$s"],
+ "_In a week on %1$s between %2$s - %3$s_::_In %n weeks on %1$s between %2$s - %3$s_" : ["Через неделю, %1$s, с %2$s до %3$s","Через %n недели, %1$s, с %2$s до %3$s","Через %n недель, %1$s, с %2$s до %3$s","Через %n недель, %1$s, с %2$s до %3$s"],
+ "_In a month on %1$s between %2$s - %3$s_::_In %n months on %1$s between %2$s - %3$s_" : ["Через месяц, %1$s, с %2$s до %3$s","Через %n месяца, %1$s, с %2$s до %3$s","Через %n месяцев, %1$s, с %2$s до %3$s","Через %n месяцев, %1$s, с %2$s до %3$s"],
+ "_In a year on %1$s between %2$s - %3$s_::_In %n years on %1$s between %2$s - %3$s_" : ["Через год, %1$s, с %2$s до %3$s","Через %n года, %1$s, с %2$s до %3$s","Через %n лет, %1$s, с %2$s до %3$s","Через %n лет, %1$s, с %2$s до %3$s"],
+ "Could not generate when statement" : "Не удалось сгенерировать выражение времени",
"Every Day for the entire day" : "Каждый день в течение всего дня",
+ "Every Day for the entire day until %1$s" : "Каждый день весь день до %1$s",
+ "Every Day between %1$s - %2$s" : "Каждый день с %1$s по %2$s",
+ "Every Day between %1$s - %2$s until %3$s" : "Каждый день с %1$s до %2$s до %3$s",
+ "Every %1$d Days for the entire day" : "Каждые %1$d дней в течение всего дня",
+ "Every %1$d Days for the entire day until %2$s" : "Каждые %1$d дней в течение всего дня до %2$s",
+ "Every %1$d Days between %2$s - %3$s" : "Каждые %1$d дней с %2$s до %3$s",
+ "Every %1$d Days between %2$s - %3$s until %4$s" : "Каждые %1$d дней с %2$s до %3$s до %4$s",
+ "Could not generate event recurrence statement" : "Не удалось сгенерировать правило повторения события",
+ "Every Week on %1$s for the entire day" : "Каждую неделю в %1$s в течение всего дня",
+ "Every Week on %1$s for the entire day until %2$s" : "Каждую неделю по %1$s в течение всего дня до %2$s",
+ "Every Week on %1$s between %2$s - %3$s" : "Каждую неделю в %1$s с %2$s до %3$s",
+ "Every Week on %1$s between %2$s - %3$s until %4$s" : "Каждую неделю по %1$s с %2$s до %3$s до %4$s",
+ "Every %1$d Weeks on %2$s for the entire day" : "Каждые %1$d недель по %2$s в течение всего дня",
+ "Every %1$d Weeks on %2$s for the entire day until %3$s" : "Каждые %1$d недель по %2$s в течение всего дня до %3$s",
+ "Every %1$d Weeks on %2$s between %3$s - %4$s" : "Каждые %1$d недель по %2$s с %3$s до %4$s",
+ "Every %1$d Weeks on %2$s between %3$s - %4$s until %5$s" : "Каждые %1$d недель по %2$s с %3$s до %4$s до %5$s",
+ "Every Month on the %1$s for the entire day" : "Каждый месяц %1$s в течение всего дня",
+ "Every Month on the %1$s for the entire day until %2$s" : "Каждый месяц %1$s в течение всего дня до %2$s",
+ "Every Month on the %1$s between %2$s - %3$s" : "Каждый месяц %1$s с %2$s до %3$s",
+ "Every Month on the %1$s between %2$s - %3$s until %4$s" : "Каждый месяц %1$s с %2$s до %3$s до %4$s",
+ "Every %1$d Months on the %2$s for the entire day" : "Каждые %1$d месяцев %2$s в течение всего дня",
+ "Every %1$d Months on the %2$s for the entire day until %3$s" : "Каждые %1$d месяцев %2$s в течение всего дня до %3$s",
+ "Every %1$d Months on the %2$s between %3$s - %4$s" : "Каждые %1$d месяцев %2$s с %3$s до %4$s",
+ "Every %1$d Months on the %2$s between %3$s - %4$s until %5$s" : "Каждые %1$d месяцев %2$s с %3$s до %4$s до %5$s",
+ "Every Year in %1$s on the %2$s for the entire day" : "Каждый год в %1$s %2$s в течение всего дня",
+ "Every Year in %1$s on the %2$s for the entire day until %3$s" : "Каждый год в %1$s %2$s в течение всего дня до %3$s",
+ "Every Year in %1$s on the %2$s between %3$s - %4$s" : "Каждый год в %1$s %2$s с %3$s до %4$s",
+ "Every Year in %1$s on the %2$s between %3$s - %4$s until %5$s" : "Каждый год в %1$s %2$s с %3$s до %4$s до %5$s",
+ "Every %1$d Years in %2$s on the %3$s for the entire day" : "Каждые %1$d лет в %2$s %3$s в течение всего дня",
+ "Every %1$d Years in %2$s on the %3$s for the entire day until %4$s" : "Каждые %1$d лет в %2$s %3$s в течение всего дня до %4$s",
+ "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s" : "Каждые %1$d лет в %2$s %3$s с %4$s до %5$s",
+ "Every %1$d Years in %2$s on the %3$s between %4$s - %5$s until %6$s" : "Каждые %1$d лет в %2$s %3$s с %4$s до %5$s до %6$s",
+ "On specific dates for the entire day until %1$s" : "В определённые даты, весь день до %1$s",
+ "On specific dates between %1$s - %2$s until %3$s" : "В определённые даты с %1$s по %2$s до %3$s",
+ "In the past on %1$s" : "В прошлом, %1$s",
+ "_In a minute on %1$s_::_In %n minutes on %1$s_" : ["Через минуту, %1$s","Через %n минуты, %1$s","Через %n минут, %1$s","Через %n минут, %1$s"],
+ "_In a hour on %1$s_::_In %n hours on %1$s_" : ["Через час, %1$s","Через %n часа, %1$s","Через %n часов, %1$s","Через %n часов, %1$s"],
+ "_In a day on %1$s_::_In %n days on %1$s_" : ["Через день, %1$s","Через %n дня, %1$s","Через %n дней, %1$s","Через %n дней, %1$s"],
+ "_In a week on %1$s_::_In %n weeks on %1$s_" : ["Через неделю, %1$s","Через %n недели,%1$s","Через %n недель, %1$s","Через %n недель, %1$s"],
+ "_In a month on %1$s_::_In %n months on %1$s_" : ["Через месяц, %1$s","Через %n месяца, %1$s","Через %n месяцев, %1$s","Через %n месяцев, %1$s"],
+ "_In a year on %1$s_::_In %n years on %1$s_" : ["Через год, %1$s","Через %n года, %1$s","Через %n лет, %1$s","Через %n лет, %1$s"],
+ "In the past on %1$s then on %2$s" : "В прошлом, %1$s, затем %2$s",
+ "_In a minute on %1$s then on %2$s_::_In %n minutes on %1$s then on %2$s_" : ["Через минуту, %1$s, затем %2$s","Через %n минуты, %1$s, затем %2$s","Через %n минут, %1$s, затем %2$s","Через %n минут, %1$s, затем %2$s"],
+ "_In a hour on %1$s then on %2$s_::_In %n hours on %1$s then on %2$s_" : ["Через час, %1$s, затем %2$s","Через %n часа, %1$s, затем %2$s","Через %n часов, %1$s, затем %2$s","Через %n часов, %1$s, затем %2$s"],
+ "_In a day on %1$s then on %2$s_::_In %n days on %1$s then on %2$s_" : ["Через день, %1$s, затем %2$s","Через %n дня, %1$s, затем %2$s","Через %n дней, %1$s, затем %2$s","Через %n дней, %1$s, затем %2$s"],
+ "_In a week on %1$s then on %2$s_::_In %n weeks on %1$s then on %2$s_" : ["Через неделю, %1$s, затем %2$s","Через %n недели, %1$s, затем %2$s","Через %n недель, %1$s, затем %2$s","Через %n недель, %1$s, затем %2$s"],
+ "_In a month on %1$s then on %2$s_::_In %n months on %1$s then on %2$s_" : ["Через месяц, %1$s, затем %2$s","Через %n месяца, %1$s, затем %2$s","Через %n месяцев, %1$s, затем %2$s","Через %n месяцев, %1$s, затем %2$s"],
+ "_In a year on %1$s then on %2$s_::_In %n years on %1$s then on %2$s_" : ["Через год, %1$s, затем %2$s","Через %n года, %1$s, затем %2$s","Через %n лет, %1$s, затем %2$s","Через %n лет, %1$s, затем %2$s"],
+ "In the past on %1$s then on %2$s and %3$s" : "В прошлом, %1$s, затем %2$s и %3$s",
+ "_In a minute on %1$s then on %2$s and %3$s_::_In %n minutes on %1$s then on %2$s and %3$s_" : ["Через минуту, %1$s, затем %2$s и %3$s","Через %n минуты, %1$s, затем %2$s и %3$s","Через %n минут, %1$s, затем %2$s и %3$s","Через %n минут, %1$s, затем %2$s и %3$s"],
+ "_In a hour on %1$s then on %2$s and %3$s_::_In %n hours on %1$s then on %2$s and %3$s_" : ["Через час, %1$s, затем %2$s и %3$s","Через %n часа, %1$s, затем %2$s и %3$s","Через %n часов, %1$s, затем %2$s и %3$s","Через %n часов, %1$s, затем %2$s и %3$s"],
+ "_In a day on %1$s then on %2$s and %3$s_::_In %n days on %1$s then on %2$s and %3$s_" : ["Через день, %1$s, затем %2$s и %3$s","Через %n дня, %1$s, затем %2$s и %3$s","Через %n дней, %1$s, затем %2$s и %3$s","Через %n дней, %1$s, затем %2$s и %3$s"],
+ "_In a week on %1$s then on %2$s and %3$s_::_In %n weeks on %1$s then on %2$s and %3$s_" : ["Через неделю, %1$s, затем %2$s и %3$s","Через %n недели, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s","Через %n недель, %1$s, затем %2$s и %3$s"],
+ "_In a month on %1$s then on %2$s and %3$s_::_In %n months on %1$s then on %2$s and %3$s_" : ["Через месяц, %1$s, затем %2$s и %3$s","Через %n месяца, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s","Через %n месяцев, %1$s, затем %2$s и %3$s"],
+ "_In a year on %1$s then on %2$s and %3$s_::_In %n years on %1$s then on %2$s and %3$s_" : ["Через год, %1$s, затем %2$s и %3$s","Через %n года, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s","Через %n лет, %1$s, затем %2$s и %3$s"],
"Could not generate next recurrence statement" : "Не удалось сгенерировать следующий оператор повторения",
"Cancelled: %1$s" : "Событие отменено: %1$s",
"\"%1$s\" has been canceled" : "Событие «%1$s» отменено",
@@ -117,10 +187,12 @@
"Second" : "Второй",
"Third" : "Третий",
"Fourth" : "Четвертый",
+ "Fifth" : "Пятый",
"Last" : "Последний",
"Second Last" : "Предпоследний",
- "Third Last" : "Третий по счету",
- "Fourth Last" : "Четвертый по счету",
+ "Third Last" : "Третий с конца",
+ "Fourth Last" : "Четвёртый с конца",
+ "Fifth Last" : "Пятый с конца",
"Contacts" : "Контакты",
"{actor} created address book {addressbook}" : "{actor} создал(а) адресную книгу «{addressbook}»",
"You created address book {addressbook}" : "Вы создали адресную книгу «{addressbook}»",
@@ -176,6 +248,9 @@
"Completed on %s" : "Завершено %s",
"Due on %s by %s" : "До %s %s",
"Due on %s" : "До %s",
+ "System Address Book" : "Системная адресная книга",
+ "The system address book contains contact information for all users in your instance." : "Системная адресная книга содержит контактную информацию всех пользователей в вашем инстансе.",
+ "Enable System Address Book" : "Включить системную адресную книгу",
"DAV system address book" : "Системная адресная книга DAV",
"No outstanding DAV system address book sync." : "Синхронизация системной адресной книги DAV выполнена.",
"The DAV system address book sync has not run yet as your instance has more than 1000 users or because an error occurred. Please run it manually by calling \"occ dav:sync-system-addressbook\"." : "Синхронизация системной адресной книги DAV ещё не запущена, поскольку в этом экземпляре более 1000 пользователей или произошла ошибка. Перезапустите синхронизацию вручную используя команду «occ dav:sync-system-addressbook».",
@@ -216,7 +291,22 @@
"Cancel" : "Отмена",
"Import" : "Импортировать",
"Error while saving settings" : "Ошибка при сохранении параметров",
+ "Contact reset successfully" : "Контакт успешно сброшен",
+ "Error while resetting contact" : "Ошибка при сбросе контакта",
+ "Contact imported successfully" : " Контакт успешно импортирован",
+ "Error while importing contact" : " Ошибка при импорте контакта",
+ "Import contact" : "Импортировать контакт",
"Reset to default" : "Сбросить изменения",
+ "Import contacts" : "Импортировать контакты",
+ "Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Импорт нового файла .vcf удалит существующий контакт по умолчанию и заменит его новым. Продолжить?",
+ "Failed to save example event creation setting" : "Не удалось сохранить настройки создания примера события",
+ "Failed to upload the example event" : "Не удалось загрузить пример события",
+ "Custom example event was saved successfully" : "Настраиваемый пример события успешно сохранён",
+ "Failed to delete the custom example event" : "Не удалось удалить настраиваемый пример события",
+ "Custom example event was deleted successfully" : "Настраиваемый пример события успешно удалён",
+ "Import calendar event" : "Импортировать событие календаря",
+ "Uploading a new event will overwrite the existing one." : " Загрузка нового события перезапишет существующее.",
+ "Upload event" : "Загрузить событие",
"Availability" : "Рабочее время",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Если вы настроите свой расписание работы, другие пользователи при планировании встреч смогут видеть, когда вас нет в офисе.",
"Absence" : "Отсутствие",
@@ -233,6 +323,8 @@
"Send reminder notifications to calendar sharees as well" : "Отправлять напоминания всем пользователям, имеющим доступ к календарю",
"Reminders are always sent to organizers and attendees." : "Организаторам и участникам уведомления отправляются во всех случаях.",
"Enable notifications for events via push" : "Включить уведомления о событиях с помощью push",
+ "Example content" : "Пример содержимого",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Пример содержимого демонстрирует возможности Nextcloud. По умолчанию поставляется стандартное содержимое, которое можно заменить настраиваемым.",
"There was an error updating your attendance status." : "Ошибка обновления статуса участия.",
"Please contact the organizer directly." : "Обратитесь к организатору напрямую.",
"Are you accepting the invitation?" : "Принять приглашение?",
diff --git a/apps/dav/l10n/sv.js b/apps/dav/l10n/sv.js
index 4eb4c3ee271..feb1adde944 100644
--- a/apps/dav/l10n/sv.js
+++ b/apps/dav/l10n/sv.js
@@ -301,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "Återställ till grundinställningar",
"Import contacts" : "Importera kontakter",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Att importera en ny .vcf-fil kommer att radera den befintliga standardkontakten och ersätta den med den nya. Vill du fortsätta?",
+ "Failed to save example event creation setting" : "Kunde inte spara exemplet för inställning av händelseskapande",
+ "Failed to upload the example event" : "Kunde inte ladda upp exempelhändelsen",
+ "Custom example event was saved successfully" : "Anpassad exempelhändelse sparades",
+ "Failed to delete the custom example event" : "Kunde inte ta bort den anpassade exempelhändelsen",
+ "Custom example event was deleted successfully" : "Anpassad exempelhändelse har raderats",
+ "Import calendar event" : "Importera kalenderhändelse",
+ "Uploading a new event will overwrite the existing one." : "Om du laddar upp en ny händelse kommer den att skriva över den befintliga.",
+ "Upload event" : "Ladda upp händelse",
"Availability" : "Din tillgänglighet",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Om du konfigurerar dina arbetstider kommer andra att se när du är frånvarande när de bokar ett möte.",
"Absence" : "Frånvaro",
@@ -317,6 +325,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "Skicka även påminnelser till kalenderdeltagare",
"Reminders are always sent to organizers and attendees." : "Påminnelser skickas alltid till arrangörer och deltagare.",
"Enable notifications for events via push" : "Aktivera notiser för händelser via push",
+ "Example content" : "Exempelinnehåll",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Exempelinnehåll används för att visa upp funktionerna i Nextcloud. Standardinnehåll levereras med Nextcloud och kan ersättas med anpassat innehåll.",
"There was an error updating your attendance status." : "Ett fel uppstod vid uppdatering av din närvarostatus.",
"Please contact the organizer directly." : "Vänligen kontakta arrangören direkt.",
"Are you accepting the invitation?" : "Acceptera inbjudan?",
diff --git a/apps/dav/l10n/sv.json b/apps/dav/l10n/sv.json
index 617bbbc5a0e..0496461778f 100644
--- a/apps/dav/l10n/sv.json
+++ b/apps/dav/l10n/sv.json
@@ -299,6 +299,14 @@
"Reset to default" : "Återställ till grundinställningar",
"Import contacts" : "Importera kontakter",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "Att importera en ny .vcf-fil kommer att radera den befintliga standardkontakten och ersätta den med den nya. Vill du fortsätta?",
+ "Failed to save example event creation setting" : "Kunde inte spara exemplet för inställning av händelseskapande",
+ "Failed to upload the example event" : "Kunde inte ladda upp exempelhändelsen",
+ "Custom example event was saved successfully" : "Anpassad exempelhändelse sparades",
+ "Failed to delete the custom example event" : "Kunde inte ta bort den anpassade exempelhändelsen",
+ "Custom example event was deleted successfully" : "Anpassad exempelhändelse har raderats",
+ "Import calendar event" : "Importera kalenderhändelse",
+ "Uploading a new event will overwrite the existing one." : "Om du laddar upp en ny händelse kommer den att skriva över den befintliga.",
+ "Upload event" : "Ladda upp händelse",
"Availability" : "Din tillgänglighet",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "Om du konfigurerar dina arbetstider kommer andra att se när du är frånvarande när de bokar ett möte.",
"Absence" : "Frånvaro",
@@ -315,6 +323,8 @@
"Send reminder notifications to calendar sharees as well" : "Skicka även påminnelser till kalenderdeltagare",
"Reminders are always sent to organizers and attendees." : "Påminnelser skickas alltid till arrangörer och deltagare.",
"Enable notifications for events via push" : "Aktivera notiser för händelser via push",
+ "Example content" : "Exempelinnehåll",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "Exempelinnehåll används för att visa upp funktionerna i Nextcloud. Standardinnehåll levereras med Nextcloud och kan ersättas med anpassat innehåll.",
"There was an error updating your attendance status." : "Ett fel uppstod vid uppdatering av din närvarostatus.",
"Please contact the organizer directly." : "Vänligen kontakta arrangören direkt.",
"Are you accepting the invitation?" : "Acceptera inbjudan?",
diff --git a/apps/dav/l10n/zh_CN.js b/apps/dav/l10n/zh_CN.js
index 2a3470f738a..e181553ce39 100644
--- a/apps/dav/l10n/zh_CN.js
+++ b/apps/dav/l10n/zh_CN.js
@@ -156,7 +156,7 @@ OC.L10N.register(
"Invitation: %1$s" : "邀请:%1$s",
"%1$s would like to invite you to \"%2$s\"" : "%1$s 想邀请您加入“%2$s”",
"Organizer:" : "组织者:",
- "Attendees:" : "与会者:",
+ "Attendees:" : "参加者:",
"Title:" : "标题:",
"When:" : "时间:",
"Location:" : "地区:",
@@ -261,7 +261,7 @@ OC.L10N.register(
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的网页服务器没有正确设置允许文件同步,因为 WebDAV 接口看起来无法正常工作。",
"Your web server is properly set up to allow file synchronization over WebDAV." : "您的 Web 服务器已正确设置为允许通过 WebDAV 进行文件同步。",
"Migrated calendar (%1$s)" : "迁移的日历(%1$s)",
- "Calendars including events, details and attendees" : "日历包含活动、参与人和事件详情",
+ "Calendars including events, details and attendees" : "日历,包括事件、详情和参加者",
"Contacts and groups" : "联系人和群组",
"WebDAV" : "WebDAV",
"Absence saved" : "缺席已保存",
@@ -301,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "重置为默认设置",
"Import contacts" : "导入联系人",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "导入新的 .vcf 文件将删除现有的默认联系人,并用新联系人替换。是否要继续?",
+ "Failed to save example event creation setting" : "无法保存示例事件创建设置",
+ "Failed to upload the example event" : "无法上传示例事件",
+ "Custom example event was saved successfully" : "已成功保存自定义示例事件",
+ "Failed to delete the custom example event" : "无法删除自定义示例事件",
+ "Custom example event was deleted successfully" : "已成功删除自定义示例事件",
+ "Import calendar event" : "导入日历事件",
+ "Uploading a new event will overwrite the existing one." : "上传新事件将覆盖现有事件。",
+ "Upload event" : "上传事件",
"Availability" : "工作时间",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "如果你配置了工作时间,其他人在预订会议时会看到你何时不在办公室。",
"Absence" : "离开",
@@ -308,15 +316,17 @@ OC.L10N.register(
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装{calendarappstoreopen}日历应用{linkclose},或者{calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置{emailopen}邮件服务器{linkclose}。",
"Calendar server" : "日历服务器",
- "Send invitations to attendees" : "向与会者发送邀请",
+ "Send invitations to attendees" : "向参加者发送邀请",
"Automatically generate a birthday calendar" : "自动生成生日日历",
"Birthday calendars will be generated by a background job." : "生日日历将由后台作业生成。",
"Hence they will not be available immediately after enabling but will show up after some time." : "因此,它们在启用后不会立即可用,但会在一段时间后显示出来。",
"Send notifications for events" : "发送事件通知",
"Notifications are sent via background jobs, so these must occur often enough." : "通知将通过后台任务发送,所以任务的频率要足够高。",
"Send reminder notifications to calendar sharees as well" : "同时向日历共享者发送提醒通知",
- "Reminders are always sent to organizers and attendees." : "始终向组织者和与会者发出提醒。",
+ "Reminders are always sent to organizers and attendees." : "始终向组织者和参加者发送提醒。",
"Enable notifications for events via push" : "启用推送事件通知",
+ "Example content" : "示例内容",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "示例内容用于展示 Nextcloud 的功能。默认内容随 Nextcloud 一起提供,可以用自定义内容替换。",
"There was an error updating your attendance status." : "更新您的出席状态时出错。",
"Please contact the organizer directly." : "请直接联系组织者。",
"Are you accepting the invitation?" : "您是否接受邀请?",
diff --git a/apps/dav/l10n/zh_CN.json b/apps/dav/l10n/zh_CN.json
index 1c240fa7585..8e3986f615c 100644
--- a/apps/dav/l10n/zh_CN.json
+++ b/apps/dav/l10n/zh_CN.json
@@ -154,7 +154,7 @@
"Invitation: %1$s" : "邀请:%1$s",
"%1$s would like to invite you to \"%2$s\"" : "%1$s 想邀请您加入“%2$s”",
"Organizer:" : "组织者:",
- "Attendees:" : "与会者:",
+ "Attendees:" : "参加者:",
"Title:" : "标题:",
"When:" : "时间:",
"Location:" : "地区:",
@@ -259,7 +259,7 @@
"Your web server is not yet properly set up to allow file synchronization, because the WebDAV interface seems to be broken." : "您的网页服务器没有正确设置允许文件同步,因为 WebDAV 接口看起来无法正常工作。",
"Your web server is properly set up to allow file synchronization over WebDAV." : "您的 Web 服务器已正确设置为允许通过 WebDAV 进行文件同步。",
"Migrated calendar (%1$s)" : "迁移的日历(%1$s)",
- "Calendars including events, details and attendees" : "日历包含活动、参与人和事件详情",
+ "Calendars including events, details and attendees" : "日历,包括事件、详情和参加者",
"Contacts and groups" : "联系人和群组",
"WebDAV" : "WebDAV",
"Absence saved" : "缺席已保存",
@@ -299,6 +299,14 @@
"Reset to default" : "重置为默认设置",
"Import contacts" : "导入联系人",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "导入新的 .vcf 文件将删除现有的默认联系人,并用新联系人替换。是否要继续?",
+ "Failed to save example event creation setting" : "无法保存示例事件创建设置",
+ "Failed to upload the example event" : "无法上传示例事件",
+ "Custom example event was saved successfully" : "已成功保存自定义示例事件",
+ "Failed to delete the custom example event" : "无法删除自定义示例事件",
+ "Custom example event was deleted successfully" : "已成功删除自定义示例事件",
+ "Import calendar event" : "导入日历事件",
+ "Uploading a new event will overwrite the existing one." : "上传新事件将覆盖现有事件。",
+ "Upload event" : "上传事件",
"Availability" : "工作时间",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "如果你配置了工作时间,其他人在预订会议时会看到你何时不在办公室。",
"Absence" : "离开",
@@ -306,15 +314,17 @@
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "也安装{calendarappstoreopen}日历应用{linkclose},或者{calendardocopen}连接您的桌面和移动端同步日历 ↗{linkclose}。",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "请确保正确设置{emailopen}邮件服务器{linkclose}。",
"Calendar server" : "日历服务器",
- "Send invitations to attendees" : "向与会者发送邀请",
+ "Send invitations to attendees" : "向参加者发送邀请",
"Automatically generate a birthday calendar" : "自动生成生日日历",
"Birthday calendars will be generated by a background job." : "生日日历将由后台作业生成。",
"Hence they will not be available immediately after enabling but will show up after some time." : "因此,它们在启用后不会立即可用,但会在一段时间后显示出来。",
"Send notifications for events" : "发送事件通知",
"Notifications are sent via background jobs, so these must occur often enough." : "通知将通过后台任务发送,所以任务的频率要足够高。",
"Send reminder notifications to calendar sharees as well" : "同时向日历共享者发送提醒通知",
- "Reminders are always sent to organizers and attendees." : "始终向组织者和与会者发出提醒。",
+ "Reminders are always sent to organizers and attendees." : "始终向组织者和参加者发送提醒。",
"Enable notifications for events via push" : "启用推送事件通知",
+ "Example content" : "示例内容",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "示例内容用于展示 Nextcloud 的功能。默认内容随 Nextcloud 一起提供,可以用自定义内容替换。",
"There was an error updating your attendance status." : "更新您的出席状态时出错。",
"Please contact the organizer directly." : "请直接联系组织者。",
"Are you accepting the invitation?" : "您是否接受邀请?",
diff --git a/apps/dav/l10n/zh_HK.js b/apps/dav/l10n/zh_HK.js
index a90bea5c954..df201c06f90 100644
--- a/apps/dav/l10n/zh_HK.js
+++ b/apps/dav/l10n/zh_HK.js
@@ -301,6 +301,14 @@ OC.L10N.register(
"Reset to default" : "恢復預設值",
"Import contacts" : "導入聯絡人",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "導入新的 .vcf 檔案將刪除現有的默認聯絡人並將其替換為新的聯絡人。您想繼續嗎?",
+ "Failed to save example event creation setting" : "儲存範例事件建立設定失敗",
+ "Failed to upload the example event" : "上傳範例事件失敗",
+ "Custom example event was saved successfully" : "已成功儲存自訂範例事件",
+ "Failed to delete the custom example event" : "刪除自訂範例事件失敗",
+ "Custom example event was deleted successfully" : "已成功刪除自訂範例事件",
+ "Import calendar event" : "導入日曆活動",
+ "Uploading a new event will overwrite the existing one." : "上傳新活動將會覆寫原有的",
+ "Upload event" : "上傳活動",
"Availability" : "空閒時間",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "若您設定了您的工作時間,其他人仕在預約會議時就會知道您何時不在辦公室。",
"Absence" : "缺席",
@@ -317,6 +325,8 @@ OC.L10N.register(
"Send reminder notifications to calendar sharees as well" : "也向共享日曆者傳送提醒通告",
"Reminders are always sent to organizers and attendees." : "一律傳送提醒通知給舉辦者與參與者。",
"Enable notifications for events via push" : "啟用推送活動通知",
+ "Example content" : "範例內容",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "範例內容用來展示 Nextcloud 的功能。Nextcloud 隨附預設內容,可由自訂內容取代。",
"There was an error updating your attendance status." : "更新您的參與狀況時發生錯誤",
"Please contact the organizer directly." : "請直接聯繫絡主辦人",
"Are you accepting the invitation?" : "接受邀請嗎?",
diff --git a/apps/dav/l10n/zh_HK.json b/apps/dav/l10n/zh_HK.json
index 13f69901a7a..0cafd6ec077 100644
--- a/apps/dav/l10n/zh_HK.json
+++ b/apps/dav/l10n/zh_HK.json
@@ -299,6 +299,14 @@
"Reset to default" : "恢復預設值",
"Import contacts" : "導入聯絡人",
"Importing a new .vcf file will delete the existing default contact and replace it with the new one. Do you want to continue?" : "導入新的 .vcf 檔案將刪除現有的默認聯絡人並將其替換為新的聯絡人。您想繼續嗎?",
+ "Failed to save example event creation setting" : "儲存範例事件建立設定失敗",
+ "Failed to upload the example event" : "上傳範例事件失敗",
+ "Custom example event was saved successfully" : "已成功儲存自訂範例事件",
+ "Failed to delete the custom example event" : "刪除自訂範例事件失敗",
+ "Custom example event was deleted successfully" : "已成功刪除自訂範例事件",
+ "Import calendar event" : "導入日曆活動",
+ "Uploading a new event will overwrite the existing one." : "上傳新活動將會覆寫原有的",
+ "Upload event" : "上傳活動",
"Availability" : "空閒時間",
"If you configure your working hours, other people will see when you are out of office when they book a meeting." : "若您設定了您的工作時間,其他人仕在預約會議時就會知道您何時不在辦公室。",
"Absence" : "缺席",
@@ -315,6 +323,8 @@
"Send reminder notifications to calendar sharees as well" : "也向共享日曆者傳送提醒通告",
"Reminders are always sent to organizers and attendees." : "一律傳送提醒通知給舉辦者與參與者。",
"Enable notifications for events via push" : "啟用推送活動通知",
+ "Example content" : "範例內容",
+ "Example content serves to showcase the features of Nextcloud. Default content is shipped with Nextcloud, and can be replaced by custom content." : "範例內容用來展示 Nextcloud 的功能。Nextcloud 隨附預設內容,可由自訂內容取代。",
"There was an error updating your attendance status." : "更新您的參與狀況時發生錯誤",
"Please contact the organizer directly." : "請直接聯繫絡主辦人",
"Are you accepting the invitation?" : "接受邀請嗎?",
diff --git a/apps/dav/lib/CalDAV/CalDavBackend.php b/apps/dav/lib/CalDAV/CalDavBackend.php
index c49e843d2b9..1cbf2a1e4eb 100644
--- a/apps/dav/lib/CalDAV/CalDavBackend.php
+++ b/apps/dav/lib/CalDAV/CalDavBackend.php
@@ -2986,7 +2986,7 @@ class CalDavBackend extends AbstractBackend implements SyncSupport, Subscription
'calendarid' => $query->createNamedParameter($calendarId),
'operation' => $query->createNamedParameter($operation),
'calendartype' => $query->createNamedParameter($calendarType),
- 'created_at' => time(),
+ 'created_at' => $query->createNamedParameter(time()),
]);
foreach ($objectUris as $uri) {
$query->setParameter('uri', $uri);
diff --git a/apps/dav/lib/Controller/ExampleContentController.php b/apps/dav/lib/Controller/ExampleContentController.php
index 905fd392e6c..e20ee4b7f49 100644
--- a/apps/dav/lib/Controller/ExampleContentController.php
+++ b/apps/dav/lib/Controller/ExampleContentController.php
@@ -10,6 +10,7 @@ declare(strict_types=1);
namespace OCA\DAV\Controller;
use OCA\DAV\AppInfo\Application;
+use OCA\DAV\Service\ExampleContactService;
use OCA\DAV\Service\ExampleEventService;
use OCP\AppFramework\ApiController;
use OCP\AppFramework\Http;
@@ -17,103 +18,50 @@ use OCP\AppFramework\Http\Attribute\FrontpageRoute;
use OCP\AppFramework\Http\Attribute\NoCSRFRequired;
use OCP\AppFramework\Http\DataDownloadResponse;
use OCP\AppFramework\Http\JSONResponse;
-use OCP\Files\AppData\IAppDataFactory;
-use OCP\Files\IAppData;
-use OCP\Files\NotFoundException;
-use OCP\IAppConfig;
-use OCP\IConfig;
use OCP\IRequest;
use Psr\Log\LoggerInterface;
class ExampleContentController extends ApiController {
- private IAppData $appData;
-
public function __construct(
IRequest $request,
- private IConfig $config,
- private IAppConfig $appConfig,
- private IAppDataFactory $appDataFactory,
- private LoggerInterface $logger,
- private ExampleEventService $exampleEventService,
+ private readonly LoggerInterface $logger,
+ private readonly ExampleEventService $exampleEventService,
+ private readonly ExampleContactService $exampleContactService,
) {
parent::__construct(Application::APP_ID, $request);
- $this->appData = $this->appDataFactory->get('dav');
}
- public function setEnableDefaultContact($allow) {
- if ($allow === 'yes' && !$this->defaultContactExists()) {
+ #[FrontpageRoute(verb: 'PUT', url: '/api/defaultcontact/config')]
+ public function setEnableDefaultContact(bool $allow): JSONResponse {
+ if ($allow && !$this->exampleContactService->defaultContactExists()) {
try {
- $this->setCard();
+ $this->exampleContactService->setCard();
} catch (\Exception $e) {
$this->logger->error('Could not create default contact', ['exception' => $e]);
return new JSONResponse([], Http::STATUS_INTERNAL_SERVER_ERROR);
}
}
- $this->config->setAppValue(Application::APP_ID, 'enableDefaultContact', $allow);
+ $this->exampleContactService->setDefaultContactEnabled($allow);
return new JSONResponse([], Http::STATUS_OK);
}
#[NoCSRFRequired]
+ #[FrontpageRoute(verb: 'GET', url: '/api/defaultcontact/contact')]
public function getDefaultContact(): DataDownloadResponse {
- $cardData = $this->getCard()
+ $cardData = $this->exampleContactService->getCard()
?? file_get_contents(__DIR__ . '/../ExampleContentFiles/exampleContact.vcf');
return new DataDownloadResponse($cardData, 'example_contact.vcf', 'text/vcard');
}
+ #[FrontpageRoute(verb: 'PUT', url: '/api/defaultcontact/contact')]
public function setDefaultContact(?string $contactData = null) {
- if (!$this->config->getAppValue(Application::APP_ID, 'enableDefaultContact', 'yes')) {
+ if (!$this->exampleContactService->isDefaultContactEnabled()) {
return new JSONResponse([], Http::STATUS_FORBIDDEN);
}
- $this->setCard($contactData);
+ $this->exampleContactService->setCard($contactData);
return new JSONResponse([], Http::STATUS_OK);
}
- private function getCard(): ?string {
- try {
- $folder = $this->appData->getFolder('defaultContact');
- } catch (NotFoundException $e) {
- return null;
- }
-
- if (!$folder->fileExists('defaultContact.vcf')) {
- return null;
- }
-
- return $folder->getFile('defaultContact.vcf')->getContent();
- }
-
- private function setCard(?string $cardData = null) {
- try {
- $folder = $this->appData->getFolder('defaultContact');
- } catch (NotFoundException $e) {
- $folder = $this->appData->newFolder('defaultContact');
- }
-
- $isCustom = true;
- if (is_null($cardData)) {
- $cardData = file_get_contents(__DIR__ . '/../ExampleContentFiles/exampleContact.vcf');
- $isCustom = false;
- }
-
- if (!$cardData) {
- throw new \Exception('Could not read exampleContact.vcf');
- }
-
- $file = (!$folder->fileExists('defaultContact.vcf')) ? $folder->newFile('defaultContact.vcf') : $folder->getFile('defaultContact.vcf');
- $file->putContent($cardData);
-
- $this->appConfig->setValueBool(Application::APP_ID, 'hasCustomDefaultContact', $isCustom);
- }
-
- private function defaultContactExists(): bool {
- try {
- $folder = $this->appData->getFolder('defaultContact');
- } catch (NotFoundException $e) {
- return false;
- }
- return $folder->fileExists('defaultContact.vcf');
- }
-
#[FrontpageRoute(verb: 'POST', url: '/api/exampleEvent/enable')]
public function setCreateExampleEvent(bool $enable): JSONResponse {
$this->exampleEventService->setCreateExampleEvent($enable);
diff --git a/apps/dav/lib/Listener/UserEventsListener.php b/apps/dav/lib/Listener/UserEventsListener.php
index 67cf228515a..c876192d67f 100644
--- a/apps/dav/lib/Listener/UserEventsListener.php
+++ b/apps/dav/lib/Listener/UserEventsListener.php
@@ -12,7 +12,7 @@ namespace OCA\DAV\Listener;
use OCA\DAV\CalDAV\CalDavBackend;
use OCA\DAV\CardDAV\CardDavBackend;
use OCA\DAV\CardDAV\SyncService;
-use OCA\DAV\Service\DefaultContactService;
+use OCA\DAV\Service\ExampleContactService;
use OCA\DAV\Service\ExampleEventService;
use OCP\Accounts\UserUpdatedEvent;
use OCP\Defaults;
@@ -46,7 +46,7 @@ class UserEventsListener implements IEventListener {
private CalDavBackend $calDav,
private CardDavBackend $cardDav,
private Defaults $themingDefaults,
- private DefaultContactService $defaultContactService,
+ private ExampleContactService $exampleContactService,
private ExampleEventService $exampleEventService,
private LoggerInterface $logger,
) {
@@ -175,7 +175,7 @@ class UserEventsListener implements IEventListener {
}
}
if ($addressBookId) {
- $this->defaultContactService->createDefaultContact($addressBookId);
+ $this->exampleContactService->createDefaultContact($addressBookId);
}
}
}
diff --git a/apps/dav/lib/Service/DefaultContactService.php b/apps/dav/lib/Service/DefaultContactService.php
deleted file mode 100644
index 24e55ef7b69..00000000000
--- a/apps/dav/lib/Service/DefaultContactService.php
+++ /dev/null
@@ -1,77 +0,0 @@
-<?php
-
-declare(strict_types=1);
-
-/**
- * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
- * SPDX-License-Identifier: AGPL-3.0-or-later
- */
-
-namespace OCA\DAV\Service;
-
-use OCA\DAV\AppInfo\Application;
-use OCA\DAV\CardDAV\CardDavBackend;
-use OCP\App\IAppManager;
-use OCP\Files\AppData\IAppDataFactory;
-use OCP\IAppConfig;
-use Psr\Log\LoggerInterface;
-use Symfony\Component\Uid\Uuid;
-
-class DefaultContactService {
- public function __construct(
- private CardDavBackend $cardDav,
- private IAppManager $appManager,
- private IAppDataFactory $appDataFactory,
- private IAppConfig $config,
- private LoggerInterface $logger,
- ) {
- }
-
- public function createDefaultContact(int $addressBookId): void {
- $enableDefaultContact = $this->config->getValueString(Application::APP_ID, 'enableDefaultContact', 'yes');
- if ($enableDefaultContact !== 'yes') {
- return;
- }
- $appData = $this->appDataFactory->get('dav');
- try {
- $folder = $appData->getFolder('defaultContact');
- $defaultContactFile = $folder->getFile('defaultContact.vcf');
- $data = $defaultContactFile->getContent();
- } catch (\Exception $e) {
- $this->logger->error('Couldn\'t get default contact file', ['exception' => $e]);
- return;
- }
-
- // Make sure the UID is unique
- $newUid = Uuid::v4()->toRfc4122();
- $newRev = date('Ymd\THis\Z');
- $vcard = \Sabre\VObject\Reader::read($data, \Sabre\VObject\Reader::OPTION_FORGIVING);
- if ($vcard->UID) {
- $vcard->UID->setValue($newUid);
- } else {
- $vcard->add('UID', $newUid);
- }
- if ($vcard->REV) {
- $vcard->REV->setValue($newRev);
- } else {
- $vcard->add('REV', $newRev);
- }
-
- // Level 3 means that the document is invalid
- // https://sabre.io/vobject/vcard/#validating-vcard
- $level3Warnings = array_filter($vcard->validate(), function ($warning) {
- return $warning['level'] === 3;
- });
-
- if (!empty($level3Warnings)) {
- $this->logger->error('Default contact is invalid', ['warnings' => $level3Warnings]);
- return;
- }
- try {
- $this->cardDav->createCard($addressBookId, 'default', $vcard->serialize(), false);
- } catch (\Exception $e) {
- $this->logger->error($e->getMessage(), ['exception' => $e]);
- }
-
- }
-}
diff --git a/apps/dav/lib/Service/ExampleContactService.php b/apps/dav/lib/Service/ExampleContactService.php
new file mode 100644
index 00000000000..6ed6c66cbb3
--- /dev/null
+++ b/apps/dav/lib/Service/ExampleContactService.php
@@ -0,0 +1,132 @@
+<?php
+
+declare(strict_types=1);
+
+/**
+ * SPDX-FileCopyrightText: 2025 Nextcloud GmbH and Nextcloud contributors
+ * SPDX-License-Identifier: AGPL-3.0-or-later
+ */
+
+namespace OCA\DAV\Service;
+
+use OCA\DAV\AppInfo\Application;
+use OCA\DAV\CardDAV\CardDavBackend;
+use OCP\AppFramework\Services\IAppConfig;
+use OCP\Files\AppData\IAppDataFactory;
+use OCP\Files\IAppData;
+use OCP\Files\NotFoundException;
+use Psr\Log\LoggerInterface;
+use Symfony\Component\Uid\Uuid;
+
+class ExampleContactService {
+ private readonly IAppData $appData;
+
+ public function __construct(
+ IAppDataFactory $appDataFactory,
+ private readonly IAppConfig $appConfig,
+ private readonly LoggerInterface $logger,
+ private readonly CardDavBackend $cardDav,
+ ) {
+ $this->appData = $appDataFactory->get(Application::APP_ID);
+ }
+
+ public function isDefaultContactEnabled(): bool {
+ return $this->appConfig->getAppValueBool('enableDefaultContact', true);
+ }
+
+ public function setDefaultContactEnabled(bool $value): void {
+ $this->appConfig->setAppValueBool('enableDefaultContact', $value);
+ }
+
+ public function getCard(): ?string {
+ try {
+ $folder = $this->appData->getFolder('defaultContact');
+ } catch (NotFoundException $e) {
+ return null;
+ }
+
+ if (!$folder->fileExists('defaultContact.vcf')) {
+ return null;
+ }
+
+ return $folder->getFile('defaultContact.vcf')->getContent();
+ }
+
+ public function setCard(?string $cardData = null) {
+ try {
+ $folder = $this->appData->getFolder('defaultContact');
+ } catch (NotFoundException $e) {
+ $folder = $this->appData->newFolder('defaultContact');
+ }
+
+ $isCustom = true;
+ if (is_null($cardData)) {
+ $cardData = file_get_contents(__DIR__ . '/../ExampleContentFiles/exampleContact.vcf');
+ $isCustom = false;
+ }
+
+ if (!$cardData) {
+ throw new \Exception('Could not read exampleContact.vcf');
+ }
+
+ $file = (!$folder->fileExists('defaultContact.vcf')) ? $folder->newFile('defaultContact.vcf') : $folder->getFile('defaultContact.vcf');
+ $file->putContent($cardData);
+
+ $this->appConfig->setAppValueBool('hasCustomDefaultContact', $isCustom);
+ }
+
+ public function defaultContactExists(): bool {
+ try {
+ $folder = $this->appData->getFolder('defaultContact');
+ } catch (NotFoundException $e) {
+ return false;
+ }
+ return $folder->fileExists('defaultContact.vcf');
+ }
+
+ public function createDefaultContact(int $addressBookId): void {
+ if (!$this->isDefaultContactEnabled()) {
+ return;
+ }
+
+ try {
+ $folder = $this->appData->getFolder('defaultContact');
+ $defaultContactFile = $folder->getFile('defaultContact.vcf');
+ $data = $defaultContactFile->getContent();
+ } catch (\Exception $e) {
+ $this->logger->error('Couldn\'t get default contact file', ['exception' => $e]);
+ return;
+ }
+
+ // Make sure the UID is unique
+ $newUid = Uuid::v4()->toRfc4122();
+ $newRev = date('Ymd\THis\Z');
+ $vcard = \Sabre\VObject\Reader::read($data, \Sabre\VObject\Reader::OPTION_FORGIVING);
+ if ($vcard->UID) {
+ $vcard->UID->setValue($newUid);
+ } else {
+ $vcard->add('UID', $newUid);
+ }
+ if ($vcard->REV) {
+ $vcard->REV->setValue($newRev);
+ } else {
+ $vcard->add('REV', $newRev);
+ }
+
+ // Level 3 means that the document is invalid
+ // https://sabre.io/vobject/vcard/#validating-vcard
+ $level3Warnings = array_filter($vcard->validate(), static function ($warning) {
+ return $warning['level'] === 3;
+ });
+
+ if (!empty($level3Warnings)) {
+ $this->logger->error('Default contact is invalid', ['warnings' => $level3Warnings]);
+ return;
+ }
+ try {
+ $this->cardDav->createCard($addressBookId, 'default', $vcard->serialize(), false);
+ } catch (\Exception $e) {
+ $this->logger->error($e->getMessage(), ['exception' => $e]);
+ }
+ }
+}
diff --git a/apps/dav/lib/Settings/ExampleContentSettings.php b/apps/dav/lib/Settings/ExampleContentSettings.php
index fef2d25b8d2..7b6f9b03a3a 100644
--- a/apps/dav/lib/Settings/ExampleContentSettings.php
+++ b/apps/dav/lib/Settings/ExampleContentSettings.php
@@ -9,21 +9,21 @@ declare(strict_types=1);
namespace OCA\DAV\Settings;
use OCA\DAV\AppInfo\Application;
+use OCA\DAV\Service\ExampleContactService;
use OCA\DAV\Service\ExampleEventService;
use OCP\App\IAppManager;
use OCP\AppFramework\Http\TemplateResponse;
+use OCP\AppFramework\Services\IAppConfig;
use OCP\AppFramework\Services\IInitialState;
-use OCP\IAppConfig;
-use OCP\IConfig;
use OCP\Settings\ISettings;
class ExampleContentSettings implements ISettings {
public function __construct(
- private readonly IConfig $config,
private readonly IAppConfig $appConfig,
private readonly IInitialState $initialState,
private readonly IAppManager $appManager,
private readonly ExampleEventService $exampleEventService,
+ private readonly ExampleContactService $exampleContactService,
) {
}
@@ -43,11 +43,13 @@ class ExampleContentSettings implements ISettings {
}
if ($contactsEnabled) {
- $enableDefaultContact = $this->config->getAppValue(Application::APP_ID, 'enableDefaultContact', 'yes');
- $this->initialState->provideInitialState('enableDefaultContact', $enableDefaultContact);
+ $this->initialState->provideInitialState(
+ 'enableDefaultContact',
+ $this->exampleContactService->isDefaultContactEnabled(),
+ );
$this->initialState->provideInitialState(
'hasCustomDefaultContact',
- $this->appConfig->getValueBool(Application::APP_ID, 'hasCustomDefaultContact'),
+ $this->appConfig->getAppValueBool('hasCustomDefaultContact'),
);
}
diff --git a/apps/dav/src/components/ExampleContactSettings.vue b/apps/dav/src/components/ExampleContactSettings.vue
index 0e34c7a12da..cdfdc130189 100644
--- a/apps/dav/src/components/ExampleContactSettings.vue
+++ b/apps/dav/src/components/ExampleContactSettings.vue
@@ -63,7 +63,7 @@ import IconCheck from '@mdi/svg/svg/check.svg?raw'
import logger from '../service/logger.js'
import ExampleContentDownloadButton from './ExampleContentDownloadButton.vue'
-const enableDefaultContact = loadState('dav', 'enableDefaultContact') === 'yes'
+const enableDefaultContact = loadState('dav', 'enableDefaultContact')
const hasCustomDefaultContact = loadState('dav', 'hasCustomDefaultContact')
export default {
@@ -106,7 +106,7 @@ export default {
methods: {
updateEnableDefaultContact() {
axios.put(generateUrl('apps/dav/api/defaultcontact/config'), {
- allow: this.enableDefaultContact ? 'no' : 'yes',
+ allow: !this.enableDefaultContact,
}).then(() => {
this.enableDefaultContact = !this.enableDefaultContact
}).catch(() => {
diff --git a/apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php b/apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php
index f03343af008..40d2fb62431 100644
--- a/apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php
+++ b/apps/dav/tests/unit/DAV/Listener/UserEventsListenerTest.php
@@ -14,7 +14,7 @@ use OCA\DAV\CalDAV\CalDavBackend;
use OCA\DAV\CardDAV\CardDavBackend;
use OCA\DAV\CardDAV\SyncService;
use OCA\DAV\Listener\UserEventsListener;
-use OCA\DAV\Service\DefaultContactService;
+use OCA\DAV\Service\ExampleContactService;
use OCA\DAV\Service\ExampleEventService;
use OCP\Defaults;
use OCP\IUser;
@@ -29,7 +29,7 @@ class UserEventsListenerTest extends TestCase {
private CalDavBackend&MockObject $calDavBackend;
private CardDavBackend&MockObject $cardDavBackend;
private Defaults&MockObject $defaults;
- private DefaultContactService&MockObject $defaultContactService;
+ private ExampleContactService&MockObject $exampleContactService;
private ExampleEventService&MockObject $exampleEventService;
private LoggerInterface&MockObject $logger;
@@ -43,7 +43,7 @@ class UserEventsListenerTest extends TestCase {
$this->calDavBackend = $this->createMock(CalDavBackend::class);
$this->cardDavBackend = $this->createMock(CardDavBackend::class);
$this->defaults = $this->createMock(Defaults::class);
- $this->defaultContactService = $this->createMock(DefaultContactService::class);
+ $this->exampleContactService = $this->createMock(ExampleContactService::class);
$this->exampleEventService = $this->createMock(ExampleEventService::class);
$this->logger = $this->createMock(LoggerInterface::class);
@@ -53,7 +53,7 @@ class UserEventsListenerTest extends TestCase {
$this->calDavBackend,
$this->cardDavBackend,
$this->defaults,
- $this->defaultContactService,
+ $this->exampleContactService,
$this->exampleEventService,
$this->logger,
);
diff --git a/apps/dav/tests/unit/Service/DefaultContactServiceTest.php b/apps/dav/tests/unit/Service/ExampleContactServiceTest.php
index 3bd8c9cb6f6..4c8d900ae86 100644
--- a/apps/dav/tests/unit/Service/DefaultContactServiceTest.php
+++ b/apps/dav/tests/unit/Service/ExampleContactServiceTest.php
@@ -10,56 +10,60 @@ declare(strict_types=1);
namespace OCA\DAV\Tests\unit\Service;
use OCA\DAV\CardDAV\CardDavBackend;
-use OCA\DAV\Service\DefaultContactService;
+use OCA\DAV\Service\ExampleContactService;
use OCP\App\IAppManager;
+use OCP\AppFramework\Services\IAppConfig;
use OCP\Files\AppData\IAppDataFactory;
use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
use OCP\Files\SimpleFS\ISimpleFile;
use OCP\Files\SimpleFS\ISimpleFolder;
-use OCP\IAppConfig;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Symfony\Component\Uid\Uuid;
use Test\TestCase;
-class DefaultContactServiceTest extends TestCase {
- protected DefaultContactService $service;
+class ExampleContactServiceTest extends TestCase {
+ protected ExampleContactService $service;
protected CardDavBackend&MockObject $cardDav;
protected IAppManager&MockObject $appManager;
protected IAppDataFactory&MockObject $appDataFactory;
protected LoggerInterface&MockObject $logger;
- protected IAppConfig&MockObject $config;
+ protected IAppConfig&MockObject $appConfig;
+ protected IAppData&MockObject $appData;
protected function setUp(): void {
parent::setUp();
$this->cardDav = $this->createMock(CardDavBackend::class);
- $this->appManager = $this->createMock(IAppManager::class);
$this->appDataFactory = $this->createMock(IAppDataFactory::class);
$this->logger = $this->createMock(LoggerInterface::class);
- $this->config = $this->createMock(IAppConfig::class);
+ $this->appConfig = $this->createMock(IAppConfig::class);
- $this->service = new DefaultContactService(
- $this->cardDav,
- $this->appManager,
+ $this->appData = $this->createMock(IAppData::class);
+ $this->appDataFactory->method('get')
+ ->with('dav')
+ ->willReturn($this->appData);
+
+ $this->service = new ExampleContactService(
$this->appDataFactory,
- $this->config,
+ $this->appConfig,
$this->logger,
+ $this->cardDav,
);
}
public function testCreateDefaultContactWithInvalidCard(): void {
// Invalid vCard missing required FN property
$vcardContent = "BEGIN:VCARD\nVERSION:3.0\nEND:VCARD";
- $this->config->method('getValueString')->willReturn('yes');
- $appData = $this->createMock(IAppData::class);
+ $this->appConfig->method('getAppValueBool')
+ ->with('enableDefaultContact', true)
+ ->willReturn(true);
$folder = $this->createMock(ISimpleFolder::class);
$file = $this->createMock(ISimpleFile::class);
$file->method('getContent')->willReturn($vcardContent);
$folder->method('getFile')->willReturn($file);
- $appData->method('getFolder')->willReturn($folder);
- $this->appDataFactory->method('get')->willReturn($appData);
+ $this->appData->method('getFolder')->willReturn($folder);
$this->logger->expects($this->once())
->method('error')
@@ -76,14 +80,14 @@ class DefaultContactServiceTest extends TestCase {
$originalRev = '20200101T000000Z';
$vcardContent = "BEGIN:VCARD\nVERSION:3.0\nFN:Test User\nUID:$originalUid\nREV:$originalRev\nEND:VCARD";
- $this->config->method('getValueString')->willReturn('yes');
- $appData = $this->createMock(IAppData::class);
+ $this->appConfig->method('getAppValueBool')
+ ->with('enableDefaultContact', true)
+ ->willReturn(true);
$folder = $this->createMock(ISimpleFolder::class);
$file = $this->createMock(ISimpleFile::class);
$file->method('getContent')->willReturn($vcardContent);
$folder->method('getFile')->willReturn($file);
- $appData->method('getFolder')->willReturn($folder);
- $this->appDataFactory->method('get')->willReturn($appData);
+ $this->appData->method('getFolder')->willReturn($folder);
$capturedCardData = null;
$this->cardDav->expects($this->once())
@@ -107,10 +111,10 @@ class DefaultContactServiceTest extends TestCase {
}
public function testDefaultContactFileDoesNotExist(): void {
- $appData = $this->createMock(IAppData::class);
- $this->config->method('getValueString')->willReturn('yes');
- $appData->method('getFolder')->willThrowException(new NotFoundException());
- $this->appDataFactory->method('get')->willReturn($appData);
+ $this->appConfig->method('getAppValueBool')
+ ->with('enableDefaultContact', true)
+ ->willReturn(true);
+ $this->appData->method('getFolder')->willThrowException(new NotFoundException());
$this->cardDav->expects($this->never())
->method('createCard');
@@ -121,14 +125,14 @@ class DefaultContactServiceTest extends TestCase {
public function testUidAndRevAreAddedIfMissing(): void {
$vcardContent = "BEGIN:VCARD\nVERSION:3.0\nFN:Test User\nEND:VCARD";
- $this->config->method('getValueString')->willReturn('yes');
- $appData = $this->createMock(IAppData::class);
+ $this->appConfig->method('getAppValueBool')
+ ->with('enableDefaultContact', true)
+ ->willReturn(true);
$folder = $this->createMock(ISimpleFolder::class);
$file = $this->createMock(ISimpleFile::class);
$file->method('getContent')->willReturn($vcardContent);
$folder->method('getFile')->willReturn($file);
- $appData->method('getFolder')->willReturn($folder);
- $this->appDataFactory->method('get')->willReturn($appData);
+ $this->appData->method('getFolder')->willReturn($folder);
$capturedCardData = 'new-card-data';
@@ -154,7 +158,9 @@ class DefaultContactServiceTest extends TestCase {
}
public function testDefaultContactIsNotCreatedIfEnabled(): void {
- $this->config->method('getValueString')->willReturn('no');
+ $this->appConfig->method('getAppValueBool')
+ ->with('enableDefaultContact', true)
+ ->willReturn(false);
$this->logger->expects($this->never())
->method('error');
$this->cardDav->expects($this->never())
@@ -162,4 +168,27 @@ class DefaultContactServiceTest extends TestCase {
$this->service->createDefaultContact(123);
}
+
+ public static function provideDefaultContactEnableData(): array {
+ return [[true], [false]];
+ }
+
+ /** @dataProvider provideDefaultContactEnableData */
+ public function testIsDefaultContactEnabled(bool $enabled): void {
+ $this->appConfig->expects(self::once())
+ ->method('getAppValueBool')
+ ->with('enableDefaultContact', true)
+ ->willReturn($enabled);
+
+ $this->assertEquals($enabled, $this->service->isDefaultContactEnabled());
+ }
+
+ /** @dataProvider provideDefaultContactEnableData */
+ public function testSetDefaultContactEnabled(bool $enabled): void {
+ $this->appConfig->expects(self::once())
+ ->method('setAppValueBool')
+ ->with('enableDefaultContact', $enabled);
+
+ $this->service->setDefaultContactEnabled($enabled);
+ }
}
diff --git a/apps/encryption/l10n/et_EE.js b/apps/encryption/l10n/et_EE.js
index 1dd886792e6..70de2cc0c46 100644
--- a/apps/encryption/l10n/et_EE.js
+++ b/apps/encryption/l10n/et_EE.js
@@ -1,46 +1,55 @@
OC.L10N.register(
"encryption",
{
- "Missing recovery key password" : "Muuda taastevõtme parool",
- "Please repeat the recovery key password" : "Palun korda uut taastevõtme parooli",
- "Repeated recovery key password does not match the provided recovery key password" : "Lahtritesse sisestatud taastevõtme paroolid ei kattu",
+ "Missing recovery key password" : "Muuda taastevõtme salasõna",
+ "Please repeat the recovery key password" : "Palun korda uut taastevõtme salasõna",
+ "Repeated recovery key password does not match the provided recovery key password" : "Sisestatud taastevõtme salasõna ei kattu",
"Recovery key successfully enabled" : "Taastevõtme lubamine õnnestus",
- "Could not enable recovery key. Please check your recovery key password!" : "Ei suutnud lubada taastevõtit. Palun kontrolli oma taastevõtme parooli!",
+ "Could not enable recovery key. Please check your recovery key password!" : "Ei suutnud taastevõtit kasutusele võtta. Palun kontrolli oma taastevõtme salasõna!",
"Recovery key successfully disabled" : "Taastevõtme keelamine õnnestus",
- "Could not disable recovery key. Please check your recovery key password!" : "Ei suuda keelata taastevõtit. Palun kontrolli oma taastevõtme parooli!",
+ "Could not disable recovery key. Please check your recovery key password!" : "Ei suutnud taastevõtme kasutamist lõpetada. Palun kontrolli oma taastevõtme salasõna!",
"Missing parameters" : "Parameetrid puuduvad",
"Please provide the old recovery password" : "Palun sisesta vana taastevõtme salasõna",
"Please provide a new recovery password" : "Palun sisesta uus taastevõtme salasõna",
- "Please repeat the new recovery password" : "Palun korda uut taastevõtme parooli",
- "Password successfully changed." : "Parool edukalt vahetatud.",
- "Could not change the password. Maybe the old password was not correct." : "Ei suutnud vahetada parooli. Võib-olla on vana parool valesti sisestatud.",
+ "Please repeat the new recovery password" : "Palun korda uut taastevõtme salasõna",
+ "Password successfully changed." : "Salasõna vahetamine õnnestus.",
+ "Could not change the password. Maybe the old password was not correct." : "Ei suutnud muuta salasõna. Võib-olla on vana salasõna valesti sisestatud.",
"Recovery Key disabled" : "Taastevõti on välja lülitatud",
"Recovery Key enabled" : "Taastevõti on sisse lülitatud",
- "Could not update the private key password." : "Ei suutnud uuendada privaatse võtme parooli.",
- "The old password was not correct, please try again." : "Vana parool polnud õige, palun proovi uuesti.",
- "The current log-in password was not correct, please try again." : "Praeguse sisselogimise parool polnud õige, palun proovi uuesti.",
- "Private key password successfully updated." : "Privaatse võtme parool edukalt uuendatud.",
+ "Could not update the private key password." : "Ei suutnud uuendada privaatvõtme salasõna.",
+ "The old password was not correct, please try again." : "Vana salasõna polnud õige, palun proovi uuesti.",
+ "The current log-in password was not correct, please try again." : "Sisselogimise senine salasõna polnud õige, palun proovi uuesti.",
+ "Private key password successfully updated." : "Privaatvõtme salasõna uuendamine õnnestus.",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Krüptimisrakenduse vigane privaatvõti. Taastamaks ligipääsu krüptitud failidele palun uuenda oma isiklikest seadistustest privaatvõtme salasõna.",
"Bad Signature" : "Vigane allkiri",
"Missing Signature" : "Allkiri puudub",
+ "one-time password for server-side-encryption" : "ühekordne salasõna serveripoolse krüptimise jaoks",
"Encryption password" : "Krüptimise salasõna",
"The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "Serveri peakasutaja lülitas sisse serveripoolse krüptimise. Sinu failid on krüptitud salasõnaga <strong>%s</strong>.",
"The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "Serveri peakasutaja lülitas sisse serveripoolse krüptimise. Sinu failid on krüptitud salasõnaga „%s“.",
+ "Default encryption module" : "Vaikimisi krüptimismoodul",
+ "Default encryption module for server-side encryption" : "Vaikimisi krüptimismoodul serveripoolse krüptimise jaoks",
+ "Encrypt the home storage" : "Krüpti ka sisemine andmeruum",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Selle valiku kasutamisel krüptitakse failid sisemises ja välises andmeruumis. Vastasel juhul vaid välises andmeruumis.",
"Enable recovery key" : "Luba taastevõtme kasutamine",
"Disable recovery key" : "Keela taastevõtme kasutamine",
- "Recovery key password" : "Taastevõtme parool",
- "Repeat recovery key password" : "Korda taastevõtme parooli",
- "Change recovery key password:" : "Muuda taastevõtme parooli:",
- "Old recovery key password" : "Vana taastevõtme parool",
- "New recovery key password" : "Uus taastevõtme parool",
- "Repeat new recovery key password" : "Korda uut taastevõtme parooli",
- "Change Password" : "Muuda parooli",
- "Your private key password no longer matches your log-in password." : "Sinu provaatvõtme parool ei kattu enam sinu sisselogimise parooliga.",
- "Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme parooliks oma praegune sisselogimise parool.",
- "Old log-in password" : "Vana sisselogimise parool",
- "Current log-in password" : "Praegune sisselogimise parool",
- "Update Private Key Password" : "Uuenda privaatse võtme parooli",
- "Enable password recovery:" : "Luba parooli taaste:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Valiku lubamine võimaldab taastada ligipääsu krüpteeritud failidele kui parooli kaotuse puhul",
+ "The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten." : "Taastevõti on täiendav krüptovõti, mida kasutatakse failide krüptimisel. Kui peaksid põhilise salasõna unustama, siis saad seda failide taastamisel kasutada. Salvesta ta turvaliselt digitaalsesse salasõnalaekasse või vana kooli seifi.",
+ "Recovery key password" : "Taastevõtme salasõna",
+ "Repeat recovery key password" : "Korda taastevõtme salasõna",
+ "Change recovery key password:" : "Muuda taastevõtme salasõna:",
+ "Old recovery key password" : "Vana taastevõtme salasõna",
+ "New recovery key password" : "Uus taastevõtme salasõna",
+ "Repeat new recovery key password" : "Korda uut taastevõtme salasõna",
+ "Change Password" : "Muuda salasõna",
+ "Basic encryption module" : "Lihtkrüptimise moodul",
+ "Your private key password no longer matches your log-in password." : "Sinu privaatvõtme salasõna ei kattu enam sinu sisselogimise salasõna.",
+ "Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme salasõnaks oma praegune sisselogimise salasõna.",
+ "If you do not remember your old password you can ask your administrator to recover your files." : "Kui sa ei mäleta oma vana salasõna, siis palu oma süsteemihalduril taastada ligipääs failidele.",
+ "Old log-in password" : "Sisselogimise vana salasõna",
+ "Current log-in password" : "Sisselogimise praegune salasõna",
+ "Update Private Key Password" : "Uuenda privaatvõtme salasõna",
+ "Enable password recovery:" : "Luba salasõna taastamine:",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Valiku lubamine võimaldab salasõna kaotamise korral taastada ligipääsu krüptitud failidele",
"Enabled" : "Sisse lülitatud",
"Disabled" : "Välja lülitatud"
},
diff --git a/apps/encryption/l10n/et_EE.json b/apps/encryption/l10n/et_EE.json
index 1f1cad621d0..bd7a9d32858 100644
--- a/apps/encryption/l10n/et_EE.json
+++ b/apps/encryption/l10n/et_EE.json
@@ -1,44 +1,53 @@
{ "translations": {
- "Missing recovery key password" : "Muuda taastevõtme parool",
- "Please repeat the recovery key password" : "Palun korda uut taastevõtme parooli",
- "Repeated recovery key password does not match the provided recovery key password" : "Lahtritesse sisestatud taastevõtme paroolid ei kattu",
+ "Missing recovery key password" : "Muuda taastevõtme salasõna",
+ "Please repeat the recovery key password" : "Palun korda uut taastevõtme salasõna",
+ "Repeated recovery key password does not match the provided recovery key password" : "Sisestatud taastevõtme salasõna ei kattu",
"Recovery key successfully enabled" : "Taastevõtme lubamine õnnestus",
- "Could not enable recovery key. Please check your recovery key password!" : "Ei suutnud lubada taastevõtit. Palun kontrolli oma taastevõtme parooli!",
+ "Could not enable recovery key. Please check your recovery key password!" : "Ei suutnud taastevõtit kasutusele võtta. Palun kontrolli oma taastevõtme salasõna!",
"Recovery key successfully disabled" : "Taastevõtme keelamine õnnestus",
- "Could not disable recovery key. Please check your recovery key password!" : "Ei suuda keelata taastevõtit. Palun kontrolli oma taastevõtme parooli!",
+ "Could not disable recovery key. Please check your recovery key password!" : "Ei suutnud taastevõtme kasutamist lõpetada. Palun kontrolli oma taastevõtme salasõna!",
"Missing parameters" : "Parameetrid puuduvad",
"Please provide the old recovery password" : "Palun sisesta vana taastevõtme salasõna",
"Please provide a new recovery password" : "Palun sisesta uus taastevõtme salasõna",
- "Please repeat the new recovery password" : "Palun korda uut taastevõtme parooli",
- "Password successfully changed." : "Parool edukalt vahetatud.",
- "Could not change the password. Maybe the old password was not correct." : "Ei suutnud vahetada parooli. Võib-olla on vana parool valesti sisestatud.",
+ "Please repeat the new recovery password" : "Palun korda uut taastevõtme salasõna",
+ "Password successfully changed." : "Salasõna vahetamine õnnestus.",
+ "Could not change the password. Maybe the old password was not correct." : "Ei suutnud muuta salasõna. Võib-olla on vana salasõna valesti sisestatud.",
"Recovery Key disabled" : "Taastevõti on välja lülitatud",
"Recovery Key enabled" : "Taastevõti on sisse lülitatud",
- "Could not update the private key password." : "Ei suutnud uuendada privaatse võtme parooli.",
- "The old password was not correct, please try again." : "Vana parool polnud õige, palun proovi uuesti.",
- "The current log-in password was not correct, please try again." : "Praeguse sisselogimise parool polnud õige, palun proovi uuesti.",
- "Private key password successfully updated." : "Privaatse võtme parool edukalt uuendatud.",
+ "Could not update the private key password." : "Ei suutnud uuendada privaatvõtme salasõna.",
+ "The old password was not correct, please try again." : "Vana salasõna polnud õige, palun proovi uuesti.",
+ "The current log-in password was not correct, please try again." : "Sisselogimise senine salasõna polnud õige, palun proovi uuesti.",
+ "Private key password successfully updated." : "Privaatvõtme salasõna uuendamine õnnestus.",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Krüptimisrakenduse vigane privaatvõti. Taastamaks ligipääsu krüptitud failidele palun uuenda oma isiklikest seadistustest privaatvõtme salasõna.",
"Bad Signature" : "Vigane allkiri",
"Missing Signature" : "Allkiri puudub",
+ "one-time password for server-side-encryption" : "ühekordne salasõna serveripoolse krüptimise jaoks",
"Encryption password" : "Krüptimise salasõna",
"The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>." : "Serveri peakasutaja lülitas sisse serveripoolse krüptimise. Sinu failid on krüptitud salasõnaga <strong>%s</strong>.",
"The administration enabled server-side-encryption. Your files were encrypted using the password \"%s\"." : "Serveri peakasutaja lülitas sisse serveripoolse krüptimise. Sinu failid on krüptitud salasõnaga „%s“.",
+ "Default encryption module" : "Vaikimisi krüptimismoodul",
+ "Default encryption module for server-side encryption" : "Vaikimisi krüptimismoodul serveripoolse krüptimise jaoks",
+ "Encrypt the home storage" : "Krüpti ka sisemine andmeruum",
+ "Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Selle valiku kasutamisel krüptitakse failid sisemises ja välises andmeruumis. Vastasel juhul vaid välises andmeruumis.",
"Enable recovery key" : "Luba taastevõtme kasutamine",
"Disable recovery key" : "Keela taastevõtme kasutamine",
- "Recovery key password" : "Taastevõtme parool",
- "Repeat recovery key password" : "Korda taastevõtme parooli",
- "Change recovery key password:" : "Muuda taastevõtme parooli:",
- "Old recovery key password" : "Vana taastevõtme parool",
- "New recovery key password" : "Uus taastevõtme parool",
- "Repeat new recovery key password" : "Korda uut taastevõtme parooli",
- "Change Password" : "Muuda parooli",
- "Your private key password no longer matches your log-in password." : "Sinu provaatvõtme parool ei kattu enam sinu sisselogimise parooliga.",
- "Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme parooliks oma praegune sisselogimise parool.",
- "Old log-in password" : "Vana sisselogimise parool",
- "Current log-in password" : "Praegune sisselogimise parool",
- "Update Private Key Password" : "Uuenda privaatse võtme parooli",
- "Enable password recovery:" : "Luba parooli taaste:",
- "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Valiku lubamine võimaldab taastada ligipääsu krüpteeritud failidele kui parooli kaotuse puhul",
+ "The recovery key is an additional encryption key used to encrypt files. It is used to recover files from an account if the password is forgotten." : "Taastevõti on täiendav krüptovõti, mida kasutatakse failide krüptimisel. Kui peaksid põhilise salasõna unustama, siis saad seda failide taastamisel kasutada. Salvesta ta turvaliselt digitaalsesse salasõnalaekasse või vana kooli seifi.",
+ "Recovery key password" : "Taastevõtme salasõna",
+ "Repeat recovery key password" : "Korda taastevõtme salasõna",
+ "Change recovery key password:" : "Muuda taastevõtme salasõna:",
+ "Old recovery key password" : "Vana taastevõtme salasõna",
+ "New recovery key password" : "Uus taastevõtme salasõna",
+ "Repeat new recovery key password" : "Korda uut taastevõtme salasõna",
+ "Change Password" : "Muuda salasõna",
+ "Basic encryption module" : "Lihtkrüptimise moodul",
+ "Your private key password no longer matches your log-in password." : "Sinu privaatvõtme salasõna ei kattu enam sinu sisselogimise salasõna.",
+ "Set your old private key password to your current log-in password:" : "Pane oma vana privaatvõtme salasõnaks oma praegune sisselogimise salasõna.",
+ "If you do not remember your old password you can ask your administrator to recover your files." : "Kui sa ei mäleta oma vana salasõna, siis palu oma süsteemihalduril taastada ligipääs failidele.",
+ "Old log-in password" : "Sisselogimise vana salasõna",
+ "Current log-in password" : "Sisselogimise praegune salasõna",
+ "Update Private Key Password" : "Uuenda privaatvõtme salasõna",
+ "Enable password recovery:" : "Luba salasõna taastamine:",
+ "Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Valiku lubamine võimaldab salasõna kaotamise korral taastada ligipääsu krüptitud failidele",
"Enabled" : "Sisse lülitatud",
"Disabled" : "Välja lülitatud"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js
index 750da7bc6d5..f24147117cf 100644
--- a/apps/encryption/l10n/fr.js
+++ b/apps/encryption/l10n/fr.js
@@ -53,6 +53,7 @@ OC.L10N.register(
"Basic encryption module" : "Module de chiffrement basique",
"Your private key password no longer matches your log-in password." : "Le mot de passe de votre clé privée ne correspond plus à votre mot de passe de connexion.",
"Set your old private key password to your current log-in password:" : "Remplacez l'ancien mot de passe de votre clé privée par votre mot de passe de connexion actuel :",
+ "If you do not remember your old password you can ask your administrator to recover your files." : "Si vous ne vous souvenez pas de votre ancien mot de passe, vous pouvez demander à votre administrateur de récupérer vos fichiers.",
"Old log-in password" : "Ancien mot de passe de connexion",
"Current log-in password" : "Actuel mot de passe de connexion",
"Update Private Key Password" : "Mettre à jour le mot de passe de votre clé privée",
diff --git a/apps/encryption/l10n/fr.json b/apps/encryption/l10n/fr.json
index fa8d0349d01..99936241dd5 100644
--- a/apps/encryption/l10n/fr.json
+++ b/apps/encryption/l10n/fr.json
@@ -51,6 +51,7 @@
"Basic encryption module" : "Module de chiffrement basique",
"Your private key password no longer matches your log-in password." : "Le mot de passe de votre clé privée ne correspond plus à votre mot de passe de connexion.",
"Set your old private key password to your current log-in password:" : "Remplacez l'ancien mot de passe de votre clé privée par votre mot de passe de connexion actuel :",
+ "If you do not remember your old password you can ask your administrator to recover your files." : "Si vous ne vous souvenez pas de votre ancien mot de passe, vous pouvez demander à votre administrateur de récupérer vos fichiers.",
"Old log-in password" : "Ancien mot de passe de connexion",
"Current log-in password" : "Actuel mot de passe de connexion",
"Update Private Key Password" : "Mettre à jour le mot de passe de votre clé privée",
diff --git a/apps/federatedfilesharing/l10n/et_EE.js b/apps/federatedfilesharing/l10n/et_EE.js
index cc498be6c35..a8d5b5bf547 100644
--- a/apps/federatedfilesharing/l10n/et_EE.js
+++ b/apps/federatedfilesharing/l10n/et_EE.js
@@ -4,7 +4,7 @@ OC.L10N.register(
"Invalid Federated Cloud ID" : "Vigane liitpilve ID",
"Server to server sharing is not enabled on this server" : "Serveritevaheline jagamine ei ole selle pilves aktiiveeritud",
"Couldn't establish a federated share." : "Liitjagamist ei õnnestunud luua",
- "Couldn't establish a federated share, maybe the password was wrong." : "Liitjagamist ei õnnestunud luua, ehk oli parool vale.",
+ "Couldn't establish a federated share, maybe the password was wrong." : "Liitjagamist ei õnnestunud luua, vast oli salasõna vale.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Liitjagamise päring edastatud, sulle saadetakse kutse. Kontrolli oma teateid.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Liitjagamist ei saanud luua, näib, et liitmiseks mõeldud server on liiga vana (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "Sellest serverist ei ole lubatud liitrühma jagamisi saata.",
@@ -65,7 +65,7 @@ OC.L10N.register(
"Add remote share" : "Lisa kaugjagamine",
"Remote share" : "Kaugjagamine",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisada kaugjagamise {name} asukohast {owner}@{remote}?",
- "Remote share password" : "Kaugjagamise parool",
+ "Remote share password" : "Kaugjagamise salasõna",
"Incoming share could not be processed" : "Sissetulevat kausta ei saanud töödelda"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/federatedfilesharing/l10n/et_EE.json b/apps/federatedfilesharing/l10n/et_EE.json
index 81dd979414c..894a5a54dcc 100644
--- a/apps/federatedfilesharing/l10n/et_EE.json
+++ b/apps/federatedfilesharing/l10n/et_EE.json
@@ -2,7 +2,7 @@
"Invalid Federated Cloud ID" : "Vigane liitpilve ID",
"Server to server sharing is not enabled on this server" : "Serveritevaheline jagamine ei ole selle pilves aktiiveeritud",
"Couldn't establish a federated share." : "Liitjagamist ei õnnestunud luua",
- "Couldn't establish a federated share, maybe the password was wrong." : "Liitjagamist ei õnnestunud luua, ehk oli parool vale.",
+ "Couldn't establish a federated share, maybe the password was wrong." : "Liitjagamist ei õnnestunud luua, vast oli salasõna vale.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Liitjagamise päring edastatud, sulle saadetakse kutse. Kontrolli oma teateid.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Liitjagamist ei saanud luua, näib, et liitmiseks mõeldud server on liiga vana (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "Sellest serverist ei ole lubatud liitrühma jagamisi saata.",
@@ -63,7 +63,7 @@
"Add remote share" : "Lisa kaugjagamine",
"Remote share" : "Kaugjagamine",
"Do you want to add the remote share {name} from {owner}@{remote}?" : "Soovid lisada kaugjagamise {name} asukohast {owner}@{remote}?",
- "Remote share password" : "Kaugjagamise parool",
+ "Remote share password" : "Kaugjagamise salasõna",
"Incoming share could not be processed" : "Sissetulevat kausta ei saanud töödelda"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/l10n/fr.js b/apps/federatedfilesharing/l10n/fr.js
index 9e91a6bea23..42216ddd46b 100644
--- a/apps/federatedfilesharing/l10n/fr.js
+++ b/apps/federatedfilesharing/l10n/fr.js
@@ -23,14 +23,23 @@ OC.L10N.register(
"Sharing" : "Partage",
"Federated file sharing" : "Partage de fichiers fédéré",
"Provide federated file sharing across servers" : "Fourni un partage de fichiers fédéré entre plusieurs serveurs",
+ "Confirm data upload to lookup server" : "Confirmer le téléversement des données sur le serveur de recherche",
+ "When enabled, all account properties (e.g. email address) with scope visibility set to \"published\", will be automatically synced and transmitted to an external system and made available in a public, global address book." : "Lorsque cette option est activée, toutes les propriétés du compte (par exemple, l'adresse e-mail) dont la visibilité est définie sur \"published\" seront automatiquement synchronisées et transmises à un système externe et mises à disposition dans un carnet d'adresses public et global.",
"Disable upload" : "Désactiver le téléchargement",
+ "Enable data upload" : "Activer l'envoi de données",
+ "Confirm querying lookup server" : "Confirmer l'interrogation du serveur de recherche",
+ "When enabled, the search input when creating shares will be sent to an external system that provides a public and global address book." : "Lorsque cette option est activée, la saisie de recherche lors de la création de partages sera envoyée à un système externe qui fournit un carnet d'adresses public et global.",
+ "This is used to retrieve the federated cloud ID to make federated sharing easier." : "Ceci est utilisé pour récupérer l'ID du cloud fédéré afin de faciliter le partage fédéré.",
"Moreover, email addresses of users might be sent to that system in order to verify them." : "De plus, les adresses mail des utilisateurs peuvent être envoyées à ce système pour les vérifier.",
+ "Disable querying" : "Désactiver le requêtage",
+ "Enable querying" : "Activer le requêtage",
"Unable to update federated files sharing config" : "Impossible de mettre à jour la configuration du partage fédéré de fichiers ",
"Adjust how people can share between servers. This includes shares between people on this server as well if they are using federated sharing." : "Configurer comment les utilisateurs peuvent faire des partages entre serveurs. Cela inclut aussi les partages entre personnes de ce serveur s'ils utilisent des partages fédérés.",
"Allow people on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Autoriser les personnes de ce serveur à envoyer des partages vers d'autres serveurs (cette option permet aussi l'accès WebDAV aux partages publics)",
"Allow people on this server to receive shares from other servers" : "Autoriser les personnes de ce serveur à recevoir des partages d'autres serveurs",
"Allow people on this server to send shares to groups on other servers" : "Autoriser les personnes de ce serveur à envoyer des partages à des groupes sur d'autres serveurs",
"Allow people on this server to receive group shares from other servers" : "Autoriser les personnes de ce serveur à recevoir des partages de groupe d'autres serveurs",
+ "The lookup server is only available for global scale." : "Le serveur de recherche n'est disponible que globalement.",
"Search global and public address book for people" : "Rechercher dans le carnet d'adresses global et public pour les personnes",
"Allow people to publish their data to a global and public address book" : "Autoriser les personnes à publier leurs données dans un carnet d'adresses global et public",
"Trusted federation" : "Fédération de confiance",
diff --git a/apps/federatedfilesharing/l10n/fr.json b/apps/federatedfilesharing/l10n/fr.json
index d0264f7568f..59f3d6c6123 100644
--- a/apps/federatedfilesharing/l10n/fr.json
+++ b/apps/federatedfilesharing/l10n/fr.json
@@ -21,14 +21,23 @@
"Sharing" : "Partage",
"Federated file sharing" : "Partage de fichiers fédéré",
"Provide federated file sharing across servers" : "Fourni un partage de fichiers fédéré entre plusieurs serveurs",
+ "Confirm data upload to lookup server" : "Confirmer le téléversement des données sur le serveur de recherche",
+ "When enabled, all account properties (e.g. email address) with scope visibility set to \"published\", will be automatically synced and transmitted to an external system and made available in a public, global address book." : "Lorsque cette option est activée, toutes les propriétés du compte (par exemple, l'adresse e-mail) dont la visibilité est définie sur \"published\" seront automatiquement synchronisées et transmises à un système externe et mises à disposition dans un carnet d'adresses public et global.",
"Disable upload" : "Désactiver le téléchargement",
+ "Enable data upload" : "Activer l'envoi de données",
+ "Confirm querying lookup server" : "Confirmer l'interrogation du serveur de recherche",
+ "When enabled, the search input when creating shares will be sent to an external system that provides a public and global address book." : "Lorsque cette option est activée, la saisie de recherche lors de la création de partages sera envoyée à un système externe qui fournit un carnet d'adresses public et global.",
+ "This is used to retrieve the federated cloud ID to make federated sharing easier." : "Ceci est utilisé pour récupérer l'ID du cloud fédéré afin de faciliter le partage fédéré.",
"Moreover, email addresses of users might be sent to that system in order to verify them." : "De plus, les adresses mail des utilisateurs peuvent être envoyées à ce système pour les vérifier.",
+ "Disable querying" : "Désactiver le requêtage",
+ "Enable querying" : "Activer le requêtage",
"Unable to update federated files sharing config" : "Impossible de mettre à jour la configuration du partage fédéré de fichiers ",
"Adjust how people can share between servers. This includes shares between people on this server as well if they are using federated sharing." : "Configurer comment les utilisateurs peuvent faire des partages entre serveurs. Cela inclut aussi les partages entre personnes de ce serveur s'ils utilisent des partages fédérés.",
"Allow people on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Autoriser les personnes de ce serveur à envoyer des partages vers d'autres serveurs (cette option permet aussi l'accès WebDAV aux partages publics)",
"Allow people on this server to receive shares from other servers" : "Autoriser les personnes de ce serveur à recevoir des partages d'autres serveurs",
"Allow people on this server to send shares to groups on other servers" : "Autoriser les personnes de ce serveur à envoyer des partages à des groupes sur d'autres serveurs",
"Allow people on this server to receive group shares from other servers" : "Autoriser les personnes de ce serveur à recevoir des partages de groupe d'autres serveurs",
+ "The lookup server is only available for global scale." : "Le serveur de recherche n'est disponible que globalement.",
"Search global and public address book for people" : "Rechercher dans le carnet d'adresses global et public pour les personnes",
"Allow people to publish their data to a global and public address book" : "Autoriser les personnes à publier leurs données dans un carnet d'adresses global et public",
"Trusted federation" : "Fédération de confiance",
diff --git a/apps/federatedfilesharing/l10n/nl.js b/apps/federatedfilesharing/l10n/nl.js
index f90030b326b..8520f227f8b 100644
--- a/apps/federatedfilesharing/l10n/nl.js
+++ b/apps/federatedfilesharing/l10n/nl.js
@@ -8,6 +8,7 @@ OC.L10N.register(
"Federated Share request sent, you will receive an invitation. Check your notifications." : "De gefedereerde share aanvraag is verzonden, je ontvangt een uitnodiging. Controleer je meldingen.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Kon geen gefedereerde share tot stand brengen, waarschijnlijk was de federatieserver te oud (Nextcloud <=9).",
"It is not allowed to send federated group shares from this server." : "Het is niet toegestaan om gefedereerde groepsshares vanaf deze server te versturen.",
+ "Sharing %1$s failed, because this item is already shared with the account %2$s" : "Het delen van%1$s is mislukt, omdat dit item al gedeeld wordt met het account %2$s",
"Federated shares require read permissions" : "Gefedereerde shares vereisen leesmachtiging",
"File is already shared with %s" : "Bestand is al gedeeld met %s",
"Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Delen van %1$s mislukt, kon %2$s niet vinden, misschien is de server niet bereikbaar of je gebruikt een zelf-ondertekend certificaat.",
diff --git a/apps/federatedfilesharing/l10n/nl.json b/apps/federatedfilesharing/l10n/nl.json
index 81ca52a4451..29a5ed17ff4 100644
--- a/apps/federatedfilesharing/l10n/nl.json
+++ b/apps/federatedfilesharing/l10n/nl.json
@@ -6,6 +6,7 @@
"Federated Share request sent, you will receive an invitation. Check your notifications." : "De gefedereerde share aanvraag is verzonden, je ontvangt een uitnodiging. Controleer je meldingen.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Kon geen gefedereerde share tot stand brengen, waarschijnlijk was de federatieserver te oud (Nextcloud <=9).",
"It is not allowed to send federated group shares from this server." : "Het is niet toegestaan om gefedereerde groepsshares vanaf deze server te versturen.",
+ "Sharing %1$s failed, because this item is already shared with the account %2$s" : "Het delen van%1$s is mislukt, omdat dit item al gedeeld wordt met het account %2$s",
"Federated shares require read permissions" : "Gefedereerde shares vereisen leesmachtiging",
"File is already shared with %s" : "Bestand is al gedeeld met %s",
"Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Delen van %1$s mislukt, kon %2$s niet vinden, misschien is de server niet bereikbaar of je gebruikt een zelf-ondertekend certificaat.",
diff --git a/apps/federation/l10n/nl.js b/apps/federation/l10n/nl.js
index 64863ef1f96..4633804db82 100644
--- a/apps/federation/l10n/nl.js
+++ b/apps/federation/l10n/nl.js
@@ -2,13 +2,18 @@ OC.L10N.register(
"federation",
{
"Added to the list of trusted servers" : "Toegevoegd aan de lijst met vertrouwde servers",
+ "No server found with ID: %s" : "Geen server gevonden met ID: %s",
+ "Could not remove server" : "Kon server niet verwijderen",
"Server is already in the list of trusted servers." : "Server bestaat reeds in de lijst van vertrouwde servers.",
"No server to federate with found" : "Geen server gevonden om mee te federeren",
"Could not add server" : "Kon server niet toevoegen",
"Trusted servers" : "Vertrouwde servers",
"Federation" : "Federatie",
+ "Federation allows you to connect with other trusted servers to exchange the account directory." : "Met Federatie kun je verbinding maken met andere vertrouwde servers om de accountmap uit te wisselen.",
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federatie stelt je in staat om verbinding te maken met andere vertrouwde servers om de accountdirectory uit te wisselen. Dit zal bijvoorbeeld worden gebruikt om externe accounts automatisch aan te vullen voor gefedereerd delen.",
+ "External documentation for Federated Cloud Sharing" : "Externe documentatie voor Federated Cloud Sharing",
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federatie stelt je in staat om verbinding te maken met andere vertrouwde servers om de accountdirectory uit te wisselen. Dit zal bijvoorbeeld worden gebruikt om externe accounts automatisch aan te vullen voor gefedereerd delen. Het is niet nodig om een server als vertrouwde server toe te voegen om een gefedereerde share te maken.",
+ "Each server must validate the other. This process may require a few cron cycles." : "Elke server moet de andere valideren. Dit proces kan enkele croncycli duren.",
"+ Add trusted server" : "+ Toevoegen vertrouwde server",
"Trusted server" : "Vertrouwde server",
"Add" : "Toevoegen"
diff --git a/apps/federation/l10n/nl.json b/apps/federation/l10n/nl.json
index 15bda45cc49..e217a0b03d3 100644
--- a/apps/federation/l10n/nl.json
+++ b/apps/federation/l10n/nl.json
@@ -1,12 +1,17 @@
{ "translations": {
"Added to the list of trusted servers" : "Toegevoegd aan de lijst met vertrouwde servers",
+ "No server found with ID: %s" : "Geen server gevonden met ID: %s",
+ "Could not remove server" : "Kon server niet verwijderen",
"Server is already in the list of trusted servers." : "Server bestaat reeds in de lijst van vertrouwde servers.",
"No server to federate with found" : "Geen server gevonden om mee te federeren",
"Could not add server" : "Kon server niet toevoegen",
"Trusted servers" : "Vertrouwde servers",
"Federation" : "Federatie",
+ "Federation allows you to connect with other trusted servers to exchange the account directory." : "Met Federatie kun je verbinding maken met andere vertrouwde servers om de accountmap uit te wisselen.",
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing." : "Federatie stelt je in staat om verbinding te maken met andere vertrouwde servers om de accountdirectory uit te wisselen. Dit zal bijvoorbeeld worden gebruikt om externe accounts automatisch aan te vullen voor gefedereerd delen.",
+ "External documentation for Federated Cloud Sharing" : "Externe documentatie voor Federated Cloud Sharing",
"Federation allows you to connect with other trusted servers to exchange the account directory. For example this will be used to auto-complete external accounts for federated sharing. It is not necessary to add a server as trusted server in order to create a federated share." : "Federatie stelt je in staat om verbinding te maken met andere vertrouwde servers om de accountdirectory uit te wisselen. Dit zal bijvoorbeeld worden gebruikt om externe accounts automatisch aan te vullen voor gefedereerd delen. Het is niet nodig om een server als vertrouwde server toe te voegen om een gefedereerde share te maken.",
+ "Each server must validate the other. This process may require a few cron cycles." : "Elke server moet de andere valideren. Dit proces kan enkele croncycli duren.",
"+ Add trusted server" : "+ Toevoegen vertrouwde server",
"Trusted server" : "Vertrouwde server",
"Add" : "Toevoegen"
diff --git a/apps/files/l10n/ar.js b/apps/files/l10n/ar.js
index bbf83d997a4..9e07d6834d5 100644
--- a/apps/files/l10n/ar.js
+++ b/apps/files/l10n/ar.js
@@ -120,7 +120,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "ترويسات الأعمدة ذات الأزرار قابلة للترتيب.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "لم يتم عرض هذه القائمة بالكامل لأسباب تتعلق بالأداء. سيتم عرض الملفات تباعاً أثناء التنقل عبر القائمة.",
"File not found" : "تعذر العثور على الملف",
- "{count} selected" : "{count} تم تحديده",
+ "_{count} selected_::_{count} selected_" : ["{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده"],
"{usedQuotaByte} used" : "{usedQuotaByte} مستخدمة",
"{used} of {quota} used" : "{used} من {quota} مستخدم",
"{relative}% used" : "{relative}% مستخدمة",
@@ -396,9 +396,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "تم نسخ {origin} داخل {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}\", لأنه لم يعد موجود",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "الاسم \"{targetName}\" مستخدم من قبل في المجلد \"{dir}\". الرجاء اختيار اسم اخر.",
- "Could not rename \"{fileName}\"" : "إعادة تسمية الملف \"{fileName}\" لم تنجح",
+ "Could not rename \"{oldName}\", it does not exist any more" : "تعذر إعادة تسمية \"{oldName}\"، لم يعد موجودًا",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "الاسم \"{newName}\" مستعمل سلفاً في المجلد\"{dir}\". إختر اسماً آخر رجاءً.",
+ "Could not rename \"{oldName}\"" : "تعذرت إعادة تسمية \"{oldName}\"",
"Could not create file \"{file}\"" : "لا يمكن إنشاء الملف\"{file}\"",
"Could not create file \"{file}\" because it already exists" : "فشل إنشاء الملف \"{file}\" فهو موجود بالفعل",
"Could not create folder \"{dir}\" because it already exists" : "فشل إنشاء المجلد \"{dir}\" فهو موجود بالفعل",
diff --git a/apps/files/l10n/ar.json b/apps/files/l10n/ar.json
index ba86b8a249b..7f6d05e9ecc 100644
--- a/apps/files/l10n/ar.json
+++ b/apps/files/l10n/ar.json
@@ -118,7 +118,7 @@
"Column headers with buttons are sortable." : "ترويسات الأعمدة ذات الأزرار قابلة للترتيب.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "لم يتم عرض هذه القائمة بالكامل لأسباب تتعلق بالأداء. سيتم عرض الملفات تباعاً أثناء التنقل عبر القائمة.",
"File not found" : "تعذر العثور على الملف",
- "{count} selected" : "{count} تم تحديده",
+ "_{count} selected_::_{count} selected_" : ["{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده","{count} تمّ تحديده"],
"{usedQuotaByte} used" : "{usedQuotaByte} مستخدمة",
"{used} of {quota} used" : "{used} من {quota} مستخدم",
"{relative}% used" : "{relative}% مستخدمة",
@@ -394,9 +394,9 @@
"Copied {origin} inside {destination}" : "تم نسخ {origin} داخل {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}\", لأنه لم يعد موجود",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "الاسم \"{targetName}\" مستخدم من قبل في المجلد \"{dir}\". الرجاء اختيار اسم اخر.",
- "Could not rename \"{fileName}\"" : "إعادة تسمية الملف \"{fileName}\" لم تنجح",
+ "Could not rename \"{oldName}\", it does not exist any more" : "تعذر إعادة تسمية \"{oldName}\"، لم يعد موجودًا",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "الاسم \"{newName}\" مستعمل سلفاً في المجلد\"{dir}\". إختر اسماً آخر رجاءً.",
+ "Could not rename \"{oldName}\"" : "تعذرت إعادة تسمية \"{oldName}\"",
"Could not create file \"{file}\"" : "لا يمكن إنشاء الملف\"{file}\"",
"Could not create file \"{file}\" because it already exists" : "فشل إنشاء الملف \"{file}\" فهو موجود بالفعل",
"Could not create folder \"{dir}\" because it already exists" : "فشل إنشاء المجلد \"{dir}\" فهو موجود بالفعل",
diff --git a/apps/files/l10n/ast.js b/apps/files/l10n/ast.js
index d9bdbf9b621..0c2b59275d9 100644
--- a/apps/files/l10n/ast.js
+++ b/apps/files/l10n/ast.js
@@ -90,7 +90,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Les testeres de les columnes con botones puen ordenase.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta llista nun ta completa por motivos de rindimientu. Los ficheros van apaecer a midida que navegues pela llista.",
"File not found" : "Nun s'atopó'l ficheru",
- "{count} selected" : "{count} na seleición",
"{usedQuotaByte} used" : "{usedQuotaByte} n'usu",
"{used} of {quota} used" : "{used} de {quota} n'usu",
"{relative}% used" : "{relative}% n'usu",
@@ -289,9 +288,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copióse «{origin}» dientro de: {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copióse «{origin}» y {nbfiles} ficheros más dientro de: {destination}",
"{newName} already exists" : "«{newName}» xá esiste",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nun se pudo nomar «{fileName}». Yá nun esiste",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{targetName}» yá ta n'usu pola carpeta «{dir}». Escueyi otru nome.",
- "Could not rename \"{fileName}\"" : "Nun se pudo renomar «{fileName}»",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nun se pue renomar «{oldName}». Yá nun esiste",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{newName}» yá ta n'usu na carpeta «{dir}». Escueyi otru nome.",
+ "Could not rename \"{oldName}\"" : "Nun se pudo renomar «{oldName}»",
"Could not create file \"{file}\"" : "Nun se pudo crear el ficheru «{file}»",
"Could not create file \"{file}\" because it already exists" : "Nun se pudo crear el ficheru «{file}» porque yá esiste",
"Could not create folder \"{dir}\" because it already exists" : "Nun se pudo crear la carpeta «{dir}» porque yá esiste",
diff --git a/apps/files/l10n/ast.json b/apps/files/l10n/ast.json
index 3ccfed40a0c..1760951a205 100644
--- a/apps/files/l10n/ast.json
+++ b/apps/files/l10n/ast.json
@@ -88,7 +88,6 @@
"Column headers with buttons are sortable." : "Les testeres de les columnes con botones puen ordenase.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta llista nun ta completa por motivos de rindimientu. Los ficheros van apaecer a midida que navegues pela llista.",
"File not found" : "Nun s'atopó'l ficheru",
- "{count} selected" : "{count} na seleición",
"{usedQuotaByte} used" : "{usedQuotaByte} n'usu",
"{used} of {quota} used" : "{used} de {quota} n'usu",
"{relative}% used" : "{relative}% n'usu",
@@ -287,9 +286,9 @@
"Copied {origin} inside {destination}" : "Copióse «{origin}» dientro de: {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copióse «{origin}» y {nbfiles} ficheros más dientro de: {destination}",
"{newName} already exists" : "«{newName}» xá esiste",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nun se pudo nomar «{fileName}». Yá nun esiste",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{targetName}» yá ta n'usu pola carpeta «{dir}». Escueyi otru nome.",
- "Could not rename \"{fileName}\"" : "Nun se pudo renomar «{fileName}»",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nun se pue renomar «{oldName}». Yá nun esiste",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nome «{newName}» yá ta n'usu na carpeta «{dir}». Escueyi otru nome.",
+ "Could not rename \"{oldName}\"" : "Nun se pudo renomar «{oldName}»",
"Could not create file \"{file}\"" : "Nun se pudo crear el ficheru «{file}»",
"Could not create file \"{file}\" because it already exists" : "Nun se pudo crear el ficheru «{file}» porque yá esiste",
"Could not create folder \"{dir}\" because it already exists" : "Nun se pudo crear la carpeta «{dir}» porque yá esiste",
diff --git a/apps/files/l10n/bg.js b/apps/files/l10n/bg.js
index 7d172b5ceba..82c74870d72 100644
--- a/apps/files/l10n/bg.js
+++ b/apps/files/l10n/bg.js
@@ -78,6 +78,7 @@ OC.L10N.register(
"\"{displayName}\" action failed" : "Действието „{displayName}“ е неуспешно",
"Actions" : "Действия",
"File not found" : "Файлът не е намерен",
+ "_{count} selected_::_{count} selected_" : ["{count} избрани","{count} избрани"],
"{usedQuotaByte} used" : "{usedQuotaByte} използвано",
"{used} of {quota} used" : "{used} от {quota} използвани",
"{relative}% used" : "{relative}% използвано",
@@ -223,9 +224,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Копирано {origin} в {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}\" не може да бъде преименуван защото не съществува",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{targetName}\" се ползва в директорията \"{dir}\". Моля, изберете друго име.",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" не може да бъде преименуван",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Файлът \"{oldName}\" не може да бъде преименуван защото не съществува",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" се ползва в директорията \"{dir}\". Моля, изберете друго име.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" не може да бъде преименуван",
"Could not create file \"{file}\"" : "Файлът \"{file}\" не може да бъде създаден",
"Could not create file \"{file}\" because it already exists" : "Файлът \"{file}\" не може да бъде създаден защото вече съществува",
"Could not create folder \"{dir}\" because it already exists" : "Папката \"{dir}\" не може да бъде създадена защото вече съществува",
diff --git a/apps/files/l10n/bg.json b/apps/files/l10n/bg.json
index eea8dc8561c..01b74100125 100644
--- a/apps/files/l10n/bg.json
+++ b/apps/files/l10n/bg.json
@@ -76,6 +76,7 @@
"\"{displayName}\" action failed" : "Действието „{displayName}“ е неуспешно",
"Actions" : "Действия",
"File not found" : "Файлът не е намерен",
+ "_{count} selected_::_{count} selected_" : ["{count} избрани","{count} избрани"],
"{usedQuotaByte} used" : "{usedQuotaByte} използвано",
"{used} of {quota} used" : "{used} от {quota} използвани",
"{relative}% used" : "{relative}% използвано",
@@ -221,9 +222,9 @@
"Copied {origin} inside {destination}" : "Копирано {origin} в {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}\" не може да бъде преименуван защото не съществува",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{targetName}\" се ползва в директорията \"{dir}\". Моля, изберете друго име.",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" не може да бъде преименуван",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Файлът \"{oldName}\" не може да бъде преименуван защото не съществува",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" се ползва в директорията \"{dir}\". Моля, изберете друго име.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" не може да бъде преименуван",
"Could not create file \"{file}\"" : "Файлът \"{file}\" не може да бъде създаден",
"Could not create file \"{file}\" because it already exists" : "Файлът \"{file}\" не може да бъде създаден защото вече съществува",
"Could not create folder \"{dir}\" because it already exists" : "Папката \"{dir}\" не може да бъде създадена защото вече съществува",
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index 165d9f4db58..ab84c93e361 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -116,7 +116,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Les capçaleres de columna amb botons es poder ordenar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Aquesta llista no es mostra completament per raons de rendiment. Es mostraran els fitxers a mesura que navegueu per la llista.",
"File not found" : "No s'ha trobat el fitxer",
- "{count} selected" : "Selecció: {count}",
"{usedQuotaByte} used" : "{usedQuotaByte} en ús",
"{used} of {quota} used" : "{used} de {quota} en ús",
"{relative}% used" : "{relative}% en ús",
@@ -391,9 +390,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "S'ha copiat {origin} a {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "S'han copiat {origin} i {nbfiles} fitxers més a {destination}",
"{newName} already exists" : "{newName} ja existeix",
- "Could not rename \"{fileName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{fileName}», ja no existeix",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{targetName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.",
- "Could not rename \"{fileName}\"" : "No s'ha pogut canviar el nom de «{fileName}»",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{oldName}», ja no existeix",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{newName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.",
+ "Could not rename \"{oldName}\"" : "No s'ha pogut canviar el nom de «{oldName}»",
"Could not create file \"{file}\"" : "No s'ha pogut crear el fitxer «{file}»",
"Could not create file \"{file}\" because it already exists" : "No s'ha pogut crear el fitxer «{file}» perquè ja existeix",
"Could not create folder \"{dir}\" because it already exists" : "No s'ha pogut crear la carpeta «{dir}» perquè ja existeix",
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 785f02ffb75..9708530484e 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -114,7 +114,6 @@
"Column headers with buttons are sortable." : "Les capçaleres de columna amb botons es poder ordenar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Aquesta llista no es mostra completament per raons de rendiment. Es mostraran els fitxers a mesura que navegueu per la llista.",
"File not found" : "No s'ha trobat el fitxer",
- "{count} selected" : "Selecció: {count}",
"{usedQuotaByte} used" : "{usedQuotaByte} en ús",
"{used} of {quota} used" : "{used} de {quota} en ús",
"{relative}% used" : "{relative}% en ús",
@@ -389,9 +388,9 @@
"Copied {origin} inside {destination}" : "S'ha copiat {origin} a {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "S'han copiat {origin} i {nbfiles} fitxers més a {destination}",
"{newName} already exists" : "{newName} ja existeix",
- "Could not rename \"{fileName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{fileName}», ja no existeix",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{targetName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.",
- "Could not rename \"{fileName}\"" : "No s'ha pogut canviar el nom de «{fileName}»",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No s'ha pogut canviar el nom de «{oldName}», ja no existeix",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nom «{newName}» ja està en ús en la carpeta «{dir}». Trieu un nom diferent.",
+ "Could not rename \"{oldName}\"" : "No s'ha pogut canviar el nom de «{oldName}»",
"Could not create file \"{file}\"" : "No s'ha pogut crear el fitxer «{file}»",
"Could not create file \"{file}\" because it already exists" : "No s'ha pogut crear el fitxer «{file}» perquè ja existeix",
"Could not create folder \"{dir}\" because it already exists" : "No s'ha pogut crear la carpeta «{dir}» perquè ja existeix",
diff --git a/apps/files/l10n/cs.js b/apps/files/l10n/cs.js
index e3739719ee2..a9c2ff8201a 100644
--- a/apps/files/l10n/cs.js
+++ b/apps/files/l10n/cs.js
@@ -115,7 +115,7 @@ OC.L10N.register(
"File type" : "Typ souboru",
"Size" : "Velikost",
"\"{displayName}\" failed on some elements" : "„{displayName}“ se pro některé prvky nezdařilo",
- "\"{displayName}\" batch action executed successfully" : "hromadná akce „{displayName}“ úspěšně vykonána",
+ "\"{displayName}\" batch action executed successfully" : "Hromadná akce „{displayName}“ úspěšně vykonána",
"\"{displayName}\" action failed" : "akce „{displayName}“ se nezdařila",
"Actions" : "Akce",
"(selected)" : "(vybráno)",
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Podle těch sloupců, které mají v záhlaví tlačítko, je možné řadit.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Seznam není vykreslen celý z důvodu nároků na výkon. Soubory budou dokreslovány, jak se budete posouvat seznamem.",
"File not found" : "Soubor nenalezen",
- "{count} selected" : "vybráno {count}",
+ "_{count} selected_::_{count} selected_" : ["vybráno {count}","vybráno {count}","vybráno {count}","vybráno {count}"],
"{usedQuotaByte} used" : "{usedQuotaByte} využito",
"{used} of {quota} used" : "Využito {used} z {quota} ",
"{relative}% used" : "{relative}% využito",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} zkopírován do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} a {nbfiles} dalších souborů zkopírováno do {destination}",
"{newName} already exists" : "{newName} už existuje",
- "Could not rename \"{fileName}\", it does not exist any more" : "„{fileName}“ nelze přejmenovat – už neexistuje",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{targetName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
- "Could not rename \"{fileName}\"" : "„{fileName}“ nelze přejmenovat",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Není možné přejmenovat „{oldName}“ – už neexistuje",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{newName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
+ "Could not rename \"{oldName}\"" : "„{oldName}“ se nepodařilo přejmenovat",
"Could not create file \"{file}\"" : "Soubor „{file}“ nelze vytvořit",
"Could not create file \"{file}\" because it already exists" : "Soubor „{file}“ nelze vytvořit, protože zde už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Složku „{dir}“ nelze vytvořit, protože už existuje",
diff --git a/apps/files/l10n/cs.json b/apps/files/l10n/cs.json
index 1f5d8646df1..af1a6a9114a 100644
--- a/apps/files/l10n/cs.json
+++ b/apps/files/l10n/cs.json
@@ -113,7 +113,7 @@
"File type" : "Typ souboru",
"Size" : "Velikost",
"\"{displayName}\" failed on some elements" : "„{displayName}“ se pro některé prvky nezdařilo",
- "\"{displayName}\" batch action executed successfully" : "hromadná akce „{displayName}“ úspěšně vykonána",
+ "\"{displayName}\" batch action executed successfully" : "Hromadná akce „{displayName}“ úspěšně vykonána",
"\"{displayName}\" action failed" : "akce „{displayName}“ se nezdařila",
"Actions" : "Akce",
"(selected)" : "(vybráno)",
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Podle těch sloupců, které mají v záhlaví tlačítko, je možné řadit.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Seznam není vykreslen celý z důvodu nároků na výkon. Soubory budou dokreslovány, jak se budete posouvat seznamem.",
"File not found" : "Soubor nenalezen",
- "{count} selected" : "vybráno {count}",
+ "_{count} selected_::_{count} selected_" : ["vybráno {count}","vybráno {count}","vybráno {count}","vybráno {count}"],
"{usedQuotaByte} used" : "{usedQuotaByte} využito",
"{used} of {quota} used" : "Využito {used} z {quota} ",
"{relative}% used" : "{relative}% využito",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "{origin} zkopírován do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} a {nbfiles} dalších souborů zkopírováno do {destination}",
"{newName} already exists" : "{newName} už existuje",
- "Could not rename \"{fileName}\", it does not exist any more" : "„{fileName}“ nelze přejmenovat – už neexistuje",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{targetName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
- "Could not rename \"{fileName}\"" : "„{fileName}“ nelze přejmenovat",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Není možné přejmenovat „{oldName}“ – už neexistuje",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Název „{newName}“ je už použitý ve složce „{dir}“. Zvolte jiný název.",
+ "Could not rename \"{oldName}\"" : "„{oldName}“ se nepodařilo přejmenovat",
"Could not create file \"{file}\"" : "Soubor „{file}“ nelze vytvořit",
"Could not create file \"{file}\" because it already exists" : "Soubor „{file}“ nelze vytvořit, protože zde už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Složku „{dir}“ nelze vytvořit, protože už existuje",
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index 1bd3dad4599..100d0dfdd7e 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -116,7 +116,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Kolonneoverskrifter med knapper er sorterbare.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Hele listen er ikke hentet, af hensyn til størrelsen. Listen vil blive hentet løbende som du kører igennem listen.",
"File not found" : "Filen blev ikke fundet",
- "{count} selected" : "{count} valgt",
"{usedQuotaByte} used" : "{usedQuotaByte} brugt",
"{used} of {quota} used" : "{used} af {quota} brugt",
"{relative}% used" : "{relative}% brugt",
@@ -391,9 +390,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopirede {origin} ind i {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "kopierede {origin} og {nbfiles} andre filer ind i {destination}",
"{newName} already exists" : "{newName} eksisterer allerede",
- "Could not rename \"{fileName}\", it does not exist any more" : "Kunne ikke omdøbe \"{fileName}\", den findes ikke længere",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{targetName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.",
- "Could not rename \"{fileName}\"" : "Kunne ikke omdøbe \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøbe \"{oldName}\", da den findes ikke længere",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.",
+ "Could not rename \"{oldName}\"" : "Kunne ikke omdøbe \"{oldName}\"",
"Could not create file \"{file}\"" : "Kunne ikke oprette filen \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Kunne ikke oprette filen \"{file}\", da den allerede findes",
"Could not create folder \"{dir}\" because it already exists" : "Kunne ikke oprette mappen \"{dir}\", da den allerede findes",
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index cce400a7144..55db3bf1cb8 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -114,7 +114,6 @@
"Column headers with buttons are sortable." : "Kolonneoverskrifter med knapper er sorterbare.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Hele listen er ikke hentet, af hensyn til størrelsen. Listen vil blive hentet løbende som du kører igennem listen.",
"File not found" : "Filen blev ikke fundet",
- "{count} selected" : "{count} valgt",
"{usedQuotaByte} used" : "{usedQuotaByte} brugt",
"{used} of {quota} used" : "{used} af {quota} brugt",
"{relative}% used" : "{relative}% brugt",
@@ -389,9 +388,9 @@
"Copied {origin} inside {destination}" : "Kopirede {origin} ind i {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "kopierede {origin} og {nbfiles} andre filer ind i {destination}",
"{newName} already exists" : "{newName} eksisterer allerede",
- "Could not rename \"{fileName}\", it does not exist any more" : "Kunne ikke omdøbe \"{fileName}\", den findes ikke længere",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{targetName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.",
- "Could not rename \"{fileName}\"" : "Kunne ikke omdøbe \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøbe \"{oldName}\", da den findes ikke længere",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" bruges allerede i mappen \"{dir}\". Vælg et andet navn.",
+ "Could not rename \"{oldName}\"" : "Kunne ikke omdøbe \"{oldName}\"",
"Could not create file \"{file}\"" : "Kunne ikke oprette filen \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Kunne ikke oprette filen \"{file}\", da den allerede findes",
"Could not create folder \"{dir}\" because it already exists" : "Kunne ikke oprette mappen \"{dir}\", da den allerede findes",
diff --git a/apps/files/l10n/de.js b/apps/files/l10n/de.js
index 7d0d105072c..3fa554b2d48 100644
--- a/apps/files/l10n/de.js
+++ b/apps/files/l10n/de.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Spaltenüberschriften mit Schaltflächen sind sortierbar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Diese Liste wird aus Performance-Gründen nicht vollständig angezeigt. Die Dateien werden angezeigt, wenn du durch die Liste navigierst.",
"File not found" : "Datei nicht gefunden",
- "{count} selected" : "{count} ausgewählt",
+ "_{count} selected_::_{count} selected_" : ["{count} ausgewählt","{count} ausgewählt"],
"{usedQuotaByte} used" : "{usedQuotaByte} verwendet",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{relative}% used" : "{relative} % verwendet",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} wurde nach {destination} kopiert",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} und {nbfiles} weitere Dateien wurden nach {destination} kopiert",
"{newName} already exists" : "{newName} existiert bereits",
- "Could not rename \"{fileName}\", it does not exist any more" : "Die Datei \"{fileName}\" konnte nicht umbenannt werden, da sie nicht mehr existiert",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{targetName}\" wird bereits im Ordner \"{dir}\" benutzt. Bitte einen anderen Namen verwenden.",
- "Could not rename \"{fileName}\"" : "Die Datei konnte nicht umbenannt werden \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte wähle einen anderen Namen.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden.",
"Could not create file \"{file}\"" : "Die Datei konnte nicht erstellt werden \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Die Datei \"{file}\" konnte nicht erstellt werden, da diese bereits existiert.",
"Could not create folder \"{dir}\" because it already exists" : "Der Ordner \"{dir}\" konnte nicht erstellt werden, da dieser bereits existiert",
diff --git a/apps/files/l10n/de.json b/apps/files/l10n/de.json
index 7dca82a027c..7ee143a1112 100644
--- a/apps/files/l10n/de.json
+++ b/apps/files/l10n/de.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Spaltenüberschriften mit Schaltflächen sind sortierbar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Diese Liste wird aus Performance-Gründen nicht vollständig angezeigt. Die Dateien werden angezeigt, wenn du durch die Liste navigierst.",
"File not found" : "Datei nicht gefunden",
- "{count} selected" : "{count} ausgewählt",
+ "_{count} selected_::_{count} selected_" : ["{count} ausgewählt","{count} ausgewählt"],
"{usedQuotaByte} used" : "{usedQuotaByte} verwendet",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{relative}% used" : "{relative} % verwendet",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "{origin} wurde nach {destination} kopiert",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} und {nbfiles} weitere Dateien wurden nach {destination} kopiert",
"{newName} already exists" : "{newName} existiert bereits",
- "Could not rename \"{fileName}\", it does not exist any more" : "Die Datei \"{fileName}\" konnte nicht umbenannt werden, da sie nicht mehr existiert",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{targetName}\" wird bereits im Ordner \"{dir}\" benutzt. Bitte einen anderen Namen verwenden.",
- "Could not rename \"{fileName}\"" : "Die Datei konnte nicht umbenannt werden \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte wähle einen anderen Namen.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden.",
"Could not create file \"{file}\"" : "Die Datei konnte nicht erstellt werden \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Die Datei \"{file}\" konnte nicht erstellt werden, da diese bereits existiert.",
"Could not create folder \"{dir}\" because it already exists" : "Der Ordner \"{dir}\" konnte nicht erstellt werden, da dieser bereits existiert",
diff --git a/apps/files/l10n/de_DE.js b/apps/files/l10n/de_DE.js
index c0f58b2e1eb..2bf0ed5e0ab 100644
--- a/apps/files/l10n/de_DE.js
+++ b/apps/files/l10n/de_DE.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Spaltenüberschriften mit Schaltflächen sind sortierbar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Diese Liste ist aus Performance-Gründen nicht vollständig gerendert. Die Dateien werden gerendert, wenn Sie durch die Liste navigieren.",
"File not found" : "Datei nicht gefunden",
- "{count} selected" : "{count} ausgewählt",
+ "_{count} selected_::_{count} selected_" : ["{count} ausgewählt","{count} ausgewählt"],
"{usedQuotaByte} used" : "{usedQuotaByte} verwendet",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{relative}% used" : "{relative} % verwendet",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} wurde nach {destination} kopiert",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} und {nbfiles} weitere Dateien wurden nach {destination} kopiert",
"{newName} already exists" : "{newName} existiert bereits",
- "Could not rename \"{fileName}\", it does not exist any more" : "Die Datei \"{fileName}\" konnte nicht umbenannt werden, da sie nicht mehr existiert",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{targetName}\" wird bereits im Ordner \"{dir}\" benutzt. Bitte wählen Sie einen anderen Namen.",
- "Could not rename \"{fileName}\"" : "Die Datei konnte nicht umbenannt werden \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte einen anderen Namen wählen.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden",
"Could not create file \"{file}\"" : "Die Datei konnte nicht erstellt werden \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Die Datei \"{file}\" konnte nicht erstellt werden, da diese bereits existiert",
"Could not create folder \"{dir}\" because it already exists" : "Der Ordner \"{dir}\" konnte nicht erstellt werden, da dieser bereits existiert",
diff --git a/apps/files/l10n/de_DE.json b/apps/files/l10n/de_DE.json
index 5f3c56b5943..f8cd55e87d9 100644
--- a/apps/files/l10n/de_DE.json
+++ b/apps/files/l10n/de_DE.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Spaltenüberschriften mit Schaltflächen sind sortierbar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Diese Liste ist aus Performance-Gründen nicht vollständig gerendert. Die Dateien werden gerendert, wenn Sie durch die Liste navigieren.",
"File not found" : "Datei nicht gefunden",
- "{count} selected" : "{count} ausgewählt",
+ "_{count} selected_::_{count} selected_" : ["{count} ausgewählt","{count} ausgewählt"],
"{usedQuotaByte} used" : "{usedQuotaByte} verwendet",
"{used} of {quota} used" : "{used} von {quota} verwendet",
"{relative}% used" : "{relative} % verwendet",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "{origin} wurde nach {destination} kopiert",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} und {nbfiles} weitere Dateien wurden nach {destination} kopiert",
"{newName} already exists" : "{newName} existiert bereits",
- "Could not rename \"{fileName}\", it does not exist any more" : "Die Datei \"{fileName}\" konnte nicht umbenannt werden, da sie nicht mehr existiert",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{targetName}\" wird bereits im Ordner \"{dir}\" benutzt. Bitte wählen Sie einen anderen Namen.",
- "Could not rename \"{fileName}\"" : "Die Datei konnte nicht umbenannt werden \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" konnte nicht umbenannt werden, da es nicht mehr existiert",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Der Name \"{newName}“ wird bereits im Ordner \"{dir}“ verwendet. Bitte einen anderen Namen wählen.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" konnte nicht umbenannt werden",
"Could not create file \"{file}\"" : "Die Datei konnte nicht erstellt werden \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Die Datei \"{file}\" konnte nicht erstellt werden, da diese bereits existiert",
"Could not create folder \"{dir}\" because it already exists" : "Der Ordner \"{dir}\" konnte nicht erstellt werden, da dieser bereits existiert",
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index b80ca51fce8..ab960043c89 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -96,7 +96,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Οι επικεφαλίδες στηλών με κουμπιά είναι ταξινομήσιμες.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Η λίστα αυτή δεν εμφανίζεται πλήρως για λόγους απόδοσης. Τα αρχεία θα εμφανίζονται καθώς πλοηγείστε στη λίστα.",
"File not found" : "Δε βρέθηκε το αρχείο",
- "{count} selected" : "{count} έχουν επιλεγεί",
"{usedQuotaByte} used" : "{usedQuotaByte} χρησιμοποιείται",
"{used} of {quota} used" : "Χρήση {used} από {quota} ",
"{relative}% used" : "{relative}% χρησιμοποιείται",
@@ -295,9 +294,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Αντιγράφτηκε το {origin} στο {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}\", το αρχείο δεν υπάρχει πια.",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{targetName}\" χρησιμοποιείται ήδη στον φάκελο\"{dir}\". Παρακαλούμε διαλέξτε ένα διαφορετικό όνομα.",
- "Could not rename \"{fileName}\"" : "Αδυναμία μετονομασίας του \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\", δεν υπάρχει πλέον",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{newName}\" χρησιμοποιείται ήδη στον φάκελο \"{dir}\". Παρακαλώ επιλέξτε ένα διαφορετικό όνομα.",
+ "Could not rename \"{oldName}\"" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\"",
"Could not create file \"{file}\"" : "Αδυναμία δημιουργίας του αρχείου \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Αδυναμία δημιουργίας του αρχείου \"{file}\" επειδή υπάρχει ήδη",
"Could not create folder \"{dir}\" because it already exists" : "Αδυναμία δημιουργίας του φακέλου \"{dir}\" επειδή υπάρχει ήδη",
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index 517397b07c1..50ae6d9e865 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -94,7 +94,6 @@
"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} έχουν επιλεγεί",
"{usedQuotaByte} used" : "{usedQuotaByte} χρησιμοποιείται",
"{used} of {quota} used" : "Χρήση {used} από {quota} ",
"{relative}% used" : "{relative}% χρησιμοποιείται",
@@ -293,9 +292,9 @@
"Copied {origin} inside {destination}" : "Αντιγράφτηκε το {origin} στο {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}\", το αρχείο δεν υπάρχει πια.",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{targetName}\" χρησιμοποιείται ήδη στον φάκελο\"{dir}\". Παρακαλούμε διαλέξτε ένα διαφορετικό όνομα.",
- "Could not rename \"{fileName}\"" : "Αδυναμία μετονομασίας του \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\", δεν υπάρχει πλέον",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Το όνομα \"{newName}\" χρησιμοποιείται ήδη στον φάκελο \"{dir}\". Παρακαλώ επιλέξτε ένα διαφορετικό όνομα.",
+ "Could not rename \"{oldName}\"" : "Δεν ήταν δυνατή η μετονομασία του \"{oldName}\"",
"Could not create file \"{file}\"" : "Αδυναμία δημιουργίας του αρχείου \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Αδυναμία δημιουργίας του αρχείου \"{file}\" επειδή υπάρχει ήδη",
"Could not create folder \"{dir}\" because it already exists" : "Αδυναμία δημιουργίας του φακέλου \"{dir}\" επειδή υπάρχει ήδη",
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index 8c048258500..cfb37470566 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Column headers with buttons are sortable.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.",
"File not found" : "File not found",
- "{count} selected" : "{count} selected",
+ "_{count} selected_::_{count} selected_" : ["{count} selected","{count} selected"],
"{usedQuotaByte} used" : "{usedQuotaByte} used",
"{used} of {quota} used" : "{used} of {quota} used",
"{relative}% used" : "{relative}% used",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
"{newName} already exists" : "{newName} already exists",
- "Could not rename \"{fileName}\", it does not exist any more" : "Could not rename \"{fileName}\", it does not exist any more",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name.",
- "Could not rename \"{fileName}\"" : "Could not rename \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
+ "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"Could not create file \"{file}\"" : "Could not create file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists",
"Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists",
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index 111c36b99b0..992ca1b27e7 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -122,7 +122,7 @@
"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." : "This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.",
"File not found" : "File not found",
- "{count} selected" : "{count} selected",
+ "_{count} selected_::_{count} selected_" : ["{count} selected","{count} selected"],
"{usedQuotaByte} used" : "{usedQuotaByte} used",
"{used} of {quota} used" : "{used} of {quota} used",
"{relative}% used" : "{relative}% used",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
"{newName} already exists" : "{newName} already exists",
- "Could not rename \"{fileName}\", it does not exist any more" : "Could not rename \"{fileName}\", it does not exist any more",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name.",
- "Could not rename \"{fileName}\"" : "Could not rename \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
+ "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"Could not create file \"{file}\"" : "Could not create file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists",
"Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists",
diff --git a/apps/files/l10n/es.js b/apps/files/l10n/es.js
index 052bcaa2aa0..7ef832b7f4f 100644
--- a/apps/files/l10n/es.js
+++ b/apps/files/l10n/es.js
@@ -117,7 +117,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Las columnas con botones en la cabecera son ordenables.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista no se muestra completamente por motivos de rendimiento. Los archivos se mostrarán a medida que navega por la lista.",
"File not found" : "No se ha encontrado el archivo",
- "{count} selected" : "{count} seleccionados",
+ "_{count} selected_::_{count} selected_" : ["{count}seleccionado","{count} seleccionados","{count} seleccionados"],
"{usedQuotaByte} used" : "{usedQuotaByte} utilizados",
"{used} of {quota} used" : "{used} usados de {quota}",
"{relative}% used" : "{relative}% utilizado",
@@ -393,9 +393,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Se ha copiado {origin} dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Se han copiado {origin} y {nbfiles} otros archivos dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No se pudo renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elija un nombre diferente.",
- "Could not rename \"{fileName}\"" : "No se pudo renombrar \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se ha podido renombrar \"{oldName}\", ya no existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, escoja un nombre diferente.",
+ "Could not rename \"{oldName}\"" : "No se ha podido renombrar \"{oldName}\"",
"Could not create file \"{file}\"" : "No se pudo crear archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No se pudo crear archivo \"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No se ha podido crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es.json b/apps/files/l10n/es.json
index 3a9fa3af3e5..314dd0eddfe 100644
--- a/apps/files/l10n/es.json
+++ b/apps/files/l10n/es.json
@@ -115,7 +115,7 @@
"Column headers with buttons are sortable." : "Las columnas con botones en la cabecera son ordenables.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista no se muestra completamente por motivos de rendimiento. Los archivos se mostrarán a medida que navega por la lista.",
"File not found" : "No se ha encontrado el archivo",
- "{count} selected" : "{count} seleccionados",
+ "_{count} selected_::_{count} selected_" : ["{count}seleccionado","{count} seleccionados","{count} seleccionados"],
"{usedQuotaByte} used" : "{usedQuotaByte} utilizados",
"{used} of {quota} used" : "{used} usados de {quota}",
"{relative}% used" : "{relative}% utilizado",
@@ -391,9 +391,9 @@
"Copied {origin} inside {destination}" : "Se ha copiado {origin} dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Se han copiado {origin} y {nbfiles} otros archivos dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No se pudo renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elija un nombre diferente.",
- "Could not rename \"{fileName}\"" : "No se pudo renombrar \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se ha podido renombrar \"{oldName}\", ya no existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, escoja un nombre diferente.",
+ "Could not rename \"{oldName}\"" : "No se ha podido renombrar \"{oldName}\"",
"Could not create file \"{file}\"" : "No se pudo crear archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No se pudo crear archivo \"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No se ha podido crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es_EC.js b/apps/files/l10n/es_EC.js
index 2e937b91fae..54e4b3808cb 100644
--- a/apps/files/l10n/es_EC.js
+++ b/apps/files/l10n/es_EC.js
@@ -78,6 +78,7 @@ OC.L10N.register(
"\"{displayName}\" action failed" : "La acción \"{displayName}\" falló.",
"Actions" : "Acciones",
"List of files and folders." : "Lista de archivos y carpetas. ",
+ "_{count} selected_::_{count} selected_" : ["{count} seleccionado","{count} seleccionados","{count} seleccionado"],
"{usedQuotaByte} used" : "{usedQuotaByte} usados.",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% usados.",
@@ -212,9 +213,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo cambiar el nombre de \"{oldName}\", ya no existe.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
+ "Could not rename \"{oldName}\"" : "No se pudo cambiar el nombre de \"{oldName}\".",
"Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es_EC.json b/apps/files/l10n/es_EC.json
index ce46795a8ae..37087b249db 100644
--- a/apps/files/l10n/es_EC.json
+++ b/apps/files/l10n/es_EC.json
@@ -76,6 +76,7 @@
"\"{displayName}\" action failed" : "La acción \"{displayName}\" falló.",
"Actions" : "Acciones",
"List of files and folders." : "Lista de archivos y carpetas. ",
+ "_{count} selected_::_{count} selected_" : ["{count} seleccionado","{count} seleccionados","{count} seleccionado"],
"{usedQuotaByte} used" : "{usedQuotaByte} usados.",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% usados.",
@@ -210,9 +211,9 @@
"Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo cambiar el nombre de \"{oldName}\", ya no existe.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
+ "Could not rename \"{oldName}\"" : "No se pudo cambiar el nombre de \"{oldName}\".",
"Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es_MX.js b/apps/files/l10n/es_MX.js
index 7ad14b22bbb..5fc63ca05e7 100644
--- a/apps/files/l10n/es_MX.js
+++ b/apps/files/l10n/es_MX.js
@@ -106,7 +106,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Las columnas con botones en la cabecera son ordenables.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista no se muestra completamente por motivos de rendimiento. Los archivos se mostrarán a medida que navega por la lista.",
"File not found" : "Archivo no encontrado",
- "{count} selected" : "{count} seleccionados",
"{usedQuotaByte} used" : "{usedQuotaByte} utilizados",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% utilizado",
@@ -336,9 +335,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo renombrar \"{oldName}\", ya no existe.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, elija un nombre diferente.",
+ "Could not rename \"{oldName}\"" : "No se pudo renombrar \"{oldName}\"",
"Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/es_MX.json b/apps/files/l10n/es_MX.json
index 93aee529828..3e773543331 100644
--- a/apps/files/l10n/es_MX.json
+++ b/apps/files/l10n/es_MX.json
@@ -104,7 +104,6 @@
"Column headers with buttons are sortable." : "Las columnas con botones en la cabecera son ordenables.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista no se muestra completamente por motivos de rendimiento. Los archivos se mostrarán a medida que navega por la lista.",
"File not found" : "Archivo no encontrado",
- "{count} selected" : "{count} seleccionados",
"{usedQuotaByte} used" : "{usedQuotaByte} utilizados",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% utilizado",
@@ -334,9 +333,9 @@
"Copied {origin} inside {destination}" : "{origin} fue copiado dentro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} y otros {nbfiles} archivos fueron copiados dentro de {destination}",
"{newName} already exists" : "{newName} ya existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "No fue posible renombrar \"{fileName}\", ya no existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{targetName}\" ya está en uso en la carpeta \"{dir}\". Por favor elege un nombre diferete. ",
- "Could not rename \"{fileName}\"" : "No fue posible renombrar \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "No se pudo renombrar \"{oldName}\", ya no existe.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "El nombre \"{newName}\" ya está en uso en la carpeta \"{dir}\". Por favor, elija un nombre diferente.",
+ "Could not rename \"{oldName}\"" : "No se pudo renombrar \"{oldName}\"",
"Could not create file \"{file}\"" : "No fue posible crear el archivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No fue posible crear el archivo\"{file}\" porque ya existe",
"Could not create folder \"{dir}\" because it already exists" : "No fue posible crear la carpeta \"{dir}\" porque ya existe",
diff --git a/apps/files/l10n/et_EE.js b/apps/files/l10n/et_EE.js
index cd54b2acf33..4c224791ed2 100644
--- a/apps/files/l10n/et_EE.js
+++ b/apps/files/l10n/et_EE.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Võid kasutada nuppudega veerupäised järjestamiseks.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Jõudluse mõttes ei ole kogu loend esimesel hetkel tervikuna nähtav. Uued failid lisanduvad sedamööda, kuid sa loendis edasi liigud.",
"File not found" : "Faili ei leitud",
- "{count} selected" : "{count} valitud",
+ "_{count} selected_::_{count} selected_" : ["{count} valitud","{count} valitud"],
"{usedQuotaByte} used" : "{usedQuotaByte} kasutusel",
"{used} of {quota} used" : "{used} / {quota} kasutusel",
"{relative}% used" : "{relative}% kasutusel",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} kopeeritud kausta {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ja {nbfiles} teist faili kopeeritud kausta {destination}",
"{newName} already exists" : "{newName} on juba olemas",
- "Could not rename \"{fileName}\", it does not exist any more" : "„{fileName}“ faili nime muutmine ei õnnestunud, seda pole enam olemas",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on juba \"{dir}\" kaustas kasutusel. Palun vali teine nimi.",
- "Could not rename \"{fileName}\"" : "„{fileName}“ faili nime muutmine ei õnnestunud",
+ "Could not rename \"{oldName}\", it does not exist any more" : "„{oldName}“ faili nime muutmine ei õnnestunud, seda pole enam olemas",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "„{newName}“ nimi on juba „{dir}“ kaustas kasutusel. Palun vali teine nimi.",
+ "Could not rename \"{oldName}\"" : "„{oldName}“ faili nime muutmine ei õnnestunud",
"Could not create file \"{file}\"" : "Faili \"{file}\" loomine ebaõnnestus",
"Could not create file \"{file}\" because it already exists" : "Faili \"{file}\" loomine ebaõnnestus, sest see on juba olemas",
"Could not create folder \"{dir}\" because it already exists" : "Kausta \"{dir}\" loomine ebaõnnestus, sest see on juba olemas",
diff --git a/apps/files/l10n/et_EE.json b/apps/files/l10n/et_EE.json
index b8052a14b64..135892c0ff2 100644
--- a/apps/files/l10n/et_EE.json
+++ b/apps/files/l10n/et_EE.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Võid kasutada nuppudega veerupäised järjestamiseks.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Jõudluse mõttes ei ole kogu loend esimesel hetkel tervikuna nähtav. Uued failid lisanduvad sedamööda, kuid sa loendis edasi liigud.",
"File not found" : "Faili ei leitud",
- "{count} selected" : "{count} valitud",
+ "_{count} selected_::_{count} selected_" : ["{count} valitud","{count} valitud"],
"{usedQuotaByte} used" : "{usedQuotaByte} kasutusel",
"{used} of {quota} used" : "{used} / {quota} kasutusel",
"{relative}% used" : "{relative}% kasutusel",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "{origin} kopeeritud kausta {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ja {nbfiles} teist faili kopeeritud kausta {destination}",
"{newName} already exists" : "{newName} on juba olemas",
- "Could not rename \"{fileName}\", it does not exist any more" : "„{fileName}“ faili nime muutmine ei õnnestunud, seda pole enam olemas",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on juba \"{dir}\" kaustas kasutusel. Palun vali teine nimi.",
- "Could not rename \"{fileName}\"" : "„{fileName}“ faili nime muutmine ei õnnestunud",
+ "Could not rename \"{oldName}\", it does not exist any more" : "„{oldName}“ faili nime muutmine ei õnnestunud, seda pole enam olemas",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "„{newName}“ nimi on juba „{dir}“ kaustas kasutusel. Palun vali teine nimi.",
+ "Could not rename \"{oldName}\"" : "„{oldName}“ faili nime muutmine ei õnnestunud",
"Could not create file \"{file}\"" : "Faili \"{file}\" loomine ebaõnnestus",
"Could not create file \"{file}\" because it already exists" : "Faili \"{file}\" loomine ebaõnnestus, sest see on juba olemas",
"Could not create folder \"{dir}\" because it already exists" : "Kausta \"{dir}\" loomine ebaõnnestus, sest see on juba olemas",
diff --git a/apps/files/l10n/eu.js b/apps/files/l10n/eu.js
index 51ed660a406..1f41da123e5 100644
--- a/apps/files/l10n/eu.js
+++ b/apps/files/l10n/eu.js
@@ -111,7 +111,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Botoiak dituzten zutabeen goiburuak ordena daitezke.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Zerrenda hau ez da guztiz ikusten errendimendu arrazoiengatik. Fitxategiak zerrendan zehar nabigatzen duten heinean bistaratuko dira.",
"File not found" : "Ez da fitxategia aurkitu",
- "{count} selected" : "{count} hautatuta",
+ "_{count} selected_::_{count} selected_" : ["{count} hautatuta","{count} hautatuta"],
"{usedQuotaByte} used" : "{usedQuotaByte} erabilita",
"{used} of {quota} used" : "{used} / {quota} erabilita",
"{relative}% used" : "%{relative} erabilita",
@@ -362,9 +362,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} kopiatu da {destination} barruan",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} eta beste {nbfiles} fitxategi {destination} barruan kopiatu dira",
"{newName} already exists" : "{newName} existitzen da dagoeneko",
- "Could not rename \"{fileName}\", it does not exist any more" : "Ezin izan da \"{fileName}\" berrizendatu, ez da existitzen jada",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" izena dagoeneko erabiltzen da \"{dir}\" karpetan. Aukeratu beste izen bat.",
- "Could not rename \"{fileName}\"" : "Ezin izan da \"{fileName}\" berrizendatu ",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Ezin izan da \"{oldName}\" berrizendatu, ez da existitzen dagoeneko",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" izena \"{dir}\" karpetan dagoeneko erabiltzen da. Mesedez aukeratu beste izen bat.",
+ "Could not rename \"{oldName}\"" : "Ezin izan da \"{oldName}\" berrizendatu ",
"Could not create file \"{file}\"" : "Ezin izan da \"{file}\" fitxategia sortu",
"Could not create file \"{file}\" because it already exists" : "Ezin izan da \"{file}\" fitxategia sortu, dagoeneko existitzen delako",
"Could not create folder \"{dir}\" because it already exists" : "Ezin izan da \"{dir}\" karpeta sortu, dagoeneko existitzen delako",
diff --git a/apps/files/l10n/eu.json b/apps/files/l10n/eu.json
index f050ebc9124..b19b27d1543 100644
--- a/apps/files/l10n/eu.json
+++ b/apps/files/l10n/eu.json
@@ -109,7 +109,7 @@
"Column headers with buttons are sortable." : "Botoiak dituzten zutabeen goiburuak ordena daitezke.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Zerrenda hau ez da guztiz ikusten errendimendu arrazoiengatik. Fitxategiak zerrendan zehar nabigatzen duten heinean bistaratuko dira.",
"File not found" : "Ez da fitxategia aurkitu",
- "{count} selected" : "{count} hautatuta",
+ "_{count} selected_::_{count} selected_" : ["{count} hautatuta","{count} hautatuta"],
"{usedQuotaByte} used" : "{usedQuotaByte} erabilita",
"{used} of {quota} used" : "{used} / {quota} erabilita",
"{relative}% used" : "%{relative} erabilita",
@@ -360,9 +360,9 @@
"Copied {origin} inside {destination}" : "{origin} kopiatu da {destination} barruan",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} eta beste {nbfiles} fitxategi {destination} barruan kopiatu dira",
"{newName} already exists" : "{newName} existitzen da dagoeneko",
- "Could not rename \"{fileName}\", it does not exist any more" : "Ezin izan da \"{fileName}\" berrizendatu, ez da existitzen jada",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" izena dagoeneko erabiltzen da \"{dir}\" karpetan. Aukeratu beste izen bat.",
- "Could not rename \"{fileName}\"" : "Ezin izan da \"{fileName}\" berrizendatu ",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Ezin izan da \"{oldName}\" berrizendatu, ez da existitzen dagoeneko",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" izena \"{dir}\" karpetan dagoeneko erabiltzen da. Mesedez aukeratu beste izen bat.",
+ "Could not rename \"{oldName}\"" : "Ezin izan da \"{oldName}\" berrizendatu ",
"Could not create file \"{file}\"" : "Ezin izan da \"{file}\" fitxategia sortu",
"Could not create file \"{file}\" because it already exists" : "Ezin izan da \"{file}\" fitxategia sortu, dagoeneko existitzen delako",
"Could not create folder \"{dir}\" because it already exists" : "Ezin izan da \"{dir}\" karpeta sortu, dagoeneko existitzen delako",
diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js
index 38d47a69821..91a994211dd 100644
--- a/apps/files/l10n/fa.js
+++ b/apps/files/l10n/fa.js
@@ -124,7 +124,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Column headers with buttons are sortable.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "این لیست به دلایل عملکرد به طور کامل ارائه نشده است. در حین حرکت در لیست، فایل ها ارائه می شوند.",
"File not found" : "فایل یافت نشد",
- "{count} selected" : "{count} selected",
"{usedQuotaByte} used" : "{usedQuotaByte} استفاده شده است",
"{used} of {quota} used" : "{used} از {quota} استفاده شده",
"{relative}% used" : "{relative}% used",
@@ -401,9 +400,9 @@ OC.L10N.register(
"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}» را تغییر داد، دیگر وجود ندارد",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "عنوان \"{targetName}\" هم اکنون در پوشه \"{dir}\" وجود دارد. لطفا نام دیگری انتخاب کنید",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" تغییر نام داده نمی‌شود",
+ "Could not rename \"{oldName}\", it does not exist any more" : "نمی‌توان نام «{oldName}» را تغییر داد، دیگر وجود ندارد",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "نام \"{newName}\" در پوشه \"{dir}\" به کار رفته است.\nلطفا نام دیگری برگزینید.",
+ "Could not rename \"{oldName}\"" : "تغییر نام \"{oldName}\" ممکن نیست",
"Could not create file \"{file}\"" : "پروندهٔ \"{file}\" ساخته نشد",
"Could not create file \"{file}\" because it already exists" : "نمی توان پرونده \"{file}\" ایجاد کرد زیرا در حال حاضر وجود دارد",
"Could not create folder \"{dir}\" because it already exists" : "شاخه \"{dir}\" به علت موجود بودن ساخته نشد",
diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json
index d4cca468374..713db5fffcb 100644
--- a/apps/files/l10n/fa.json
+++ b/apps/files/l10n/fa.json
@@ -122,7 +122,6 @@
"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",
@@ -399,9 +398,9 @@
"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}» را تغییر داد، دیگر وجود ندارد",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "عنوان \"{targetName}\" هم اکنون در پوشه \"{dir}\" وجود دارد. لطفا نام دیگری انتخاب کنید",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" تغییر نام داده نمی‌شود",
+ "Could not rename \"{oldName}\", it does not exist any more" : "نمی‌توان نام «{oldName}» را تغییر داد، دیگر وجود ندارد",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "نام \"{newName}\" در پوشه \"{dir}\" به کار رفته است.\nلطفا نام دیگری برگزینید.",
+ "Could not rename \"{oldName}\"" : "تغییر نام \"{oldName}\" ممکن نیست",
"Could not create file \"{file}\"" : "پروندهٔ \"{file}\" ساخته نشد",
"Could not create file \"{file}\" because it already exists" : "نمی توان پرونده \"{file}\" ایجاد کرد زیرا در حال حاضر وجود دارد",
"Could not create folder \"{dir}\" because it already exists" : "شاخه \"{dir}\" به علت موجود بودن ساخته نشد",
diff --git a/apps/files/l10n/fi.js b/apps/files/l10n/fi.js
index 91ff67eb0e2..2c371c47f6c 100644
--- a/apps/files/l10n/fi.js
+++ b/apps/files/l10n/fi.js
@@ -110,7 +110,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Painikkeilla varustetut sarakeotsikot ovat järjestettävissä.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Tätä luetteloa ei ole esitetty täysin suorituskykyyn liittyvistä syistä. Tiedostot esitetään sitä mukaa, kun selaat luetteloa.",
"File not found" : "Tiedostoa ei löytynyt",
- "{count} selected" : "{count} valittu",
"{usedQuotaByte} used" : "{usedQuotaByte} käytetty",
"{used} of {quota} used" : "{used}/{quota} käytetty",
"{relative}% used" : "{relative} % käytetty",
@@ -360,9 +359,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopioitu {origin} kohteeseen {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopioitu {origin} ja {nbfiles} muuta tiedostoa kohteeseen {destination}",
"{newName} already exists" : "{newName} on jo olemassa",
- "Could not rename \"{fileName}\", it does not exist any more" : "Tiedoston \"{fileName}\" nimeäminen uudelleen ei onnistunut, koska sitä ei ole enää olemassa",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on jo käytössä kansiossa \"{dir}\". Valitse toinen nimi.",
- "Could not rename \"{fileName}\"" : "Tiedoston \"{fileName}\" nimeäminen uudelleen ei onnistunut",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kohdetta \"{oldName}\" ei voitu nimetä uudelleen, koska sitä ei ole enää olemassa",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{newName}\" on jo käytössä kansiossa \"{dir}\". Valitse toinen nimi.",
+ "Could not rename \"{oldName}\"" : "Ei voitu nimetä uudelleen \"{oldName}\"",
"Could not create file \"{file}\"" : "Tiedostoa \"{file}\" ei voitu luoda",
"Could not create file \"{file}\" because it already exists" : "Tiedostoa \"{file}\" ei voitu luoda, koska se on jo olemassa",
"Could not create folder \"{dir}\" because it already exists" : "Kansiota \"{dir}\" ei voitu luoda, koska se on jo olemassa",
diff --git a/apps/files/l10n/fi.json b/apps/files/l10n/fi.json
index 86e0f1dd414..24a69e19316 100644
--- a/apps/files/l10n/fi.json
+++ b/apps/files/l10n/fi.json
@@ -108,7 +108,6 @@
"Column headers with buttons are sortable." : "Painikkeilla varustetut sarakeotsikot ovat järjestettävissä.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Tätä luetteloa ei ole esitetty täysin suorituskykyyn liittyvistä syistä. Tiedostot esitetään sitä mukaa, kun selaat luetteloa.",
"File not found" : "Tiedostoa ei löytynyt",
- "{count} selected" : "{count} valittu",
"{usedQuotaByte} used" : "{usedQuotaByte} käytetty",
"{used} of {quota} used" : "{used}/{quota} käytetty",
"{relative}% used" : "{relative} % käytetty",
@@ -358,9 +357,9 @@
"Copied {origin} inside {destination}" : "Kopioitu {origin} kohteeseen {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopioitu {origin} ja {nbfiles} muuta tiedostoa kohteeseen {destination}",
"{newName} already exists" : "{newName} on jo olemassa",
- "Could not rename \"{fileName}\", it does not exist any more" : "Tiedoston \"{fileName}\" nimeäminen uudelleen ei onnistunut, koska sitä ei ole enää olemassa",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{targetName}\" on jo käytössä kansiossa \"{dir}\". Valitse toinen nimi.",
- "Could not rename \"{fileName}\"" : "Tiedoston \"{fileName}\" nimeäminen uudelleen ei onnistunut",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kohdetta \"{oldName}\" ei voitu nimetä uudelleen, koska sitä ei ole enää olemassa",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nimi \"{newName}\" on jo käytössä kansiossa \"{dir}\". Valitse toinen nimi.",
+ "Could not rename \"{oldName}\"" : "Ei voitu nimetä uudelleen \"{oldName}\"",
"Could not create file \"{file}\"" : "Tiedostoa \"{file}\" ei voitu luoda",
"Could not create file \"{file}\" because it already exists" : "Tiedostoa \"{file}\" ei voitu luoda, koska se on jo olemassa",
"Could not create folder \"{dir}\" because it already exists" : "Kansiota \"{dir}\" ei voitu luoda, koska se on jo olemassa",
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 7a03d199e85..12ba6567a16 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "L'entête des colonnes avec des boutons sont triables.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Cette liste n'est pas entièrement affichée pour des raisons de performances. Les fichiers seront affichés au fur et à mesure que vous naviguerez dans la liste.",
"File not found" : "Fichier non trouvé",
- "{count} selected" : "{count} sélectionné(s)",
+ "_{count} selected_::_{count} selected_" : ["{count} sélectionné","{count} sélectionné(s)","{count} sélectionné(s)"],
"{usedQuotaByte} used" : "{usedQuotaByte} utilisés",
"{used} of {quota} used" : "{used} utilisés sur {quota}",
"{relative}% used" : "{relative}% utilisés",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} copié dans {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} et {nbfiles} autres fichiers copiés dans {destination}",
"{newName} already exists" : "{newName} existe déjà",
- "Could not rename \"{fileName}\", it does not exist any more" : "Impossible de renommer \"{fileName}\" car il n'existe plus",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom « {targetName} » est déjà utilisé dans le dossier « {dir} ». Merci de choisir un nom différent.",
- "Could not rename \"{fileName}\"" : "Impossible de renommer « {fileName} »",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossible de renommer \"{oldName}\", il n'existe plus.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom \"{newName}\" est déjà utilisé dans le dossier \"{dir}\". Veuillez choisir un autre nom.",
+ "Could not rename \"{oldName}\"" : "Impossible de renommer \"{oldName}\"",
"Could not create file \"{file}\"" : "Impossible de créer le fichier « {file} »",
"Could not create file \"{file}\" because it already exists" : "Impossible de créer le fichier « {file} » car il existe déjà",
"Could not create folder \"{dir}\" because it already exists" : "Impossible de créer le dossier \"{dir}\" car il existe déjà",
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 7485b1c5749..5f342d12a89 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "L'entête des colonnes avec des boutons sont triables.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Cette liste n'est pas entièrement affichée pour des raisons de performances. Les fichiers seront affichés au fur et à mesure que vous naviguerez dans la liste.",
"File not found" : "Fichier non trouvé",
- "{count} selected" : "{count} sélectionné(s)",
+ "_{count} selected_::_{count} selected_" : ["{count} sélectionné","{count} sélectionné(s)","{count} sélectionné(s)"],
"{usedQuotaByte} used" : "{usedQuotaByte} utilisés",
"{used} of {quota} used" : "{used} utilisés sur {quota}",
"{relative}% used" : "{relative}% utilisés",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "{origin} copié dans {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} et {nbfiles} autres fichiers copiés dans {destination}",
"{newName} already exists" : "{newName} existe déjà",
- "Could not rename \"{fileName}\", it does not exist any more" : "Impossible de renommer \"{fileName}\" car il n'existe plus",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom « {targetName} » est déjà utilisé dans le dossier « {dir} ». Merci de choisir un nom différent.",
- "Could not rename \"{fileName}\"" : "Impossible de renommer « {fileName} »",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossible de renommer \"{oldName}\", il n'existe plus.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Le nom \"{newName}\" est déjà utilisé dans le dossier \"{dir}\". Veuillez choisir un autre nom.",
+ "Could not rename \"{oldName}\"" : "Impossible de renommer \"{oldName}\"",
"Could not create file \"{file}\"" : "Impossible de créer le fichier « {file} »",
"Could not create file \"{file}\" because it already exists" : "Impossible de créer le fichier « {file} » car il existe déjà",
"Could not create folder \"{dir}\" because it already exists" : "Impossible de créer le dossier \"{dir}\" car il existe déjà",
diff --git a/apps/files/l10n/ga.js b/apps/files/l10n/ga.js
index 0aca93f958f..4743d30e0b1 100644
--- a/apps/files/l10n/ga.js
+++ b/apps/files/l10n/ga.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Is féidir ceanntásca colún le cnaipí a shórtáil.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Níl an liosta seo le fáil go hiomlán ar chúiseanna feidhmíochta. Déanfar na comhaid a rindreáil agus tú ag dul tríd an liosta.",
"File not found" : "Comhad gan aimsiú",
- "{count} selected" : "{count} roghnaithe",
+ "_{count} selected_::_{count} selected_" : ["{count} roghnaithe","{count} roghnaithe","{count} roghnaithe","{count} roghnaithe","{count} roghnaithe"],
"{usedQuotaByte} used" : "{usedQuotaByte} úsáidte",
"{used} of {quota} used" : "{used} de {quota} in úsáid",
"{relative}% used" : "{relative}% in úsáid",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Cóipeáladh {origin} taobh istigh de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Cóipeáladh {origin} agus {nbfiles} comhaid eile laistigh de {destination}",
"{newName} already exists" : "Tá {newName} ann cheana",
- "Could not rename \"{fileName}\", it does not exist any more" : "Níorbh fhéidir \"{fileName}\" a athainmniú, níl sé ann a thuilleadh",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tá an t-ainm \"{targetName}\" in úsáid cheana féin san fhillteán \"{dir}\". Roghnaigh ainm eile le do thoil.",
- "Could not rename \"{fileName}\"" : "Níorbh fhéidir \"{fileName}\" a athainmniú",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Níorbh fhéidir \"{oldName}\" a athainmniú, níl sé ann a thuilleadh",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tá an t-ainm \"{newName}\" in úsáid cheana féin san fhillteán \"{dir}\". Roghnaigh ainm eile le do thoil.",
+ "Could not rename \"{oldName}\"" : "Níorbh fhéidir \"{oldName}\" a athainmniú",
"Could not create file \"{file}\"" : "Níorbh fhéidir comhad \"{file}\" a chruthú",
"Could not create file \"{file}\" because it already exists" : "Níorbh fhéidir an comhad \"{file}\" a chruthú toisc go bhfuil sé ann cheana",
"Could not create folder \"{dir}\" because it already exists" : "Níorbh fhéidir fillteán \"{dir}\" a chruthú toisc go bhfuil sé ann cheana",
diff --git a/apps/files/l10n/ga.json b/apps/files/l10n/ga.json
index d8fa2048c0a..73807274140 100644
--- a/apps/files/l10n/ga.json
+++ b/apps/files/l10n/ga.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Is féidir ceanntásca colún le cnaipí a shórtáil.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Níl an liosta seo le fáil go hiomlán ar chúiseanna feidhmíochta. Déanfar na comhaid a rindreáil agus tú ag dul tríd an liosta.",
"File not found" : "Comhad gan aimsiú",
- "{count} selected" : "{count} roghnaithe",
+ "_{count} selected_::_{count} selected_" : ["{count} roghnaithe","{count} roghnaithe","{count} roghnaithe","{count} roghnaithe","{count} roghnaithe"],
"{usedQuotaByte} used" : "{usedQuotaByte} úsáidte",
"{used} of {quota} used" : "{used} de {quota} in úsáid",
"{relative}% used" : "{relative}% in úsáid",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "Cóipeáladh {origin} taobh istigh de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Cóipeáladh {origin} agus {nbfiles} comhaid eile laistigh de {destination}",
"{newName} already exists" : "Tá {newName} ann cheana",
- "Could not rename \"{fileName}\", it does not exist any more" : "Níorbh fhéidir \"{fileName}\" a athainmniú, níl sé ann a thuilleadh",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tá an t-ainm \"{targetName}\" in úsáid cheana féin san fhillteán \"{dir}\". Roghnaigh ainm eile le do thoil.",
- "Could not rename \"{fileName}\"" : "Níorbh fhéidir \"{fileName}\" a athainmniú",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Níorbh fhéidir \"{oldName}\" a athainmniú, níl sé ann a thuilleadh",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tá an t-ainm \"{newName}\" in úsáid cheana féin san fhillteán \"{dir}\". Roghnaigh ainm eile le do thoil.",
+ "Could not rename \"{oldName}\"" : "Níorbh fhéidir \"{oldName}\" a athainmniú",
"Could not create file \"{file}\"" : "Níorbh fhéidir comhad \"{file}\" a chruthú",
"Could not create file \"{file}\" because it already exists" : "Níorbh fhéidir an comhad \"{file}\" a chruthú toisc go bhfuil sé ann cheana",
"Could not create folder \"{dir}\" because it already exists" : "Níorbh fhéidir fillteán \"{dir}\" a chruthú toisc go bhfuil sé ann cheana",
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index bcd590765b6..3fff168be3b 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -116,7 +116,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "As cabeceiras das columnas con botóns pódense ordenar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista non se representa de xeito completo por mor do rendemento. Os ficheiros represéntanse mentres se despraza pola lista.",
"File not found" : "Non se atopou o ficheiro",
- "{count} selected" : "{count} seleccionados",
+ "_{count} selected_::_{count} selected_" : ["{count} seleccionado","{count} seleccionados"],
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "Usados {used} de {quota}",
"{relative}% used" : "{relative}% usado",
@@ -152,7 +152,7 @@ OC.L10N.register(
"Adding the file extension \"{new}\" may render the file unreadable." : "Engadir a extensión de ficheiro «{new}» pode facer que o ficheiro sexa ilexíbel.",
"Do not show this dialog again." : "Non volver amosar este diálogo",
"Select file or folder to link to" : "Seleccione o ficheiro ou cartafol ao que ligar",
- "Choose {file}" : "Escoller {file}",
+ "Choose {file}" : "Escoller {file}",
"Share" : "Compartir",
"Shared by link" : "Compartido por ligazón",
"Shared" : "Compartido",
@@ -389,9 +389,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copiado {origin} en {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiado {origin} e outros {nbfiles} ficheiros en {destination} ",
"{newName} already exists" : "Xa existe {newName}",
- "Could not rename \"{fileName}\", it does not exist any more" : "Non foi posíbel cambiarlle o nome a «{fileName}», xa non existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{targetName}» xa se utiliza no cartafol «{dir}». Escolla outro nome.",
- "Could not rename \"{fileName}\"" : "Non foi posíbel cambiarlle o nome a «{fileName}»",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Non foi posíbel cambiarlle o nome a «{oldName}», xa non existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{newName}» xa se utiliza no cartafol «{dir}». Escolla un nome diferente.",
+ "Could not rename \"{oldName}\"" : "Non foi posíbel cambiarlle o nome a «{oldName}»",
"Could not create file \"{file}\"" : "Non foi posíbel crear o ficheiro «{file}»",
"Could not create file \"{file}\" because it already exists" : "Non foi posíbel crear o ficheiro «{file}» por mor de que xa existe",
"Could not create folder \"{dir}\" because it already exists" : "Non foi posíbel crear o cartafol «{dir}» por mor de que xa existe",
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index bcb6369d52d..ad0a0738148 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -114,7 +114,7 @@
"Column headers with buttons are sortable." : "As cabeceiras das columnas con botóns pódense ordenar.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista non se representa de xeito completo por mor do rendemento. Os ficheiros represéntanse mentres se despraza pola lista.",
"File not found" : "Non se atopou o ficheiro",
- "{count} selected" : "{count} seleccionados",
+ "_{count} selected_::_{count} selected_" : ["{count} seleccionado","{count} seleccionados"],
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "Usados {used} de {quota}",
"{relative}% used" : "{relative}% usado",
@@ -150,7 +150,7 @@
"Adding the file extension \"{new}\" may render the file unreadable." : "Engadir a extensión de ficheiro «{new}» pode facer que o ficheiro sexa ilexíbel.",
"Do not show this dialog again." : "Non volver amosar este diálogo",
"Select file or folder to link to" : "Seleccione o ficheiro ou cartafol ao que ligar",
- "Choose {file}" : "Escoller {file}",
+ "Choose {file}" : "Escoller {file}",
"Share" : "Compartir",
"Shared by link" : "Compartido por ligazón",
"Shared" : "Compartido",
@@ -387,9 +387,9 @@
"Copied {origin} inside {destination}" : "Copiado {origin} en {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiado {origin} e outros {nbfiles} ficheiros en {destination} ",
"{newName} already exists" : "Xa existe {newName}",
- "Could not rename \"{fileName}\", it does not exist any more" : "Non foi posíbel cambiarlle o nome a «{fileName}», xa non existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{targetName}» xa se utiliza no cartafol «{dir}». Escolla outro nome.",
- "Could not rename \"{fileName}\"" : "Non foi posíbel cambiarlle o nome a «{fileName}»",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Non foi posíbel cambiarlle o nome a «{oldName}», xa non existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome «{newName}» xa se utiliza no cartafol «{dir}». Escolla un nome diferente.",
+ "Could not rename \"{oldName}\"" : "Non foi posíbel cambiarlle o nome a «{oldName}»",
"Could not create file \"{file}\"" : "Non foi posíbel crear o ficheiro «{file}»",
"Could not create file \"{file}\" because it already exists" : "Non foi posíbel crear o ficheiro «{file}» por mor de que xa existe",
"Could not create folder \"{dir}\" because it already exists" : "Non foi posíbel crear o cartafol «{dir}» por mor de que xa existe",
diff --git a/apps/files/l10n/hu.js b/apps/files/l10n/hu.js
index eaed162caac..b6c27f0b669 100644
--- a/apps/files/l10n/hu.js
+++ b/apps/files/l10n/hu.js
@@ -114,7 +114,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "A gombot tartalmazó oszlopfejlécek rendezhetők.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ez a lista teljesítménybeli okokból nincs teljes egészében megjelenítve. A fájlok a listában navigálás során jelennek meg.",
"File not found" : "A fájl nem található",
- "{count} selected" : "{count}kiválasztva",
"{usedQuotaByte} used" : "{usedQuotaByte} felhasználva",
"{used} of {quota} used" : "{used} / {quota} felhasználva",
"{relative}% used" : "{relative}% felhasználva",
@@ -375,9 +374,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "A(z) {origin} átmásolva ide: {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "A(z) {origin} és {nbfiles} egyéb fájl átmásolva ide: {destination}",
"{newName} already exists" : "A(z) {newName} már létezik",
- "Could not rename \"{fileName}\", it does not exist any more" : "A(z) „{fileName}” átnevetése sikertelen, mert már nem létezik",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{targetName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.",
- "Could not rename \"{fileName}\"" : "A(z) „{fileName}” nem nevezhető át",
+ "Could not rename \"{oldName}\", it does not exist any more" : "A(z) „{oldName}” nem nevezhető át, mert már nem létezik",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{newName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.",
+ "Could not rename \"{oldName}\"" : "A(z) „{oldName}” nem nevezhető át",
"Could not create file \"{file}\"" : "A(z) „{file}” nem hozható létre",
"Could not create file \"{file}\" because it already exists" : "A(z) „{file}” fájl nem hozható létre, mert már létezik",
"Could not create folder \"{dir}\" because it already exists" : "A(z) „{dir}” mappa nem hozható létre, mert már létezik",
diff --git a/apps/files/l10n/hu.json b/apps/files/l10n/hu.json
index f00a3f35eb3..85f8cb27626 100644
--- a/apps/files/l10n/hu.json
+++ b/apps/files/l10n/hu.json
@@ -112,7 +112,6 @@
"Column headers with buttons are sortable." : "A gombot tartalmazó oszlopfejlécek rendezhetők.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ez a lista teljesítménybeli okokból nincs teljes egészében megjelenítve. A fájlok a listában navigálás során jelennek meg.",
"File not found" : "A fájl nem található",
- "{count} selected" : "{count}kiválasztva",
"{usedQuotaByte} used" : "{usedQuotaByte} felhasználva",
"{used} of {quota} used" : "{used} / {quota} felhasználva",
"{relative}% used" : "{relative}% felhasználva",
@@ -373,9 +372,9 @@
"Copied {origin} inside {destination}" : "A(z) {origin} átmásolva ide: {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "A(z) {origin} és {nbfiles} egyéb fájl átmásolva ide: {destination}",
"{newName} already exists" : "A(z) {newName} már létezik",
- "Could not rename \"{fileName}\", it does not exist any more" : "A(z) „{fileName}” átnevetése sikertelen, mert már nem létezik",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{targetName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.",
- "Could not rename \"{fileName}\"" : "A(z) „{fileName}” nem nevezhető át",
+ "Could not rename \"{oldName}\", it does not exist any more" : "A(z) „{oldName}” nem nevezhető át, mert már nem létezik",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "A(z) „{newName}” név már használatban van a(z) „{dir}” mappában. Válasszon másik nevet.",
+ "Could not rename \"{oldName}\"" : "A(z) „{oldName}” nem nevezhető át",
"Could not create file \"{file}\"" : "A(z) „{file}” nem hozható létre",
"Could not create file \"{file}\" because it already exists" : "A(z) „{file}” fájl nem hozható létre, mert már létezik",
"Could not create folder \"{dir}\" because it already exists" : "A(z) „{dir}” mappa nem hozható létre, mert már létezik",
diff --git a/apps/files/l10n/id.js b/apps/files/l10n/id.js
index 2be51a48924..b2b67e42843 100644
--- a/apps/files/l10n/id.js
+++ b/apps/files/l10n/id.js
@@ -69,6 +69,7 @@ OC.L10N.register(
"Size" : "Ukuran",
"Actions" : "Tindakan",
"File not found" : "Berkas tidak ditemukan",
+ "_{count} selected_::_{count} selected_" : ["{count} dipilih"],
"{usedQuotaByte} used" : "{usedQuotaByte} digunakan",
"{used} of {quota} used" : "{used} dari {quota} terpakai",
"{relative}% used" : "{relative}% digunakan",
@@ -191,9 +192,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} tersalin ke {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} dan {nbfiles} berkas lainnya tersalin ke {destination}",
"{newName} already exists" : "{newName} sudah ada",
- "Could not rename \"{fileName}\", it does not exist any more" : "Tidak dapat mengganti \"{fileName}\", tidak ada lagi",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{targetName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
- "Could not rename \"{fileName}\"" : "Tidak dapat mengganti \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Tidak dapat mengganti \"{oldName}\", tidak ada lagi",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{newName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
+ "Could not rename \"{oldName}\"" : "Tidak dapat mengganti \"{oldName}\"",
"Could not create file \"{file}\"" : "Tidak dapat membuat berkas \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Tidak dapat membuat berkas \"{file}\" karena sudah ada",
"Could not create folder \"{dir}\" because it already exists" : "Tidak dapat membuat folder \"{dir}\" karena sudah ada",
diff --git a/apps/files/l10n/id.json b/apps/files/l10n/id.json
index d9c47f1600b..cc2bc204413 100644
--- a/apps/files/l10n/id.json
+++ b/apps/files/l10n/id.json
@@ -67,6 +67,7 @@
"Size" : "Ukuran",
"Actions" : "Tindakan",
"File not found" : "Berkas tidak ditemukan",
+ "_{count} selected_::_{count} selected_" : ["{count} dipilih"],
"{usedQuotaByte} used" : "{usedQuotaByte} digunakan",
"{used} of {quota} used" : "{used} dari {quota} terpakai",
"{relative}% used" : "{relative}% digunakan",
@@ -189,9 +190,9 @@
"Copied {origin} inside {destination}" : "{origin} tersalin ke {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} dan {nbfiles} berkas lainnya tersalin ke {destination}",
"{newName} already exists" : "{newName} sudah ada",
- "Could not rename \"{fileName}\", it does not exist any more" : "Tidak dapat mengganti \"{fileName}\", tidak ada lagi",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{targetName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
- "Could not rename \"{fileName}\"" : "Tidak dapat mengganti \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Tidak dapat mengganti \"{oldName}\", tidak ada lagi",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nama \"{newName}\" sudah digunakan di folder \"{dir}\". Gunakan nama yang lain.",
+ "Could not rename \"{oldName}\"" : "Tidak dapat mengganti \"{oldName}\"",
"Could not create file \"{file}\"" : "Tidak dapat membuat berkas \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Tidak dapat membuat berkas \"{file}\" karena sudah ada",
"Could not create folder \"{dir}\" because it already exists" : "Tidak dapat membuat folder \"{dir}\" karena sudah ada",
diff --git a/apps/files/l10n/is.js b/apps/files/l10n/is.js
index 75cccd78118..5845d1fabaa 100644
--- a/apps/files/l10n/is.js
+++ b/apps/files/l10n/is.js
@@ -114,7 +114,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Dálkfyrirsagnir með hnöppum eru raðanlegar",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Til að halda sem bestum afköstum er þessi listi ekki myndgerður að fullu. Skrárnar munu birtast eftir því sem farið er í gegnum listann.",
"File not found" : "Skrá finnst ekki",
- "{count} selected" : "{count} valið",
"{usedQuotaByte} used" : "{usedQuotaByte} notað",
"{used} of {quota} used" : "{used} af {quota} notað",
"{relative}% used" : "{relative}% notað",
@@ -372,9 +371,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Afritaði {origin} inn í {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Afritaði {origin} og {nbfiles} aðrar skrár inn í {destination}",
"{newName} already exists" : "{newName} er þegar til",
- "Could not rename \"{fileName}\", it does not exist any more" : "Gat ekki endurnefnt \"{fileName}\", það er ekki lengur til staðar",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Heitið \"{targetName}\" er nú þegar notað í \"{dir}\" möppunni. Veldu eitthvað annað nafn.",
- "Could not rename \"{fileName}\"" : "Gat ekki endurnefnt \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Gat ekki endurnefnt \"{oldName}\", það er ekki lengur til staðar",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Heitið \"{newName}\" er nú þegar notað í \"{dir}\" möppunni. Veldu eitthvað annað nafn.",
+ "Could not rename \"{oldName}\"" : "Tókst ekki að endurnefna \"{oldName}\"",
"Could not create file \"{file}\"" : "Gat ekki búið til skrána \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Gat ekki búið til skrána \"{file}\" vegna þess að hún er þegar til",
"Could not create folder \"{dir}\" because it already exists" : "Gat ekki búið til möppuna \"{dir}\" vegna þess að hún er þegar til",
diff --git a/apps/files/l10n/is.json b/apps/files/l10n/is.json
index 0dcd0432f49..a80b1bc7f2b 100644
--- a/apps/files/l10n/is.json
+++ b/apps/files/l10n/is.json
@@ -112,7 +112,6 @@
"Column headers with buttons are sortable." : "Dálkfyrirsagnir með hnöppum eru raðanlegar",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Til að halda sem bestum afköstum er þessi listi ekki myndgerður að fullu. Skrárnar munu birtast eftir því sem farið er í gegnum listann.",
"File not found" : "Skrá finnst ekki",
- "{count} selected" : "{count} valið",
"{usedQuotaByte} used" : "{usedQuotaByte} notað",
"{used} of {quota} used" : "{used} af {quota} notað",
"{relative}% used" : "{relative}% notað",
@@ -370,9 +369,9 @@
"Copied {origin} inside {destination}" : "Afritaði {origin} inn í {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Afritaði {origin} og {nbfiles} aðrar skrár inn í {destination}",
"{newName} already exists" : "{newName} er þegar til",
- "Could not rename \"{fileName}\", it does not exist any more" : "Gat ekki endurnefnt \"{fileName}\", það er ekki lengur til staðar",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Heitið \"{targetName}\" er nú þegar notað í \"{dir}\" möppunni. Veldu eitthvað annað nafn.",
- "Could not rename \"{fileName}\"" : "Gat ekki endurnefnt \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Gat ekki endurnefnt \"{oldName}\", það er ekki lengur til staðar",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Heitið \"{newName}\" er nú þegar notað í \"{dir}\" möppunni. Veldu eitthvað annað nafn.",
+ "Could not rename \"{oldName}\"" : "Tókst ekki að endurnefna \"{oldName}\"",
"Could not create file \"{file}\"" : "Gat ekki búið til skrána \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Gat ekki búið til skrána \"{file}\" vegna þess að hún er þegar til",
"Could not create folder \"{dir}\" because it already exists" : "Gat ekki búið til möppuna \"{dir}\" vegna þess að hún er þegar til",
diff --git a/apps/files/l10n/it.js b/apps/files/l10n/it.js
index 04252175d75..be469631a80 100644
--- a/apps/files/l10n/it.js
+++ b/apps/files/l10n/it.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Le intestazioni di colonna con pulsanti sono ordinabili.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Questa lista non è stata mostrata completamente per ragioni di prestazioni. I file verranno mostrati durante la navigazione della lista.",
"File not found" : "File non trovato",
- "{count} selected" : "{count} selezionati",
+ "_{count} selected_::_{count} selected_" : ["{count} selezionato","{count} selezionati","{count} selezionati"],
"{usedQuotaByte} used" : "{usedQuotaByte} usato",
"{used} of {quota} used" : "{used} di {quota} utilizzati",
"{relative}% used" : "{relative}% usato",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copiato {origin} in {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiati {origin} e {nbfiles} altri file in {destination}",
"{newName} already exists" : "{newName} esiste già",
- "Could not rename \"{fileName}\", it does not exist any more" : "Impossibile rinominare \"{fileName}\", non esiste più",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Il nome \"{targetName}\" è attualmente in uso nella cartella \"{dir}\". Scegli un nome diverso.",
- "Could not rename \"{fileName}\"" : "Impossibile rinominare \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossibile rinominare \"{oldName}\", non esiste più",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Il nome \"{newName}\" è attualmente in uso nella cartella \"{dir}\". Scegli un nome diverso.",
+ "Could not rename \"{oldName}\"" : "Impossibile rinominare \"{oldName}\"",
"Could not create file \"{file}\"" : "Impossibile creare il file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Impossibile creare il file \"{file}\" poiché esiste già",
"Could not create folder \"{dir}\" because it already exists" : "Impossibile creare la cartella \"{dir}\" poiché esiste già",
@@ -455,6 +455,7 @@ OC.L10N.register(
"New text file.txt" : "Nuovo file di testo.txt",
"%1$s (renamed)" : "%1$s (rinominato)",
"renamed file" : "file rinominato",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Dopo aver abilitato i nomi file compatibili con Windows, i file esistenti non potranno più essere modificati, ma potranno essere rinominati con nuovi nomi validi dal rispettivo proprietario.",
"{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 0c71fc93b41..25d702e4ec5 100644
--- a/apps/files/l10n/it.json
+++ b/apps/files/l10n/it.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Le intestazioni di colonna con pulsanti sono ordinabili.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Questa lista non è stata mostrata completamente per ragioni di prestazioni. I file verranno mostrati durante la navigazione della lista.",
"File not found" : "File non trovato",
- "{count} selected" : "{count} selezionati",
+ "_{count} selected_::_{count} selected_" : ["{count} selezionato","{count} selezionati","{count} selezionati"],
"{usedQuotaByte} used" : "{usedQuotaByte} usato",
"{used} of {quota} used" : "{used} di {quota} utilizzati",
"{relative}% used" : "{relative}% usato",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "Copiato {origin} in {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiati {origin} e {nbfiles} altri file in {destination}",
"{newName} already exists" : "{newName} esiste già",
- "Could not rename \"{fileName}\", it does not exist any more" : "Impossibile rinominare \"{fileName}\", non esiste più",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Il nome \"{targetName}\" è attualmente in uso nella cartella \"{dir}\". Scegli un nome diverso.",
- "Could not rename \"{fileName}\"" : "Impossibile rinominare \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossibile rinominare \"{oldName}\", non esiste più",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Il nome \"{newName}\" è attualmente in uso nella cartella \"{dir}\". Scegli un nome diverso.",
+ "Could not rename \"{oldName}\"" : "Impossibile rinominare \"{oldName}\"",
"Could not create file \"{file}\"" : "Impossibile creare il file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Impossibile creare il file \"{file}\" poiché esiste già",
"Could not create folder \"{dir}\" because it already exists" : "Impossibile creare la cartella \"{dir}\" poiché esiste già",
@@ -453,6 +453,7 @@
"New text file.txt" : "Nuovo file di testo.txt",
"%1$s (renamed)" : "%1$s (rinominato)",
"renamed file" : "file rinominato",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Dopo aver abilitato i nomi file compatibili con Windows, i file esistenti non potranno più essere modificati, ma potranno essere rinominati con nuovi nomi validi dal rispettivo proprietario.",
"{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 5e262b4f8cd..c25a6fcf5fc 100644
--- a/apps/files/l10n/ja.js
+++ b/apps/files/l10n/ja.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "ボタン付きの列ヘッダはソート可能です。",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "このリストはパフォーマンスの都合上、すべてレンダリングされているわけではありません。リスト内を移動すると、ファイルが次々と表示されていきます。",
"File not found" : "ファイルが見つかりません",
- "{count} selected" : "{count} 選択",
+ "_{count} selected_::_{count} selected_" : ["{count}選択済み"],
"{usedQuotaByte} used" : "{usedQuotaByte} 使用されています",
"{used} of {quota} used" : "{used} / {quota} 使用中",
"{relative}% used" : "{relative}% 使用されています",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "コピー先{origin} {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}\"の名前変更ができませんでした",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" はフォルダー \"{dir}\" ですでに使われています。別の名前を選択してください。",
- "Could not rename \"{fileName}\"" : "\"{fileName}\"の名前変更ができませんでした",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" の名前を変更できませんでした、それは既に存在しません。",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" という名前は \"{dir}\" フォルダですでに使用されています。別の名前を選択してください。",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" の名前を変更できませんでした。",
"Could not create file \"{file}\"" : "ファイル \"{file}\" を作成できませんでした",
"Could not create file \"{file}\" because it already exists" : "ファイル \"{file}\"はすでに存在するため作成できません",
"Could not create folder \"{dir}\" because it already exists" : "フォルダー \"{dir}\" はすでに存在するため作成できません",
diff --git a/apps/files/l10n/ja.json b/apps/files/l10n/ja.json
index 3b07da7e45e..e0b8797674d 100644
--- a/apps/files/l10n/ja.json
+++ b/apps/files/l10n/ja.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "ボタン付きの列ヘッダはソート可能です。",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "このリストはパフォーマンスの都合上、すべてレンダリングされているわけではありません。リスト内を移動すると、ファイルが次々と表示されていきます。",
"File not found" : "ファイルが見つかりません",
- "{count} selected" : "{count} 選択",
+ "_{count} selected_::_{count} selected_" : ["{count}選択済み"],
"{usedQuotaByte} used" : "{usedQuotaByte} 使用されています",
"{used} of {quota} used" : "{used} / {quota} 使用中",
"{relative}% used" : "{relative}% 使用されています",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "コピー先{origin} {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}\"の名前変更ができませんでした",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" はフォルダー \"{dir}\" ですでに使われています。別の名前を選択してください。",
- "Could not rename \"{fileName}\"" : "\"{fileName}\"の名前変更ができませんでした",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" の名前を変更できませんでした、それは既に存在しません。",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" という名前は \"{dir}\" フォルダですでに使用されています。別の名前を選択してください。",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" の名前を変更できませんでした。",
"Could not create file \"{file}\"" : "ファイル \"{file}\" を作成できませんでした",
"Could not create file \"{file}\" because it already exists" : "ファイル \"{file}\"はすでに存在するため作成できません",
"Could not create folder \"{dir}\" because it already exists" : "フォルダー \"{dir}\" はすでに存在するため作成できません",
diff --git a/apps/files/l10n/ka.js b/apps/files/l10n/ka.js
index 550819832fc..fdf50548a02 100644
--- a/apps/files/l10n/ka.js
+++ b/apps/files/l10n/ka.js
@@ -85,6 +85,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Column headers with buttons are sortable.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.",
"File not found" : "File not found",
+ "_{count} selected_::_{count} selected_" : ["{count} selected","{count} selected"],
"{usedQuotaByte} used" : "{usedQuotaByte} used",
"{used} of {quota} used" : "{used} of {quota} used",
"{relative}% used" : "{relative}% used",
@@ -244,9 +245,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
"{newName} already exists" : "{newName} already exists",
- "Could not rename \"{fileName}\", it does not exist any more" : "Could not rename \"{fileName}\", it does not exist any more",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name.",
- "Could not rename \"{fileName}\"" : "Could not rename \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
+ "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"Could not create file \"{file}\"" : "Could not create file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists",
"Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists",
diff --git a/apps/files/l10n/ka.json b/apps/files/l10n/ka.json
index b9120314895..51f54c0b425 100644
--- a/apps/files/l10n/ka.json
+++ b/apps/files/l10n/ka.json
@@ -83,6 +83,7 @@
"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." : "This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list.",
"File not found" : "File not found",
+ "_{count} selected_::_{count} selected_" : ["{count} selected","{count} selected"],
"{usedQuotaByte} used" : "{usedQuotaByte} used",
"{used} of {quota} used" : "{used} of {quota} used",
"{relative}% used" : "{relative}% used",
@@ -242,9 +243,9 @@
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
"{newName} already exists" : "{newName} already exists",
- "Could not rename \"{fileName}\", it does not exist any more" : "Could not rename \"{fileName}\", it does not exist any more",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name.",
- "Could not rename \"{fileName}\"" : "Could not rename \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Could not rename \"{oldName}\", it does not exist any more",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name.",
+ "Could not rename \"{oldName}\"" : "Could not rename \"{oldName}\"",
"Could not create file \"{file}\"" : "Could not create file \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Could not create file \"{file}\" because it already exists",
"Could not create folder \"{dir}\" because it already exists" : "Could not create folder \"{dir}\" because it already exists",
diff --git a/apps/files/l10n/ko.js b/apps/files/l10n/ko.js
index 927f765b6f6..4ccb57e4ac8 100644
--- a/apps/files/l10n/ko.js
+++ b/apps/files/l10n/ko.js
@@ -116,7 +116,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "버튼이 있는 열 머리글은 정렬할 수 있습니다.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "성능 상의 이유로 목록을 전부 표시하지 않았습니다. 목록을 탐색하면 파일들이 표시됩니다.",
"File not found" : "파일을 찾을 수 없음",
- "{count} selected" : "{count}개 선택됨",
"{usedQuotaByte} used" : "{usedQuotaByte} 사용",
"{used} of {quota} used" : "{quota} 중 {used} 사용함",
"{relative}% used" : "{relative}% 사용",
@@ -378,9 +377,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin}을(를) {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}\"의 이름을 변경할 수 없음, 더 이상 존재하지 않음",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "폴더 \"{dir}\" 내에 파일 \"{targetName}\"이(가) 이미 있습니다. 다른 이름을 사용하십시오.",
- "Could not rename \"{fileName}\"" : "\"{fileName}\"의 이름을 바꿀 수 없음",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\"(이)가 더이상 존재하지 않아 이름을 바꿀 수 없습니다.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" 이름이 \"{dir}\" 폴더에서 이미 사용 중입니다. 다른 이름을 고르세요.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\"의 이름을 바꿀 수 없음",
"Could not create file \"{file}\"" : "\"{file}\"을(를) 만들 수 없음",
"Could not create file \"{file}\" because it already exists" : "파일이 이미 존재하므로 \"{file}\"을(를) 만들 수 없음",
"Could not create folder \"{dir}\" because it already exists" : "폴더가 이미 존재하므로 폴더 \"{dir}\"을(를) 만들 수 없음",
diff --git a/apps/files/l10n/ko.json b/apps/files/l10n/ko.json
index 1d8f34484ef..754e2626065 100644
--- a/apps/files/l10n/ko.json
+++ b/apps/files/l10n/ko.json
@@ -114,7 +114,6 @@
"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}개 선택됨",
"{usedQuotaByte} used" : "{usedQuotaByte} 사용",
"{used} of {quota} used" : "{quota} 중 {used} 사용함",
"{relative}% used" : "{relative}% 사용",
@@ -376,9 +375,9 @@
"Copied {origin} inside {destination}" : "{origin}을(를) {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}\"의 이름을 변경할 수 없음, 더 이상 존재하지 않음",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "폴더 \"{dir}\" 내에 파일 \"{targetName}\"이(가) 이미 있습니다. 다른 이름을 사용하십시오.",
- "Could not rename \"{fileName}\"" : "\"{fileName}\"의 이름을 바꿀 수 없음",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\"(이)가 더이상 존재하지 않아 이름을 바꿀 수 없습니다.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" 이름이 \"{dir}\" 폴더에서 이미 사용 중입니다. 다른 이름을 고르세요.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\"의 이름을 바꿀 수 없음",
"Could not create file \"{file}\"" : "\"{file}\"을(를) 만들 수 없음",
"Could not create file \"{file}\" because it already exists" : "파일이 이미 존재하므로 \"{file}\"을(를) 만들 수 없음",
"Could not create folder \"{dir}\" because it already exists" : "폴더가 이미 존재하므로 폴더 \"{dir}\"을(를) 만들 수 없음",
diff --git a/apps/files/l10n/lt_LT.js b/apps/files/l10n/lt_LT.js
index e977378b33b..30a359ea697 100644
--- a/apps/files/l10n/lt_LT.js
+++ b/apps/files/l10n/lt_LT.js
@@ -88,7 +88,6 @@ OC.L10N.register(
"Actions" : "Veiksmai",
"List of files and folders." : "Failų ir aplankų sąrašas.",
"File not found" : "Failas nerastas",
- "{count} selected" : "Pažymėta {count}",
"{usedQuotaByte} used" : "Naudojama {usedQuotaByte}",
"{used} of {quota} used" : "panaudota {used} iš {quota}",
"{relative}% used" : "Naudojama {relative}",
@@ -274,9 +273,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Nukopijuota {origin} aplanke {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Nukopijuota {origin} ir dar {nbfiles} failus aplanke {destination}",
"{newName} already exists" : "{newName} jau yra",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nepavyko pervadinti failo „{fileName}“, jo daugiau nebėra",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{targetName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
- "Could not rename \"{fileName}\"" : "Nepavyko pervadinti failo „{fileName}“",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti failo „{oldName}“, jo daugiau nebėra",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{newName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
+ "Could not rename \"{oldName}\"" : "Nepavyko pervadinti „{oldName}“",
"Could not create file \"{file}\"" : "Nepavyko sukurti failo „{file}“",
"Could not create file \"{file}\" because it already exists" : "Nepavyko sukurti failo „{file}“, nes jis jau yra",
"Could not create folder \"{dir}\" because it already exists" : "Nepavyko sukurti aplanko „{dir}“, nes jis jau yra",
diff --git a/apps/files/l10n/lt_LT.json b/apps/files/l10n/lt_LT.json
index a2495e4f0f5..8fda427c49e 100644
--- a/apps/files/l10n/lt_LT.json
+++ b/apps/files/l10n/lt_LT.json
@@ -86,7 +86,6 @@
"Actions" : "Veiksmai",
"List of files and folders." : "Failų ir aplankų sąrašas.",
"File not found" : "Failas nerastas",
- "{count} selected" : "Pažymėta {count}",
"{usedQuotaByte} used" : "Naudojama {usedQuotaByte}",
"{used} of {quota} used" : "panaudota {used} iš {quota}",
"{relative}% used" : "Naudojama {relative}",
@@ -272,9 +271,9 @@
"Copied {origin} inside {destination}" : "Nukopijuota {origin} aplanke {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Nukopijuota {origin} ir dar {nbfiles} failus aplanke {destination}",
"{newName} already exists" : "{newName} jau yra",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nepavyko pervadinti failo „{fileName}“, jo daugiau nebėra",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{targetName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
- "Could not rename \"{fileName}\"" : "Nepavyko pervadinti failo „{fileName}“",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nepavyko pervadinti failo „{oldName}“, jo daugiau nebėra",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Pavadinimas „{newName}“ jau naudojamas aplanke „{dir}“. Pasirinkite kitokį pavadinimą.",
+ "Could not rename \"{oldName}\"" : "Nepavyko pervadinti „{oldName}“",
"Could not create file \"{file}\"" : "Nepavyko sukurti failo „{file}“",
"Could not create file \"{file}\" because it already exists" : "Nepavyko sukurti failo „{file}“, nes jis jau yra",
"Could not create folder \"{dir}\" because it already exists" : "Nepavyko sukurti aplanko „{dir}“, nes jis jau yra",
diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js
index fa58071b8c6..ec3cccd3830 100644
--- a/apps/files/l10n/mk.js
+++ b/apps/files/l10n/mk.js
@@ -99,7 +99,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Насловите на колоните со копчиња се сортираат.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Оваа листа не е целосно прикажана поради заштеда на перформанси. Датотеките ќе се прикажуваат додека се движите низ листата.",
"File not found" : "Датотеката не е пронајдена",
- "{count} selected" : "{count} селектирани",
"{usedQuotaByte} used" : "искористено {usedQuotaByte}",
"{used} of {quota} used" : "Искористени {used} од {quota}",
"{relative}% used" : "искористено {relative}% ",
@@ -161,7 +160,7 @@ OC.L10N.register(
"Rename a file" : "Преименувај датотека",
"Delete a file" : "Избриши датотека",
"Navigation" : "Навигација",
- "View" : "Погледни",
+ "View" : "Поглед",
"You" : "Вас",
"Error while loading the file data" : "Грешка при вчитување на податоците од датотеката",
"Owner" : "Сопственик",
@@ -233,6 +232,8 @@ OC.L10N.register(
"All files" : "Сите датотеки",
"List of your files and folders." : "Листа на вашите датотеки и папки.",
"All folders" : "Сите папки",
+ "Personal files" : "Лични датотеки",
+ "No personal files found" : "Не се пронајдени лични датотеки ",
"Recent" : "Неодамнешни",
"List of recently modified files and folders." : "Листа на скоро изменети датотеки и папки.",
"No recently modified files" : "Нема скоро изменети датотеки",
@@ -281,9 +282,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Копирана {origin} во {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}\", датотеката не постои",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{targetName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.",
- "Could not rename \"{fileName}\"" : "Неможе да се преименува \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Неможе да се преименува \"{oldName}\", не постои повеќе",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.",
+ "Could not rename \"{oldName}\"" : "Неможе да се преименува \"{oldName}\"",
"Could not create file \"{file}\"" : "Неможе да се креира датотека \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Неможе да се креира датотека \"{file}\" бидејќи веќе постои",
"Could not create folder \"{dir}\" because it already exists" : "Неможе да се креира папка \"{dir}\" бидејќи веќе постои",
@@ -325,7 +326,7 @@ OC.L10N.register(
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 датотека и {folderCount} папки","1 датотека и {folderCount} папки"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} датотека и 1 папка","{fileCount} датотеки и 1 папка"],
"{fileCount} files and {folderCount} folders" : "{fileCount} датотеки и {folderCount} папки",
- "Personal Files" : "Персонални датотеки",
+ "Personal Files" : "Лични датотеки",
"Text file" : "Текстуална датотека",
"New text file.txt" : "Нова текстуална датотека file.txt"
},
diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json
index a1ded352961..69caf06a262 100644
--- a/apps/files/l10n/mk.json
+++ b/apps/files/l10n/mk.json
@@ -97,7 +97,6 @@
"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} селектирани",
"{usedQuotaByte} used" : "искористено {usedQuotaByte}",
"{used} of {quota} used" : "Искористени {used} од {quota}",
"{relative}% used" : "искористено {relative}% ",
@@ -159,7 +158,7 @@
"Rename a file" : "Преименувај датотека",
"Delete a file" : "Избриши датотека",
"Navigation" : "Навигација",
- "View" : "Погледни",
+ "View" : "Поглед",
"You" : "Вас",
"Error while loading the file data" : "Грешка при вчитување на податоците од датотеката",
"Owner" : "Сопственик",
@@ -231,6 +230,8 @@
"All files" : "Сите датотеки",
"List of your files and folders." : "Листа на вашите датотеки и папки.",
"All folders" : "Сите папки",
+ "Personal files" : "Лични датотеки",
+ "No personal files found" : "Не се пронајдени лични датотеки ",
"Recent" : "Неодамнешни",
"List of recently modified files and folders." : "Листа на скоро изменети датотеки и папки.",
"No recently modified files" : "Нема скоро изменети датотеки",
@@ -279,9 +280,9 @@
"Copied {origin} inside {destination}" : "Копирана {origin} во {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}\", датотеката не постои",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{targetName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.",
- "Could not rename \"{fileName}\"" : "Неможе да се преименува \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Неможе да се преименува \"{oldName}\", не постои повеќе",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Името \"{newName}\" веќе се користи во папката \"{dir}\". Ве молиме изберете друго име.",
+ "Could not rename \"{oldName}\"" : "Неможе да се преименува \"{oldName}\"",
"Could not create file \"{file}\"" : "Неможе да се креира датотека \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Неможе да се креира датотека \"{file}\" бидејќи веќе постои",
"Could not create folder \"{dir}\" because it already exists" : "Неможе да се креира папка \"{dir}\" бидејќи веќе постои",
@@ -323,7 +324,7 @@
"_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 датотека и {folderCount} папки","1 датотека и {folderCount} папки"],
"_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} датотека и 1 папка","{fileCount} датотеки и 1 папка"],
"{fileCount} files and {folderCount} folders" : "{fileCount} датотеки и {folderCount} папки",
- "Personal Files" : "Персонални датотеки",
+ "Personal Files" : "Лични датотеки",
"Text file" : "Текстуална датотека",
"New text file.txt" : "Нова текстуална датотека file.txt"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index eb260daa93b..f59399e8af5 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -112,7 +112,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Kolonneoverskrifter med knapper kan sorteres.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Denne listen er ikke fullstendig gjengitt av ytelsesgrunner. Filene gjengis når du navigerer gjennom listen.",
"File not found" : "Finner ikke filen",
- "{count} selected" : "{count} valgt",
"{usedQuotaByte} used" : "{usedQuotaByte} brukt",
"{used} of {quota} used" : "{used} av {quota} brukt",
"{relative}% used" : "{relative}% brukt",
@@ -359,9 +358,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopierte {origin} i {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopierte {origin} og {nbfiles} andre filer i {destination}",
"{newName} already exists" : "{newName} finnes allerede",
- "Could not rename \"{fileName}\", it does not exist any more" : "Klarte ikke å omdøpe \"{fileName}\", den finnes ikke lenger",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{targetName}\" brukes allerede i mappen \"{dir}\". Velg et annet navn.",
- "Could not rename \"{fileName}\"" : "Klarte ikke å gi \"{fileName}\" nytt navn",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøpe \"{oldName}\", den finnes ikke lenger",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" er allerede brukt i mappen \"{dir}\". Velg et annet navn.",
+ "Could not rename \"{oldName}\"" : "Kunne ikke omdøpe \"{oldName}\"",
"Could not create file \"{file}\"" : "Klarte ikke å opprette fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
"Could not create folder \"{dir}\" because it already exists" : "Kunne ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index f92fd8a93d2..d17b6273657 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -110,7 +110,6 @@
"Column headers with buttons are sortable." : "Kolonneoverskrifter med knapper kan sorteres.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Denne listen er ikke fullstendig gjengitt av ytelsesgrunner. Filene gjengis når du navigerer gjennom listen.",
"File not found" : "Finner ikke filen",
- "{count} selected" : "{count} valgt",
"{usedQuotaByte} used" : "{usedQuotaByte} brukt",
"{used} of {quota} used" : "{used} av {quota} brukt",
"{relative}% used" : "{relative}% brukt",
@@ -357,9 +356,9 @@
"Copied {origin} inside {destination}" : "Kopierte {origin} i {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopierte {origin} og {nbfiles} andre filer i {destination}",
"{newName} already exists" : "{newName} finnes allerede",
- "Could not rename \"{fileName}\", it does not exist any more" : "Klarte ikke å omdøpe \"{fileName}\", den finnes ikke lenger",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{targetName}\" brukes allerede i mappen \"{dir}\". Velg et annet navn.",
- "Could not rename \"{fileName}\"" : "Klarte ikke å gi \"{fileName}\" nytt navn",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunne ikke omdøpe \"{oldName}\", den finnes ikke lenger",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Navnet \"{newName}\" er allerede brukt i mappen \"{dir}\". Velg et annet navn.",
+ "Could not rename \"{oldName}\"" : "Kunne ikke omdøpe \"{oldName}\"",
"Could not create file \"{file}\"" : "Klarte ikke å opprette fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Klarte ikke å opprette fil \"{file}\" fordi den finnes allerede",
"Could not create folder \"{dir}\" because it already exists" : "Kunne ikke å opprette mappe \"{dir}\" fordi den finnes allerede",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 30ae8770ece..ccd46a10268 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -70,6 +70,8 @@ OC.L10N.register(
"Transferred from %1$s on %2$s" : "Overgezet van %1$s naar %2$s",
"Files compatibility" : "Bestandscompatibiliteit",
"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." : "Toestaan om bestandsnamen te beperken om te borgen dat bestanden met alle cliënts gesynchroniseerd kunnen worden. Standaard zijn alle bestandsnamen valide die zijn toegestaan op POSIX (zoals Linux en macOS.)",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Na inschakeling van Windows-compatibele bestandsnamen, kunnen bestaande bestanden niet meer worden gewijzigd, maar kunnen ze door de eigenaar worden hernoemd naar geldige nieuwe namen.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Het is ook mogelijk om bestanden automatisch te migreren nadat deze instelling is ingeschakeld. Raadpleeg de documentatie over het occ-commando.",
"Enforce Windows compatibility" : "Dwing Windows-compatibiliteit af",
"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." : "Dit zal bestandsnamen blokkeren die niet toegestaan zijn op Windows-systemen, zoals gereserveerde namen of speciale tekens. Dit dwingt niet tot compatibiliteit voor hoofd- en kleine letters.",
"File Management" : "Bestandsbeheer",
@@ -122,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Kolomkoppen met knoppen zijn sorteerbaar",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "De lijst is niet volledig verwerkt om de prestatie niet te beperken. De bestanden worden verder verwerkt als je door de lijst navigeert.",
"File not found" : "Bestand niet gevonden",
- "{count} selected" : "{count} geselecteerd",
+ "_{count} selected_::_{count} selected_" : ["{count} geselecteerd","{count} geselecteerd"],
"{usedQuotaByte} used" : "{usedQuotaByte} gebruikt",
"{used} of {quota} used" : "{used} van {quota} gebruikt",
"{relative}% used" : "{relative}% gebruikt",
@@ -243,6 +245,7 @@ OC.L10N.register(
"All files failed to be converted" : "De conversie van alle bestanden is mislukt",
"One file could not be converted: {message}" : "Een bestand kon niet worden geconverteerd: {message}",
"_One file could not be converted_::_%n files could not be converted_" : ["Een bestand kon niet geconverteerd worden","%n bestanden konden niet geconverteerd worden"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["Een bestand succesvol geconverteerd","%n bestanden succesvol geconverteerd"],
"Files successfully converted" : "Bestanden succesvol geconverteerd",
"Failed to convert files" : "Conversie van bestanden mislukt",
"Converting file …" : "Bestand converteren ...",
@@ -398,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopieerde {origin} binnen {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Heeft {origin} en {nbfiles} andere bestanden in {destination} gekopieerd",
"{newName} already exists" : "{newName} bestaat al",
- "Could not rename \"{fileName}\", it does not exist any more" : "Kon \"{fileName}\" niet hernoemen, het bestaat niet meer",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "De naam \"{targetName}\" bestaat al in map \"{dir}\". Kies een andere naam.",
- "Could not rename \"{fileName}\"" : "Kon \"{fileName}\" niet hernoemen",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kon \"{oldName}\" niet hernoemen, het bestaat niet meer",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "De naam \"{newName}\" bestaat al in map \"{dir}\". Kies een andere naam.",
+ "Could not rename \"{oldName}\"" : "Kon \"{oldName}\" niet hernoemen",
"Could not create file \"{file}\"" : "Kon \"{file}\" niet aanmaken",
"Could not create file \"{file}\" because it already exists" : "Kon \"{file}\" niet aanmaken, omdat het al bestaat",
"Could not create folder \"{dir}\" because it already exists" : "Kon map \"{dir}\" niet aanmaken, omdat die al bestaat",
@@ -450,7 +453,9 @@ OC.L10N.register(
"Personal Files" : "Persoonlijke bestanden",
"Text file" : "Tekstbestand",
"New text file.txt" : "Nieuw tekstbestand.txt",
+ "%1$s (renamed)" : "%1$s (hernoemd)",
"renamed file" : "bestand hernoemd",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Na inschakeling van Windows-compatibele bestandsnamen, kunnen bestaande bestanden niet meer worden gewijzigd, maar kunnen ze door de eigenaar worden hernoemd naar geldige nieuwe namen.",
"{count} files could not be converted" : "{count} bestanden konden niet worden geconverteerd",
"{count} files successfully converted" : "{count} bestanden succesvol geconverteerd"
},
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 4f548fe1987..45dee4a4ebd 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -68,6 +68,8 @@
"Transferred from %1$s on %2$s" : "Overgezet van %1$s naar %2$s",
"Files compatibility" : "Bestandscompatibiliteit",
"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." : "Toestaan om bestandsnamen te beperken om te borgen dat bestanden met alle cliënts gesynchroniseerd kunnen worden. Standaard zijn alle bestandsnamen valide die zijn toegestaan op POSIX (zoals Linux en macOS.)",
+ "After enabling the Windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Na inschakeling van Windows-compatibele bestandsnamen, kunnen bestaande bestanden niet meer worden gewijzigd, maar kunnen ze door de eigenaar worden hernoemd naar geldige nieuwe namen.",
+ "It is also possible to migrate files automatically after enabling this setting, please refer to the documentation about the occ command." : "Het is ook mogelijk om bestanden automatisch te migreren nadat deze instelling is ingeschakeld. Raadpleeg de documentatie over het occ-commando.",
"Enforce Windows compatibility" : "Dwing Windows-compatibiliteit af",
"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." : "Dit zal bestandsnamen blokkeren die niet toegestaan zijn op Windows-systemen, zoals gereserveerde namen of speciale tekens. Dit dwingt niet tot compatibiliteit voor hoofd- en kleine letters.",
"File Management" : "Bestandsbeheer",
@@ -120,7 +122,7 @@
"Column headers with buttons are sortable." : "Kolomkoppen met knoppen zijn sorteerbaar",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "De lijst is niet volledig verwerkt om de prestatie niet te beperken. De bestanden worden verder verwerkt als je door de lijst navigeert.",
"File not found" : "Bestand niet gevonden",
- "{count} selected" : "{count} geselecteerd",
+ "_{count} selected_::_{count} selected_" : ["{count} geselecteerd","{count} geselecteerd"],
"{usedQuotaByte} used" : "{usedQuotaByte} gebruikt",
"{used} of {quota} used" : "{used} van {quota} gebruikt",
"{relative}% used" : "{relative}% gebruikt",
@@ -241,6 +243,7 @@
"All files failed to be converted" : "De conversie van alle bestanden is mislukt",
"One file could not be converted: {message}" : "Een bestand kon niet worden geconverteerd: {message}",
"_One file could not be converted_::_%n files could not be converted_" : ["Een bestand kon niet geconverteerd worden","%n bestanden konden niet geconverteerd worden"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["Een bestand succesvol geconverteerd","%n bestanden succesvol geconverteerd"],
"Files successfully converted" : "Bestanden succesvol geconverteerd",
"Failed to convert files" : "Conversie van bestanden mislukt",
"Converting file …" : "Bestand converteren ...",
@@ -396,9 +399,9 @@
"Copied {origin} inside {destination}" : "Kopieerde {origin} binnen {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Heeft {origin} en {nbfiles} andere bestanden in {destination} gekopieerd",
"{newName} already exists" : "{newName} bestaat al",
- "Could not rename \"{fileName}\", it does not exist any more" : "Kon \"{fileName}\" niet hernoemen, het bestaat niet meer",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "De naam \"{targetName}\" bestaat al in map \"{dir}\". Kies een andere naam.",
- "Could not rename \"{fileName}\"" : "Kon \"{fileName}\" niet hernoemen",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kon \"{oldName}\" niet hernoemen, het bestaat niet meer",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "De naam \"{newName}\" bestaat al in map \"{dir}\". Kies een andere naam.",
+ "Could not rename \"{oldName}\"" : "Kon \"{oldName}\" niet hernoemen",
"Could not create file \"{file}\"" : "Kon \"{file}\" niet aanmaken",
"Could not create file \"{file}\" because it already exists" : "Kon \"{file}\" niet aanmaken, omdat het al bestaat",
"Could not create folder \"{dir}\" because it already exists" : "Kon map \"{dir}\" niet aanmaken, omdat die al bestaat",
@@ -448,7 +451,9 @@
"Personal Files" : "Persoonlijke bestanden",
"Text file" : "Tekstbestand",
"New text file.txt" : "Nieuw tekstbestand.txt",
+ "%1$s (renamed)" : "%1$s (hernoemd)",
"renamed file" : "bestand hernoemd",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Na inschakeling van Windows-compatibele bestandsnamen, kunnen bestaande bestanden niet meer worden gewijzigd, maar kunnen ze door de eigenaar worden hernoemd naar geldige nieuwe namen.",
"{count} files could not be converted" : "{count} bestanden konden niet worden geconverteerd",
"{count} files successfully converted" : "{count} bestanden succesvol geconverteerd"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/files/l10n/pl.js b/apps/files/l10n/pl.js
index dc0e482ea90..63bca5c485b 100644
--- a/apps/files/l10n/pl.js
+++ b/apps/files/l10n/pl.js
@@ -124,7 +124,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Nagłówki kolumn z przyciskami są sortowalne.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ta lista nie jest w pełni renderowana ze względu na wydajność. Pliki będą renderowane podczas poruszania się po liście.",
"File not found" : "Nie odnaleziono pliku",
- "{count} selected" : "wybrano {count}",
"{usedQuotaByte} used" : "Wykorzystano {usedQuotaByte}",
"{used} of {quota} used" : "Wykorzystane {used} z {quota}",
"{relative}% used" : "Wykorzystano {relative}%",
@@ -401,9 +400,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Skopiowano {origin} wewnątrz {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Skopiowano {origin} oraz {nbfiles} innych plików wewnątrz {destination}",
"{newName} already exists" : "{newName} już istnieje",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nie można zmienić nazwy \"{fileName}\", plik już nie istnieje",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{targetName}\" jest już używana w katalogu \"{dir}\". Wybierz inną nazwę.",
- "Could not rename \"{fileName}\"" : "Nie można zmienić nazwy \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nie można zmienić nazwy \"{oldName}\", już nie istnieje",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{newName}\" jest już używana w katalogu \"{dir}\". Wybierz inną nazwę.",
+ "Could not rename \"{oldName}\"" : "Nie można zmienić nazwy \"{oldName}\"",
"Could not create file \"{file}\"" : "Nie można utworzyć pliku \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie można utworzyć pliku \"{file}\", ponieważ ten plik już istnieje.",
"Could not create folder \"{dir}\" because it already exists" : "Nie można utworzyć katalogu \"{dir}\", ponieważ już istnieje",
diff --git a/apps/files/l10n/pl.json b/apps/files/l10n/pl.json
index e1c31eb98d0..2eea38487f8 100644
--- a/apps/files/l10n/pl.json
+++ b/apps/files/l10n/pl.json
@@ -122,7 +122,6 @@
"Column headers with buttons are sortable." : "Nagłówki kolumn z przyciskami są sortowalne.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ta lista nie jest w pełni renderowana ze względu na wydajność. Pliki będą renderowane podczas poruszania się po liście.",
"File not found" : "Nie odnaleziono pliku",
- "{count} selected" : "wybrano {count}",
"{usedQuotaByte} used" : "Wykorzystano {usedQuotaByte}",
"{used} of {quota} used" : "Wykorzystane {used} z {quota}",
"{relative}% used" : "Wykorzystano {relative}%",
@@ -399,9 +398,9 @@
"Copied {origin} inside {destination}" : "Skopiowano {origin} wewnątrz {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Skopiowano {origin} oraz {nbfiles} innych plików wewnątrz {destination}",
"{newName} already exists" : "{newName} już istnieje",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nie można zmienić nazwy \"{fileName}\", plik już nie istnieje",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{targetName}\" jest już używana w katalogu \"{dir}\". Wybierz inną nazwę.",
- "Could not rename \"{fileName}\"" : "Nie można zmienić nazwy \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nie można zmienić nazwy \"{oldName}\", już nie istnieje",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Nazwa \"{newName}\" jest już używana w katalogu \"{dir}\". Wybierz inną nazwę.",
+ "Could not rename \"{oldName}\"" : "Nie można zmienić nazwy \"{oldName}\"",
"Could not create file \"{file}\"" : "Nie można utworzyć pliku \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie można utworzyć pliku \"{file}\", ponieważ ten plik już istnieje.",
"Could not create folder \"{dir}\" because it already exists" : "Nie można utworzyć katalogu \"{dir}\", ponieważ już istnieje",
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index 4fbf806e50f..694c2561685 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -67,7 +67,7 @@ OC.L10N.register(
"Your ownership transfer of {path} to {user} has completed." : "A transferência da sua propriedade de {path} para {user} foi concluída.",
"The ownership transfer of {path} from {user} has completed." : "A transferência da propriedade de {path} de {user} foi concluída.",
"in %s" : "em %s",
- "Transferred from %1$s on %2$s" : "Transferido de %1$s para %2$s",
+ "Transferred from %1$s on %2$s" : "Transferido de %1$s em %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.",
"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.",
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Os cabeçalhos de coluna com botões podem ser ordenados.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista não é totalmente renderizada por motivos de desempenho. Os arquivos serão renderizados à medida que você navegar pela lista.",
"File not found" : "Arquivo não encontrado",
- "{count} selected" : "{count} selecionados",
+ "_{count} selected_::_{count} selected_" : ["{count} selecionado","{count} selecionados","{count} selecionados"],
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% usado",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} foi copiado para {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} e outros {nbfiles} arquivos foram copiados para {destination}",
"{newName} already exists" : "{newName} já existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "Não foi possível renomear \"{fileName}\" pois ele não existe mais",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{targetName}\" já está sendo usado na pasta  \"{dir}\". Por favor escolha um nome diferente.",
- "Could not rename \"{fileName}\"" : "Não foi possível renomear \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear \"{oldName}\", ele não existe mais",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{newName}\" já é utilizado na pasta \"{dir}\". Escolha um nome diferente.",
+ "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"Could not create file \"{file}\"" : "Não foi possível criar o arquivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o arquivo \"{file}\" pois ele já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\" pois ela já existe",
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index 26407bec6c5..21666ff1c48 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -65,7 +65,7 @@
"Your ownership transfer of {path} to {user} has completed." : "A transferência da sua propriedade de {path} para {user} foi concluída.",
"The ownership transfer of {path} from {user} has completed." : "A transferência da propriedade de {path} de {user} foi concluída.",
"in %s" : "em %s",
- "Transferred from %1$s on %2$s" : "Transferido de %1$s para %2$s",
+ "Transferred from %1$s on %2$s" : "Transferido de %1$s em %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.",
"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.",
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Os cabeçalhos de coluna com botões podem ser ordenados.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Esta lista não é totalmente renderizada por motivos de desempenho. Os arquivos serão renderizados à medida que você navegar pela lista.",
"File not found" : "Arquivo não encontrado",
- "{count} selected" : "{count} selecionados",
+ "_{count} selected_::_{count} selected_" : ["{count} selecionado","{count} selecionados","{count} selecionados"],
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "{used} de {quota} usados",
"{relative}% used" : "{relative}% usado",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "{origin} foi copiado para {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} e outros {nbfiles} arquivos foram copiados para {destination}",
"{newName} already exists" : "{newName} já existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "Não foi possível renomear \"{fileName}\" pois ele não existe mais",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{targetName}\" já está sendo usado na pasta  \"{dir}\". Por favor escolha um nome diferente.",
- "Could not rename \"{fileName}\"" : "Não foi possível renomear \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear \"{oldName}\", ele não existe mais",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{newName}\" já é utilizado na pasta \"{dir}\". Escolha um nome diferente.",
+ "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"Could not create file \"{file}\"" : "Não foi possível criar o arquivo \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o arquivo \"{file}\" pois ele já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\" pois ela já existe",
diff --git a/apps/files/l10n/pt_PT.js b/apps/files/l10n/pt_PT.js
index f7ee81df2ff..d5ca3086b76 100644
--- a/apps/files/l10n/pt_PT.js
+++ b/apps/files/l10n/pt_PT.js
@@ -105,7 +105,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Os cabeçalhos das colunas com botões são ordenáveis",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Por motivos de desempenho, esta lista não é totalmente processada. Os ficheiros serão processados à medida que navega na lista.",
"File not found" : "Ficheiro não encontrado",
- "{count} selected" : "{count} selecionado ",
+ "_{count} selected_::_{count} selected_" : ["{count} selecionado","{count} selecionado","{count} selecionado"],
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "utilizado {used} de {quota}",
"{relative}% used" : "{relative}% usado",
@@ -226,9 +226,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Copiado {origin} para {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiados {origin} e {nbfiles} outros ficheiros para dentro de {destination}",
"{newName} already exists" : "{newName} já existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "Não foi possível renomear \"{fileName}\", este já não existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{targetName}\" já está em utilização na pasta \"{dir}\". Por favor, escolha um nome diferente.",
- "Could not rename \"{fileName}\"" : "Não foi possível renomear \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear “{oldName}”, já não existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome “{newName}” já está a ser utilizado na pasta “{dir}”. Por favor, escolha um nome diferente.",
+ "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"Could not create file \"{file}\"" : "Não foi possível criar o ficheiro \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o ficheiro \"{file}\", porque este já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\", porque esta já existe",
@@ -260,6 +260,8 @@ OC.L10N.register(
"{fileCount} files and {folderCount} folders" : "{fileCount} ficheiros e {folderCount} pastas",
"Personal Files" : "Ficheiros pessoais",
"Text file" : "Ficheiro de Texto",
- "New text file.txt" : "Novo texto ficheiro.txt"
+ "New text file.txt" : "Novo texto ficheiro.txt",
+ "%1$s (renamed)" : "%1$s (renomeado)",
+ "renamed file" : "ficheiro renomeado"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files/l10n/pt_PT.json b/apps/files/l10n/pt_PT.json
index 87045e72815..5b77bec6bda 100644
--- a/apps/files/l10n/pt_PT.json
+++ b/apps/files/l10n/pt_PT.json
@@ -103,7 +103,7 @@
"Column headers with buttons are sortable." : "Os cabeçalhos das colunas com botões são ordenáveis",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Por motivos de desempenho, esta lista não é totalmente processada. Os ficheiros serão processados à medida que navega na lista.",
"File not found" : "Ficheiro não encontrado",
- "{count} selected" : "{count} selecionado ",
+ "_{count} selected_::_{count} selected_" : ["{count} selecionado","{count} selecionado","{count} selecionado"],
"{usedQuotaByte} used" : "{usedQuotaByte} usado",
"{used} of {quota} used" : "utilizado {used} de {quota}",
"{relative}% used" : "{relative}% usado",
@@ -224,9 +224,9 @@
"Copied {origin} inside {destination}" : "Copiado {origin} para {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiados {origin} e {nbfiles} outros ficheiros para dentro de {destination}",
"{newName} already exists" : "{newName} já existe",
- "Could not rename \"{fileName}\", it does not exist any more" : "Não foi possível renomear \"{fileName}\", este já não existe",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome \"{targetName}\" já está em utilização na pasta \"{dir}\". Por favor, escolha um nome diferente.",
- "Could not rename \"{fileName}\"" : "Não foi possível renomear \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Não foi possível renomear “{oldName}”, já não existe",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "O nome “{newName}” já está a ser utilizado na pasta “{dir}”. Por favor, escolha um nome diferente.",
+ "Could not rename \"{oldName}\"" : "Não foi possível renomear \"{oldName}\"",
"Could not create file \"{file}\"" : "Não foi possível criar o ficheiro \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Não foi possível criar o ficheiro \"{file}\", porque este já existe",
"Could not create folder \"{dir}\" because it already exists" : "Não foi possível criar a pasta \"{dir}\", porque esta já existe",
@@ -258,6 +258,8 @@
"{fileCount} files and {folderCount} folders" : "{fileCount} ficheiros e {folderCount} pastas",
"Personal Files" : "Ficheiros pessoais",
"Text file" : "Ficheiro de Texto",
- "New text file.txt" : "Novo texto ficheiro.txt"
+ "New text file.txt" : "Novo texto ficheiro.txt",
+ "%1$s (renamed)" : "%1$s (renomeado)",
+ "renamed file" : "ficheiro renomeado"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files/l10n/ro.js b/apps/files/l10n/ro.js
index 8ad80762a2b..dd5127b2f30 100644
--- a/apps/files/l10n/ro.js
+++ b/apps/files/l10n/ro.js
@@ -82,6 +82,7 @@ OC.L10N.register(
"List of files and folders." : "Listă fișiere și foldere",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Această lista este incomplet afișată din motive de performanță. Fișierele vor fi afișate pe măsură ce navigați prin listă.",
"File not found" : "Fișierul nu a fost găsit",
+ "_{count} selected_::_{count} selected_" : ["{count}selectat","{count}selectate","{count}selectate"],
"{usedQuotaByte} used" : "{usedQuotaByte} utilizați",
"{used} of {quota} used" : "{used} din {quota} folosiți",
"{relative}% used" : "{relative}% utilizat",
@@ -231,9 +232,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "S-a copiat {origin} în {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "S-a copiat {origin} și {nbfiles} alte fișiere în {destination}",
"{newName} already exists" : "{newName} există deja",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nu s-a putut redenumi \"{fileName}\", fișierul nu mai există",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Numele \"{targetName}\" este deja folosit în directorul \"{dir}\". Alege un nume diferit.",
- "Could not rename \"{fileName}\"" : "Nu s-a putut redenumi \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" nu poate fi redenumit deoarece nu mai există",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Numele \"{newName}\" există în folderul \"{dir}\". Selectați, vă rog, alt nume.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" nu poate fi redenumit",
"Could not create file \"{file}\"" : "Nu s-a putut crea fișierul \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nu s-a putut crea fișierul \"{file}\" deoarece există deja unul cu același nume",
"Could not create folder \"{dir}\" because it already exists" : "Nu s-a putut crea directorul \"{dir}\" deoarece există deja unul cu același nume",
diff --git a/apps/files/l10n/ro.json b/apps/files/l10n/ro.json
index d9c1484484c..6c49f8aded9 100644
--- a/apps/files/l10n/ro.json
+++ b/apps/files/l10n/ro.json
@@ -80,6 +80,7 @@
"List of files and folders." : "Listă fișiere și foldere",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Această lista este incomplet afișată din motive de performanță. Fișierele vor fi afișate pe măsură ce navigați prin listă.",
"File not found" : "Fișierul nu a fost găsit",
+ "_{count} selected_::_{count} selected_" : ["{count}selectat","{count}selectate","{count}selectate"],
"{usedQuotaByte} used" : "{usedQuotaByte} utilizați",
"{used} of {quota} used" : "{used} din {quota} folosiți",
"{relative}% used" : "{relative}% utilizat",
@@ -229,9 +230,9 @@
"Copied {origin} inside {destination}" : "S-a copiat {origin} în {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "S-a copiat {origin} și {nbfiles} alte fișiere în {destination}",
"{newName} already exists" : "{newName} există deja",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nu s-a putut redenumi \"{fileName}\", fișierul nu mai există",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Numele \"{targetName}\" este deja folosit în directorul \"{dir}\". Alege un nume diferit.",
- "Could not rename \"{fileName}\"" : "Nu s-a putut redenumi \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" nu poate fi redenumit deoarece nu mai există",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Numele \"{newName}\" există în folderul \"{dir}\". Selectați, vă rog, alt nume.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" nu poate fi redenumit",
"Could not create file \"{file}\"" : "Nu s-a putut crea fișierul \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nu s-a putut crea fișierul \"{file}\" deoarece există deja unul cu același nume",
"Could not create folder \"{dir}\" because it already exists" : "Nu s-a putut crea directorul \"{dir}\" deoarece există deja unul cu același nume",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index 324ea82e228..ab93d838068 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -124,7 +124,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Заголовки столбцов с кнопками можно сортировать.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Этот список отображается не полностью из соображений производительности. Файлы будут отображаться по мере перемещения по списку.",
"File not found" : "Файл не найден",
- "{count} selected" : "{count} выбрано",
"{usedQuotaByte} used" : "Использовано {usedQuotaByte}",
"{used} of {quota} used" : "использовано {used} из {quota}",
"{relative}% used" : "Использовано {relative}%",
@@ -401,9 +400,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} скопирован в {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}», файл больше не существует",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя «{targetName}» уже используется в каталоге «{dir}». Выберите другое имя.",
- "Could not rename \"{fileName}\"" : "Невозможно переименовать «{fileName}»",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не удалось переименовать \"{oldName}\", его больше не существует",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя \"{newName}\" уже используется в каталоге \"{dir}\". Выберите другое имя.",
+ "Could not rename \"{oldName}\"" : "Не удалось переименовать «{oldName}»",
"Could not create file \"{file}\"" : "Невозможно создать файл «{file}»",
"Could not create file \"{file}\" because it already exists" : "Невозможно создать файл «{file}», он уже существует",
"Could not create folder \"{dir}\" because it already exists" : "Невозможно создать каталог «{dir}», он уже существует",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 73cb009e141..b263ee6c775 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -122,7 +122,6 @@
"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} выбрано",
"{usedQuotaByte} used" : "Использовано {usedQuotaByte}",
"{used} of {quota} used" : "использовано {used} из {quota}",
"{relative}% used" : "Использовано {relative}%",
@@ -399,9 +398,9 @@
"Copied {origin} inside {destination}" : "{origin} скопирован в {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}», файл больше не существует",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя «{targetName}» уже используется в каталоге «{dir}». Выберите другое имя.",
- "Could not rename \"{fileName}\"" : "Невозможно переименовать «{fileName}»",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не удалось переименовать \"{oldName}\", его больше не существует",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Имя \"{newName}\" уже используется в каталоге \"{dir}\". Выберите другое имя.",
+ "Could not rename \"{oldName}\"" : "Не удалось переименовать «{oldName}»",
"Could not create file \"{file}\"" : "Невозможно создать файл «{file}»",
"Could not create file \"{file}\" because it already exists" : "Невозможно создать файл «{file}», он уже существует",
"Could not create folder \"{dir}\" because it already exists" : "Невозможно создать каталог «{dir}», он уже существует",
diff --git a/apps/files/l10n/sc.js b/apps/files/l10n/sc.js
index 90722be0e4c..d073f91e7a1 100644
--- a/apps/files/l10n/sc.js
+++ b/apps/files/l10n/sc.js
@@ -76,7 +76,6 @@ OC.L10N.register(
"(selected)" : "(seletzionados)",
"List of files and folders." : "Lista de archìvios e cartellas.",
"File not found" : "Archìviu no agatadu",
- "{count} selected" : "seletzionados: {count}",
"{usedQuotaByte} used" : "{usedQuotaByte} impreadu",
"{used} of {quota} used" : "{used} de {quota} impreadu",
"{relative}% used" : "{relative}% impreadu",
@@ -239,9 +238,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} copiadu a intro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiados {origin} e {nbfiles} àteros archìvios a intro de {destination}",
"{newName} already exists" : "{newName} esistit giai",
- "Could not rename \"{fileName}\", it does not exist any more" : "No at fatu a torrare a numenare \"{fileName}\", ca no esistit prus",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Su nùmene \"{targetName}\" est giai impreadu in sa cartella \"{dir}\". Sèbera un'àteru nùmene.",
- "Could not rename \"{fileName}\"" : "No at fatu a torrare a numenare \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossìbile torrare a numenare \"{oldName}\", dae chi no esistit prus",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Su nùmene \"{newName}\" est giai impreadu in sa cartella \"{dir}\". Sèbera unu nùmene diferente.",
+ "Could not rename \"{oldName}\"" : "Impossìbile torrare a numenare \"{oldName}\"",
"Could not create file \"{file}\"" : "No at fatu a creare s'archìviu \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No at fatu a creare s'archìviu \"{file}\" ca esitit giai",
"Could not create folder \"{dir}\" because it already exists" : "No at fatu a creare sa cartella \"{dir}\" ca esistit giai",
diff --git a/apps/files/l10n/sc.json b/apps/files/l10n/sc.json
index 0bdada5e8a7..5fcaa717ef2 100644
--- a/apps/files/l10n/sc.json
+++ b/apps/files/l10n/sc.json
@@ -74,7 +74,6 @@
"(selected)" : "(seletzionados)",
"List of files and folders." : "Lista de archìvios e cartellas.",
"File not found" : "Archìviu no agatadu",
- "{count} selected" : "seletzionados: {count}",
"{usedQuotaByte} used" : "{usedQuotaByte} impreadu",
"{used} of {quota} used" : "{used} de {quota} impreadu",
"{relative}% used" : "{relative}% impreadu",
@@ -237,9 +236,9 @@
"Copied {origin} inside {destination}" : "{origin} copiadu a intro de {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiados {origin} e {nbfiles} àteros archìvios a intro de {destination}",
"{newName} already exists" : "{newName} esistit giai",
- "Could not rename \"{fileName}\", it does not exist any more" : "No at fatu a torrare a numenare \"{fileName}\", ca no esistit prus",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Su nùmene \"{targetName}\" est giai impreadu in sa cartella \"{dir}\". Sèbera un'àteru nùmene.",
- "Could not rename \"{fileName}\"" : "No at fatu a torrare a numenare \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Impossìbile torrare a numenare \"{oldName}\", dae chi no esistit prus",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Su nùmene \"{newName}\" est giai impreadu in sa cartella \"{dir}\". Sèbera unu nùmene diferente.",
+ "Could not rename \"{oldName}\"" : "Impossìbile torrare a numenare \"{oldName}\"",
"Could not create file \"{file}\"" : "No at fatu a creare s'archìviu \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "No at fatu a creare s'archìviu \"{file}\" ca esitit giai",
"Could not create folder \"{dir}\" because it already exists" : "No at fatu a creare sa cartella \"{dir}\" ca esistit giai",
diff --git a/apps/files/l10n/sk.js b/apps/files/l10n/sk.js
index b4f176d76f9..a0c8c8970b5 100644
--- a/apps/files/l10n/sk.js
+++ b/apps/files/l10n/sk.js
@@ -116,7 +116,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Stĺpce hlavičiek s tlačidlami sú triediteľné.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Tento zoznam nie je úplne vykreslený z dôvodov výkonu. Súbory budú vykreslené, keď budete prechádzať zoznamom.",
"File not found" : "Súbor nenájdený",
- "{count} selected" : "{count} vybraných",
+ "_{count} selected_::_{count} selected_" : ["{count} vybraný","{count} vybrané","{count} vybraných","{count} vybraných"],
"{usedQuotaByte} used" : "{usedQuotaByte} použitých",
"{used} of {quota} used" : "použitých {used} z {quota}",
"{relative}% used" : "{relative}% použitých",
@@ -391,9 +391,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Skopírované {origin} do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Skopírované {origin} a {nbfiles} ostatných súborov do {destination}",
"{newName} already exists" : "{newName} už existuje",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nie je možné premenovať \"{fileName}\", cieľ už neexistuje",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Názov \"{targetName}\" je už použitý v priečinku \"{dir}\". Zvoľte prosím iný názov.",
- "Could not rename \"{fileName}\"" : "Nie je možné premenovať \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nebolo možné premenovať \"{oldName}\". Položka už neexistuje.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Názov \"{newName}\" sa už používa v priečinku \"{dir}\". Vyberte prosím iný názov.",
+ "Could not rename \"{oldName}\"" : "Nebolo možné premenovať \"{oldName}\"",
"Could not create file \"{file}\"" : "Nie je možné vytvoriť súbor \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie je možné vytvoriť súbor \"{file}\" lebo už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Nie je možné vytvoriť priečinok \"{dir}\" lebo už existuje",
diff --git a/apps/files/l10n/sk.json b/apps/files/l10n/sk.json
index 00da3b734a4..82f66759f47 100644
--- a/apps/files/l10n/sk.json
+++ b/apps/files/l10n/sk.json
@@ -114,7 +114,7 @@
"Column headers with buttons are sortable." : "Stĺpce hlavičiek s tlačidlami sú triediteľné.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Tento zoznam nie je úplne vykreslený z dôvodov výkonu. Súbory budú vykreslené, keď budete prechádzať zoznamom.",
"File not found" : "Súbor nenájdený",
- "{count} selected" : "{count} vybraných",
+ "_{count} selected_::_{count} selected_" : ["{count} vybraný","{count} vybrané","{count} vybraných","{count} vybraných"],
"{usedQuotaByte} used" : "{usedQuotaByte} použitých",
"{used} of {quota} used" : "použitých {used} z {quota}",
"{relative}% used" : "{relative}% použitých",
@@ -389,9 +389,9 @@
"Copied {origin} inside {destination}" : "Skopírované {origin} do {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Skopírované {origin} a {nbfiles} ostatných súborov do {destination}",
"{newName} already exists" : "{newName} už existuje",
- "Could not rename \"{fileName}\", it does not exist any more" : "Nie je možné premenovať \"{fileName}\", cieľ už neexistuje",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Názov \"{targetName}\" je už použitý v priečinku \"{dir}\". Zvoľte prosím iný názov.",
- "Could not rename \"{fileName}\"" : "Nie je možné premenovať \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Nebolo možné premenovať \"{oldName}\". Položka už neexistuje.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Názov \"{newName}\" sa už používa v priečinku \"{dir}\". Vyberte prosím iný názov.",
+ "Could not rename \"{oldName}\"" : "Nebolo možné premenovať \"{oldName}\"",
"Could not create file \"{file}\"" : "Nie je možné vytvoriť súbor \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Nie je možné vytvoriť súbor \"{file}\" lebo už existuje",
"Could not create folder \"{dir}\" because it already exists" : "Nie je možné vytvoriť priečinok \"{dir}\" lebo už existuje",
diff --git a/apps/files/l10n/sl.js b/apps/files/l10n/sl.js
index 19893245a4a..033e4d62d22 100644
--- a/apps/files/l10n/sl.js
+++ b/apps/files/l10n/sl.js
@@ -118,7 +118,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Naslove stolpcev z gumbi je mogoče sortirati.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Seznam datotek ni v celoti izpisan zaradi zagotavljanja hitrosti in odzivnosti sistema. Predmeti se bodo dopolnjevali med brskanjem.",
"File not found" : "Datoteke ni mogoče najti",
- "{count} selected" : "{count} izbranih",
"{usedQuotaByte} used" : "Zasedeno {usedQuotaByte}",
"{used} of {quota} used" : "V uporabi je {used} od {quota}",
"{relative}% used" : "Zasedeno {relative} %",
@@ -394,9 +393,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopirano {origin} v {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopirano {origin} in {nbfiles} ostale datoteke v {destination}",
"{newName} already exists" : "Ime {newName} že obstaja",
- "Could not rename \"{fileName}\", it does not exist any more" : "Datoteke »{fileName}« ni mogoče preimenovati, ker ne obstaja več",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ime \"{targetName}\" je v mapi »{dir}« že v uporabi. Izbrati je treba drugačno ime.",
- "Could not rename \"{fileName}\"" : "Datoteke »{fileName}« ni mogoče preimenovati",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Datoteke »{oldName}« ni mogoče preimenovati, ker ne obstaja več.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ime »{newName}« je v mapi »{dir}« že v uporabi. Izbrati je treba drugačno ime.",
+ "Could not rename \"{oldName}\"" : "Datoteke »{oldName}« ni mogoče preimenovati",
"Could not create file \"{file}\"" : "Datoteke »{file}« ni mogoče ustvariti.",
"Could not create file \"{file}\" because it already exists" : "Datoteke »{file}« ni mogoče ustvariti, ker datoteka z istim imenom že obstaja.",
"Could not create folder \"{dir}\" because it already exists" : "Ni mogoče ustvariti mape »{dir}«, ker ta že obstaja",
diff --git a/apps/files/l10n/sl.json b/apps/files/l10n/sl.json
index f738ccdfba6..ede3c7dbdb6 100644
--- a/apps/files/l10n/sl.json
+++ b/apps/files/l10n/sl.json
@@ -116,7 +116,6 @@
"Column headers with buttons are sortable." : "Naslove stolpcev z gumbi je mogoče sortirati.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Seznam datotek ni v celoti izpisan zaradi zagotavljanja hitrosti in odzivnosti sistema. Predmeti se bodo dopolnjevali med brskanjem.",
"File not found" : "Datoteke ni mogoče najti",
- "{count} selected" : "{count} izbranih",
"{usedQuotaByte} used" : "Zasedeno {usedQuotaByte}",
"{used} of {quota} used" : "V uporabi je {used} od {quota}",
"{relative}% used" : "Zasedeno {relative} %",
@@ -392,9 +391,9 @@
"Copied {origin} inside {destination}" : "Kopirano {origin} v {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopirano {origin} in {nbfiles} ostale datoteke v {destination}",
"{newName} already exists" : "Ime {newName} že obstaja",
- "Could not rename \"{fileName}\", it does not exist any more" : "Datoteke »{fileName}« ni mogoče preimenovati, ker ne obstaja več",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ime \"{targetName}\" je v mapi »{dir}« že v uporabi. Izbrati je treba drugačno ime.",
- "Could not rename \"{fileName}\"" : "Datoteke »{fileName}« ni mogoče preimenovati",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Datoteke »{oldName}« ni mogoče preimenovati, ker ne obstaja več.",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ime »{newName}« je v mapi »{dir}« že v uporabi. Izbrati je treba drugačno ime.",
+ "Could not rename \"{oldName}\"" : "Datoteke »{oldName}« ni mogoče preimenovati",
"Could not create file \"{file}\"" : "Datoteke »{file}« ni mogoče ustvariti.",
"Could not create file \"{file}\" because it already exists" : "Datoteke »{file}« ni mogoče ustvariti, ker datoteka z istim imenom že obstaja.",
"Could not create folder \"{dir}\" because it already exists" : "Ni mogoče ustvariti mape »{dir}«, ker ta že obstaja",
diff --git a/apps/files/l10n/sr.js b/apps/files/l10n/sr.js
index 1462028efbd..ca611d7b763 100644
--- a/apps/files/l10n/sr.js
+++ b/apps/files/l10n/sr.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Заглавља колона са дугмићима могу да се соритрају.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ова листа није у потпуности приказана из разлога перформанси. Фајлови ће се приказивати како се крећете кроз листу.",
"File not found" : "Фајл није нађен",
- "{count} selected" : "{count} изабрано",
+ "_{count} selected_::_{count} selected_" : ["изабран је {count}","изабрана су {count}","изабрано је {count}"],
"{usedQuotaByte} used" : "{usedQuotaByte} искоришћено",
"{used} of {quota} used" : "{used} од {quota} искоришћено",
"{relative}% used" : "{relative}% искоришћено",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Копиран {origin} у {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}“. Фајл више не постоји",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Назив „{targetName}“ се већ користи у фасцикли „{dir}“. Одаберите неко друго име.",
- "Could not rename \"{fileName}\"" : "Не могу да преименујем „{fileName}“",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не може да се промени име фајла „{oldName}” јер фајл више не постоји",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Назив „{newName}” се већ користи у директоријуму „{dir}”. Молимо вас да изаберете неко друго име.",
+ "Could not rename \"{oldName}\"" : "Не може да се промени име фајла „{oldName}”",
"Could not create file \"{file}\"" : "Не могу да направим фајл „{file}“",
"Could not create file \"{file}\" because it already exists" : "Не могу да направим фајл „{file}“ јер већ постоји",
"Could not create folder \"{dir}\" because it already exists" : "Не могу да направим фасциклу „{dir}“ јер већ постоји",
diff --git a/apps/files/l10n/sr.json b/apps/files/l10n/sr.json
index e4cfab160f8..600b677a873 100644
--- a/apps/files/l10n/sr.json
+++ b/apps/files/l10n/sr.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Заглавља колона са дугмићима могу да се соритрају.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Ова листа није у потпуности приказана из разлога перформанси. Фајлови ће се приказивати како се крећете кроз листу.",
"File not found" : "Фајл није нађен",
- "{count} selected" : "{count} изабрано",
+ "_{count} selected_::_{count} selected_" : ["изабран је {count}","изабрана су {count}","изабрано је {count}"],
"{usedQuotaByte} used" : "{usedQuotaByte} искоришћено",
"{used} of {quota} used" : "{used} од {quota} искоришћено",
"{relative}% used" : "{relative}% искоришћено",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "Копиран {origin} у {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}“. Фајл више не постоји",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Назив „{targetName}“ се већ користи у фасцикли „{dir}“. Одаберите неко друго име.",
- "Could not rename \"{fileName}\"" : "Не могу да преименујем „{fileName}“",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не може да се промени име фајла „{oldName}” јер фајл више не постоји",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Назив „{newName}” се већ користи у директоријуму „{dir}”. Молимо вас да изаберете неко друго име.",
+ "Could not rename \"{oldName}\"" : "Не може да се промени име фајла „{oldName}”",
"Could not create file \"{file}\"" : "Не могу да направим фајл „{file}“",
"Could not create file \"{file}\" because it already exists" : "Не могу да направим фајл „{file}“ јер већ постоји",
"Could not create folder \"{dir}\" because it already exists" : "Не могу да направим фасциклу „{dir}“ јер већ постоји",
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index bb758578e22..689614d845d 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Kolumnrubriker med knappar är sorterbara.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Denna lista är inte helt återgiven av prestandaskäl. Filerna kommer att renderas när du navigerar genom listan.",
"File not found" : "Filen kunde inte hittas",
- "{count} selected" : "{count} valda",
+ "_{count} selected_::_{count} selected_" : ["{count} vald","{count} valda"],
"{usedQuotaByte} used" : "{usedQuotaByte} använt",
"{used} of {quota} used" : "{used} av {quota} använt",
"{relative}% used" : "{relative}% använt",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Kopierade {origin} till {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopierade {origin} och {nbfiles} andra filer i {destination}",
"{newName} already exists" : "{newName} existerar redan",
- "Could not rename \"{fileName}\", it does not exist any more" : "Kunde inte döpa om \"{fileName}\", filen existerar inte mer",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Namnet \"{targetName}\" används redan i mappen \"{dir}\". Välj ett annat namn.",
- "Could not rename \"{fileName}\"" : "Kan inte döpa om \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunde inte byta namn på \"{oldName}\", den finns inte längre",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Namnet \"{newName}\" används redan i mappen \"{dir}\". Välj ett annat namn.",
+ "Could not rename \"{oldName}\"" : "Kunde inte byta namn på \"{oldName}\"",
"Could not create file \"{file}\"" : "Kunde inte skapa fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Kunde inte skapa fil \"{file}\" därför att den redan existerar",
"Could not create folder \"{dir}\" because it already exists" : "Kunde inte skapa \"{dir}\" därför att den redan existerar",
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index e0ac773057c..46e1ee89f52 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Kolumnrubriker med knappar är sorterbara.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Denna lista är inte helt återgiven av prestandaskäl. Filerna kommer att renderas när du navigerar genom listan.",
"File not found" : "Filen kunde inte hittas",
- "{count} selected" : "{count} valda",
+ "_{count} selected_::_{count} selected_" : ["{count} vald","{count} valda"],
"{usedQuotaByte} used" : "{usedQuotaByte} använt",
"{used} of {quota} used" : "{used} av {quota} använt",
"{relative}% used" : "{relative}% använt",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "Kopierade {origin} till {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Kopierade {origin} och {nbfiles} andra filer i {destination}",
"{newName} already exists" : "{newName} existerar redan",
- "Could not rename \"{fileName}\", it does not exist any more" : "Kunde inte döpa om \"{fileName}\", filen existerar inte mer",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Namnet \"{targetName}\" används redan i mappen \"{dir}\". Välj ett annat namn.",
- "Could not rename \"{fileName}\"" : "Kan inte döpa om \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Kunde inte byta namn på \"{oldName}\", den finns inte längre",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Namnet \"{newName}\" används redan i mappen \"{dir}\". Välj ett annat namn.",
+ "Could not rename \"{oldName}\"" : "Kunde inte byta namn på \"{oldName}\"",
"Could not create file \"{file}\"" : "Kunde inte skapa fil \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Kunde inte skapa fil \"{file}\" därför att den redan existerar",
"Could not create folder \"{dir}\" because it already exists" : "Kunde inte skapa \"{dir}\" därför att den redan existerar",
diff --git a/apps/files/l10n/sw.js b/apps/files/l10n/sw.js
index 028248f33c5..9d9dabb0b47 100644
--- a/apps/files/l10n/sw.js
+++ b/apps/files/l10n/sw.js
@@ -5,7 +5,7 @@ OC.L10N.register(
"Removed from favorites" : "Imeondolewa kutoka vipendwa",
"You added {file} to your favorites" : "Umeongeza {file}kwa vipendwa vyako",
"You removed {file} from your favorites" : "Umeondoa {file}kwenye vipendwa vyako",
- "Favorites" : "Vipendwa",
+ "Favorites" : "Vinavyopendwa",
"File changes" : "Mabadiliko ya faili",
"Created by {user}" : "Imetengenezwa na {user}",
"Changed by {user}" : "Imebadilishwa na {user}",
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Vichwa vya safu wima vilivyo na vifungo vinaweza kupangwa.\n ",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Orodha hii haijatolewa kikamilifu kwa sababu za utendaji. Faili zitatolewa unapopitia orodha.",
"File not found" : "Faili halipatikani",
- "{count} selected" : "{count}imechaguliwa",
+ "_{count} selected_::_{count} selected_" : ["{count} selected","{count} iliyochaguliwa"],
"{usedQuotaByte} used" : "{usedQuotaByte}imetumika",
"{used} of {quota} used" : "{used} ya {quota}imetumika",
"{relative}% used" : "{relative}% imetumika",
@@ -186,6 +186,13 @@ OC.L10N.register(
"Open in files" : "Fungua ndani ya faili",
"File cannot be accessed" : "Faili haliwezi kufikika",
"The file could not be found or you do not have permissions to view it. Ask the sender to share it." : "Faili haikupatikana au huna ruhusa ya kuitazama. Uliza mtumaji kuishirikisha.",
+ "Clipboard is not available" : "Ubao wa kunakili haupatikani",
+ "WebDAV URL copied to clipboard" : "WavutiDAV URL umenakiliwa kwenye ubao wa kunakili",
+ "Sort favorites first" : "Chagua za upendeleo kwanza",
+ "Sort folders before files" : "Chagua vikasha kabla ya mafaili",
+ "Show hidden files" : "Onesha mafaili yaliyofichwa",
+ "Show file type column" : "Onyesha safu wima ya aina ya faili\n ",
+ "Crop image previews" : "Punguza onyesho la kukagua picha",
"Enable the grid view" : "Wezesha mwonekano wa gridi",
"Enable folder tree" : "Wezesha faili la tatu",
"Additional settings" : "Mipangilio ya nyongeza",
@@ -195,7 +202,11 @@ OC.L10N.register(
"Use this address to access your Files via WebDAV" : "Tumia anwani hii kufikia Faili zako kupitia WavutiDAV",
"If you have enabled 2FA, you must create and use a new app password by clicking here." : "Ikiwa umewasha 2FA, lazima uunde na utumie nenosiri jipya la programu kwa kubofya hapa",
"Warnings" : "Maonyo",
+ "Prevent warning dialogs from open or reenable them." : "Zuia mazungumzo ya onyo yasifunguliwe au uwashe upya.\n ",
+ "Show a warning dialog when changing a file extension." : "Onyesha mazungumzo ya onyo unapobadilisha kiendelezi cha faili.",
"Keyboard shortcuts" : "Mikato ya keyboard",
+ "Speed up your Files experience with these quick shortcuts." : "Ongeza kasi ya utumiaji wa Faili zako kwa njia hizi za mkato za haraka.",
+ "Open the actions menu for a file" : "Fungua menyu ya vitendo kwa faili",
"Rename a file" : "Ita faili jina jipya",
"Delete a file" : "Futa faili",
"Favorite or remove a file from favorites" : "Pendwa au ondoa faili kutoka pendwa",
@@ -204,15 +215,48 @@ OC.L10N.register(
"Select all files" : "Chagua faili zote",
"Deselect all files" : "Usichague faili zote",
"Select or deselect a file" : "Chagua au usichague faili",
+ "Select a range of files" : "Chagua anuwai ya faili",
"Navigation" : "Uendeshaji",
+ "Navigate to the parent folder" : "Nenda kwenye kisanduku kikuu",
+ "Navigate to the file above" : "Sogea kwenye faili la juu",
+ "Navigate to the file below" : "Sogea kwenye faili la chini",
+ "Navigate to the file on the left (in grid mode)" : "Sogea kwenye faili la kushoto (in grid mode)",
+ "Navigate to the file on the right (in grid mode)" : "Sogea kwenye faili la kulia ( in grid mode)",
"View" : "Angalia",
+ "Toggle the grid view" : "Geuza mwonekano wa gridi\n ",
+ "Open the sidebar for a file" : "Fungua utepe kwa faili",
+ "Show those shortcuts" : "Onesha mikato hiyo",
+ "You" : "Wewe",
+ "Shared multiple times with different people" : "Shared multiple times with different people",
+ "Error while loading the file data" : "Hitilafu wakati wa kupakia data za faili",
"Owner" : "Mmiliki",
"Remove from favorites" : "Ondoa kutoka katika pendwa",
"Add to favorites" : "Ongeza kwenye pendwa",
"Tags" : "Maoni",
+ "Blank" : "Mabano",
+ "Unable to create new file from template" : "Imeshindwa kutengeneza faili jipya kutoka kwenye sampuli/kiolezo",
+ "Pick a template for {name}" : "Chagua sampuli/kiolezo kwa {name}",
+ "Create a new file with the selected template" : "Tengeneza faili jipya na kiolezo/sampuli iliyochaguliwa",
"Creating file" : "Inatengeneza faili",
"Save as {displayName}" : "Hifadhi kama {displayName}",
"Save as …" : "Hifadhi kama",
+ "Converting files …" : "Inageuza mafaili",
+ "Failed to convert files: {message}" : "Imeshindwa kugeuza faili {message}",
+ "All files failed to be converted" : "Faili zote zimeshindwa kugeuzwa",
+ "One file could not be converted: {message}" : "Faili moja isingeweza kugeuzwa {message}",
+ "_One file could not be converted_::_%n files could not be converted_" : ["One file could not be converted","%n faili zisingeweza kugeuzwa"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["One file successfully converted","%n faili zimegeuzwa kikamilifu"],
+ "Files successfully converted" : "Faili zimegeuzwa kikamilifu",
+ "Failed to convert files" : "Imeshindwa kugeuza faili",
+ "Converting file …" : "Inageuza faili",
+ "File successfully converted" : "Faili imegeuzwa kikamilifu",
+ "Failed to convert file: {message}" : "Imeshindwa kugeuza faili {message}",
+ "Failed to convert file" : "Imeshindwa kugeuza faili",
+ "Deletion cancelled" : "Ufutaji umesitishwa",
+ "Leave this share" : "Ondoa ushirikishaji huu",
+ "Leave these shares" : "Ondoa shiriki hizi",
+ "Disconnect storage" : "Achanisha uhifadhi",
+ "Disconnect storages" : "Achanisha hifadhi",
"Delete permanently" : "Futa moja kwa moja",
"Delete and unshare" : "Futa na usishirikishe",
"Delete file" : "Futa faili",
@@ -229,49 +273,190 @@ OC.L10N.register(
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Huwezi kuhamisha faili/folda kwenye yenyewe au kwenye folda yenyewe",
"(copy)" : "(nakili)",
"(copy %n)" : "(nakili %n)",
+ "Move cancelled" : "Uhamishaji umeghairishwa",
+ "A file or folder with that name already exists in this folder" : "Faili au kisanduku chenye jina hilo tayari kipo katika kisanduku hiki",
+ "The files are locked" : "Faili zimezuiliwa",
+ "The file does not exist anymore" : "Faili halipo tena",
+ "Choose destination" : "Chagua eneo lengwa",
"Copy to {target}" : "Nakili kwenda {target}",
"Copy" : "Nakili",
"Move to {target}" : "Hamishia {target}",
"Move" : "Hamisha",
+ "Move or copy operation failed" : "Operesheni ya kuhamisha au kunakili imeshindikana",
"Move or copy" : "Hamisha au nakili",
+ "Cancelled move or copy of \"{filename}\"." : "Imesitisha uhamishaji au unakili wa \"{filename}\"",
+ "Cancelled move or copy operation" : "Imesitisha operesheni ya uhamishaji au unakili",
"Open folder {displayName}" : "Fungua kisanduku {displayName}",
"Open in Files" : "Fungua ndani ya faili",
"Open locally" : "Fungua kikawaida",
"Failed to redirect to client" : "Imeshindwa kuielekeza kwa mteja",
"Open file locally" : "Fungua faili kikawaida",
+ "The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Sasa faili inapaswa kufunguliwa kwenye kifaa chako. Ikiwa sivyo, tafadhali hakikisha kuwa umesakinisha programu ya eneo-kazi.",
+ "Retry and close" : "Jaribu upya kisha funga",
"Open online" : "Fungua mtandaoni",
"Rename" : "Ipe jina jipya",
"Open details" : "Fungua maelezo",
+ "View in folder" : "Angalia ndani ya kisanduku",
"Today" : "Leo",
"Last 7 days" : "Siku 7 zilizopita",
"Last 30 days" : "Siku 30 zilizopita",
"This year ({year})" : "Mwaka huu {year}",
"Last year ({year})" : "Mwaka uliopita {year}",
"Documents" : "Nyaraka",
+ "Spreadsheets" : "Lahajedwali",
"Presentations" : "Uwasilishaji",
"PDFs" : "PDFs",
"Folders" : "Visanduku",
"Audio" : "Sauti",
+ "Photos and images" : "Picha na taswira",
"Videos" : "Picha mjongeo",
+ "New folder creation cancelled" : "Utengenezaji wa kisanduku kipya umesitishwa",
+ "Created new folder \"{name}\"" : "Imetengeneza kisanduku kipya \"{name}\"",
+ "Unable to initialize the templates directory" : "Haikuweza kuanzisha saraka ya violezo",
+ "Create templates folder" : "Imetengeneza kisanduku cha violezo",
+ "Templates" : "Violezo",
+ "New template folder" : "Kisanduku kipya cha violezo",
"In folder" : "Ndani ya kisanduku",
"Search in folder: {folder}" : "Tafuta katika kisanduku {folder}",
+ "One of the dropped files could not be processed" : "Moja ya faili zilizodondoshwa isingeweza kuchakatwa",
+ "Your browser does not support the Filesystem API. Directories will not be uploaded" : "Kivinjari chako hakitumii API ya mfumo wa faili. Orodha hazitapakiwa\n ",
"No files to upload" : "Hakuna faili la kupakia",
+ "Unable to create the directory {directory}" : "Haiwezi kutengeneza orodha {directory}",
+ "Some files could not be uploaded" : "Faili kadhaa zisingeweza kupakiwa",
+ "Files uploaded successfully" : "Faili zimepakiwa kikamilifu",
"No files to process" : "Hakuna faili la kuchakata",
+ "Some files could not be copied" : "Faili baadhi zisingeweza kunakiliwa",
+ "Some files could not be moved" : "Faili baadhi zisingeweza kuhamishwa",
"Files copied successfully" : "Faili limenakiliwa kikamilifu",
"Files moved successfully" : "Faili limeondolewa kikamilifu",
+ "Conflicts resolution skipped" : "Utatuzi wa migogoro ulirukwa",
"Upload cancelled" : "Upakiaji umesitishwa",
+ "This operation is forbidden" : "Opereshini hii imezuiwa",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Orodha haipatikani, tafadhali angalia uingiaji au wasiliana na msimamizi",
+ "Storage is temporarily not available" : "Uhifadhi haupo kwa muda",
"Unexpected error: {error}" : "Hitilafu isiyotarajiwa {error}",
+ "_%n file_::_%n files_" : ["%n file","%n faili"],
+ "_%n folder_::_%n folders_" : ["%n folder","%n visanduku/vikasha"],
+ "_%n hidden_::_%n hidden_" : ["%n hidden","%n imefichwa"],
+ "Filename must not be empty." : "Jina la faili halipaswi kuwa tupu",
+ "\"{char}\" is not allowed inside a filename." : "\"{char}\" hairuhusiwi ndani ya jina la faili",
+ "\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" ni jina la akiba na haliruhusiwi kwa majina ya faili",
+ "\"{extension}\" is not an allowed filetype." : "\"{extension}\" si aina ya faili inayoruhusiwa",
+ "Filenames must not end with \"{extension}\"." : "Majina ya faili hayapaswi kuishia na \"{extension}\"",
+ "List of favorite files and folders." : "Orodha ya faili na visanduku vinanyopendwa",
+ "No favorites yet" : "Bado hakuna vinavyopendwa",
+ "Files and folders you mark as favorite will show up here" : "Faili na visunduku ulivyoweka alama kama vipendwa vitaonekana hapa",
+ "All files" : "Faili zote",
+ "List of your files and folders." : "Orodha ya faili na vikasha vyako",
+ "All folders" : "Vikasha vyote",
+ "Personal files" : "Faili binafsi",
+ "List of your files and folders that are not shared." : "Orodha ya faili na vikasha ambavyo havijashirikishwa",
+ "No personal files found" : "Hakuna faili binafsi zilizopatikana",
+ "Files that are not shared will show up here." : "Faili ambazo hazija shirikishwa zitaonekana hapa",
+ "Recent" : "Hivi karibuni",
+ "List of recently modified files and folders." : "Orodha ya faili na vikasha vilivyoboreshwa hivi karibuni",
+ "No recently modified files" : "Hakuna faili zilizoboreshwa hivi karibuni",
+ "Files and folders you recently modified will show up here." : "Faili na vikasha ulivyoboresha hivi karibuni vitaonekana hapa",
+ "No entries found in this folder" : "Hakuna maingizo yaliyopatikana katika kasha hili",
+ "Select all" : "Chagua zote",
+ "Upload too large" : "Upakiaji mkubwa mno",
+ "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Faili unazojaribu kupakia zinazidi ukubwa wa juu zaidi wa upakiaji wa faili kwenye seva hii.",
+ "File could not be found" : "Faili isingeweza kupatikana",
"Download" : "Pakua",
+ "Show list view" : "Onesha mwonekeno wa orodha",
+ "Show grid view" : "Onesha mwonekano wa mstariramani",
"Close" : "Funga",
+ "Could not create folder \"{dir}\"" : "Isingeweza kutengeneza kasha \"{dir}\"",
+ "This will stop your current uploads." : "Hii itasimamisha ukakiaji wako wa sasa",
+ "Upload cancelled." : "Upakiaji umesitishwa ",
+ "Processing files …" : "Faili zinazochakatwa",
+ "…" : "...",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Haiwezi kupakia {filename} kama ilivyo orodha au ina baiti 0",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Hakuna nafasi ya kutosha, unapakia {size1} lakini imesalia {size2} pekee",
+ "Target folder \"{dir}\" does not exist any more" : "Kasha lengwa \"{dir}\" halipatikani tena",
+ "An unknown error has occurred" : "Hitilafu isiyojulikana imetokea",
+ "File could not be uploaded" : "Faili isingeweza kupakia",
"Uploading …" : "Inapakia",
+ "{remainingTime} ({currentNumber}/{total})" : "{remainingTime}({currentNumber}/{total})",
+ "Uploading … ({currentNumber}/{total})" : "Inapakia... ({currentNumber}/{total})",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} ya {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Upakiaji wa kipengele hicho hauwezeshwi",
+ "Error when assembling chunks, status code {status}" : "Hitilafu wakakti wa kukusanya vipande, nambari ya hali {status}",
+ "Choose target folder" : "Chagua kasha lililolengwa",
+ "Set reminder" : "Weka ukumbusho",
+ "Edit locally" : "Hariri kikawaida",
"Open" : "Fungua",
+ "Could not load info for file \"{file}\"" : "Isingeweza kupakia taarifa kwa faili \"{file}\"",
"Details" : "Maelezo ya kina",
+ "Please select tag(s) to add to the selection" : "Tafadhali chagua lebo za kuongeza kwenye uteuzi",
+ "Apply tag(s) to selection" : "Omba lebo kwenye uteuzi",
+ "Select directory \"{dirName}\"" : "Teua orodha \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Teua faili \"{fileName}\"",
+ "Unable to determine date" : "Haiwezi kuamua tarehe",
+ "Could not move \"{file}\", target exists" : "Haikuweza kuhamisha \"{file}\" lengo lililopo",
+ "Could not move \"{file}\"" : "Haiwezi kuhamisha \"{file}\"",
"copy" : "Nakili",
+ "Could not copy \"{file}\", target exists" : "Haiwezi kunakili \"{file}\" lengo lililopo",
"Could not copy \"{file}\"" : "Haikuweza kunakili {file}",
+ "Copied {origin} inside {destination}" : "Imenakili {origin} ndani ya {destination}",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "Imenakili {origin} na {nbfiles} faili zingine ndani ya {destination}",
+ "{newName} already exists" : "{newName} lipo tayari",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Haikuweza kuita jina jipya \"{oldName}\", halipo tena",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Jina \"{newName}\" tayari linatumika katika kisanduku \"{dir}\". Tafadhali chagua jina tofauti",
+ "Could not rename \"{oldName}\"" : "Haikuweza kuita jina jipya \"{oldName}\"",
+ "Could not create file \"{file}\"" : "Haikuweza kutengeneza faili \"{file}\"",
+ "Could not create file \"{file}\" because it already exists" : "Haikuweza kuteengeneza faili \"{file}\" kwa sababu lipo tayari",
+ "Could not create folder \"{dir}\" because it already exists" : "Haikuweza kutengeneza kisanduku \"{dir}\" kwa sababu kipo tayari",
+ "Could not fetch file details \"{file}\"" : "Haikuleta maelezo ya faili \"{file}\"",
+ "Error deleting file \"{fileName}\"." : "Hitilafu kufuta faili \"{fileName}\"",
+ "No search results in other folders for {tag}{filter}{endtag}" : "Hakuna matokeo ya utafutaji ndani ya masanduku mengine {tag}{filter}{endtag}",
+ "Enter more than two characters to search in other folders" : "Ingiza wahusika zaidi ya wawili kutafuta ndani ya masanduku mengine",
+ "{dirs} and {files}" : "{dirs} na {files}",
+ "_including %n hidden_::_including %n hidden_" : ["including %n hidden","inajumuisha %n iliyofichwa"],
+ "You do not have permission to upload or create files here" : "Huna ruhusa ya kupakia au kutengeneza faili hapa",
+ "_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Inapakia faili %n"],
"New" : "Mpya",
+ "New file/folder menu" : "Faili mpya/ menyu ya kisanduku",
+ "Select file range" : "Chagua safu ya faili",
+ "{used}%" : "{used} %",
"{used} used" : "{used}imetumika",
+ "\"{name}\" is an invalid file name." : "\"{name}\" ni jina la faili lisilo halali",
+ "File name cannot be empty." : "Jina la faili haliwezi kawa tupu",
+ "\"/\" is not allowed inside a file name." : "\"/\" hairuhusiwi ndani ya jina la faili",
+ "\"{name}\" is not an allowed filetype" : "\"{name}\" si aina ya faili iliyoruhusiwa",
+ "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Uhifadhi wa {owner} umejaa, faili haziwezi kusasishwa au kusawazishwa zaidi",
+ "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Kundi la vikasha \"{mountPoint}\" limejaa, faili haziwezi kusasishwa au kusawazishwa zaidi",
+ "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Uhifadhi wa nje \"{mountPoint}\" umejaa, faili haziwezi kusasishwa au kusawazishwa zaidi",
+ "Your storage is full, files cannot be updated or synced anymore!" : "Uhifadhi wako umejaa, faili haziwezi kusasishwa au kusawazishwa zaidi",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Uhafidhi wa {owner} unakaribia kujaa ({usedSpacePercent}%)",
+ "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Kundi la vikasha \"{mountPoint}linakaribia kujaa ({usedSpacePercent}%)",
+ "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Uhifadhi wa nje \"{mountPoint}\" unakaribia kujaa ({usedSpacePercent}%)",
+ "Your storage is almost full ({usedSpacePercent}%)." : "Uhafadhi wako unakaribia kujaa ({usedSpacePercent}%).",
+ "_matches \"{filter}\"_::_match \"{filter}\"_" : ["matches \"{filter}\"","linganisha \"{filter}\""],
+ "Direct link was copied (only works for people who have access to this file/folder)" : "Kiungo cha moja kwa moja kilinakiliwa (hufanya kazi tu kwa watu wanaoweza kufikia faili/kikasha hiki)",
+ "Path" : "Njia",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n baiti"],
+ "Favored" : "Imependelewa",
+ "Favor" : "Upendeleo",
+ "Copy direct link (only works for people who have access to this file/folder)" : "Nakili kiungo cha moja kwa moja (inafanya kazi tu kwa watu wanaoweza kufikia faili/folda hii)",
"Upload file" : "Pakia faili",
"Not favored" : "Haikupendwa",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Baada ya kuwezesha majina ya windows ya faili yanayooana, faili zilizopo haziwezi kurekebishwa tena lakini zinaweza kubadilishwa kuwa majina mapya halali na mmiliki wao."
+ "An error occurred while trying to update the tags" : "Hitilafu imetokea wakati ikijaribu kusasisha lebo",
+ "Upload (max. %s)" : "Pakia (kiwango cha juu. %s)",
+ "Submitting fields…" : "Inawasilisha migunda",
+ "Filter filenames…" : "Chuja majina ya faili",
+ "_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} folder","Visandiku {folderCount} "],
+ "_{fileCount} file_::_{fileCount} files_" : ["{fileCount} file","Faili {fileCount} "],
+ "_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file and {folderCount} folder","Faili 1 na {folderCount} makasha"],
+ "_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} file and 1 folder","{fileCount} faili na kasha 1"],
+ "{fileCount} files and {folderCount} folders" : "{fileCount} faili na {folderCount}makasha",
+ "Personal Files" : "Faili binafsi",
+ "Text file" : "Faili ya maandishi",
+ "New text file.txt" : "Faili mpya ya maandishi.txt",
+ "%1$s (renamed)" : "%1$s (iliyopew jina jipya)",
+ "renamed file" : "Faili iliyopewa jina jipya",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Baada ya kuwezesha majina ya windows ya faili yanayooana, faili zilizopo haziwezi kurekebishwa tena lakini zinaweza kubadilishwa kuwa majina mapya halali na mmiliki wao.",
+ "{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/sw.json b/apps/files/l10n/sw.json
index 868a65e86f2..2b4221001d7 100644
--- a/apps/files/l10n/sw.json
+++ b/apps/files/l10n/sw.json
@@ -3,7 +3,7 @@
"Removed from favorites" : "Imeondolewa kutoka vipendwa",
"You added {file} to your favorites" : "Umeongeza {file}kwa vipendwa vyako",
"You removed {file} from your favorites" : "Umeondoa {file}kwenye vipendwa vyako",
- "Favorites" : "Vipendwa",
+ "Favorites" : "Vinavyopendwa",
"File changes" : "Mabadiliko ya faili",
"Created by {user}" : "Imetengenezwa na {user}",
"Changed by {user}" : "Imebadilishwa na {user}",
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Vichwa vya safu wima vilivyo na vifungo vinaweza kupangwa.\n ",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Orodha hii haijatolewa kikamilifu kwa sababu za utendaji. Faili zitatolewa unapopitia orodha.",
"File not found" : "Faili halipatikani",
- "{count} selected" : "{count}imechaguliwa",
+ "_{count} selected_::_{count} selected_" : ["{count} selected","{count} iliyochaguliwa"],
"{usedQuotaByte} used" : "{usedQuotaByte}imetumika",
"{used} of {quota} used" : "{used} ya {quota}imetumika",
"{relative}% used" : "{relative}% imetumika",
@@ -184,6 +184,13 @@
"Open in files" : "Fungua ndani ya faili",
"File cannot be accessed" : "Faili haliwezi kufikika",
"The file could not be found or you do not have permissions to view it. Ask the sender to share it." : "Faili haikupatikana au huna ruhusa ya kuitazama. Uliza mtumaji kuishirikisha.",
+ "Clipboard is not available" : "Ubao wa kunakili haupatikani",
+ "WebDAV URL copied to clipboard" : "WavutiDAV URL umenakiliwa kwenye ubao wa kunakili",
+ "Sort favorites first" : "Chagua za upendeleo kwanza",
+ "Sort folders before files" : "Chagua vikasha kabla ya mafaili",
+ "Show hidden files" : "Onesha mafaili yaliyofichwa",
+ "Show file type column" : "Onyesha safu wima ya aina ya faili\n ",
+ "Crop image previews" : "Punguza onyesho la kukagua picha",
"Enable the grid view" : "Wezesha mwonekano wa gridi",
"Enable folder tree" : "Wezesha faili la tatu",
"Additional settings" : "Mipangilio ya nyongeza",
@@ -193,7 +200,11 @@
"Use this address to access your Files via WebDAV" : "Tumia anwani hii kufikia Faili zako kupitia WavutiDAV",
"If you have enabled 2FA, you must create and use a new app password by clicking here." : "Ikiwa umewasha 2FA, lazima uunde na utumie nenosiri jipya la programu kwa kubofya hapa",
"Warnings" : "Maonyo",
+ "Prevent warning dialogs from open or reenable them." : "Zuia mazungumzo ya onyo yasifunguliwe au uwashe upya.\n ",
+ "Show a warning dialog when changing a file extension." : "Onyesha mazungumzo ya onyo unapobadilisha kiendelezi cha faili.",
"Keyboard shortcuts" : "Mikato ya keyboard",
+ "Speed up your Files experience with these quick shortcuts." : "Ongeza kasi ya utumiaji wa Faili zako kwa njia hizi za mkato za haraka.",
+ "Open the actions menu for a file" : "Fungua menyu ya vitendo kwa faili",
"Rename a file" : "Ita faili jina jipya",
"Delete a file" : "Futa faili",
"Favorite or remove a file from favorites" : "Pendwa au ondoa faili kutoka pendwa",
@@ -202,15 +213,48 @@
"Select all files" : "Chagua faili zote",
"Deselect all files" : "Usichague faili zote",
"Select or deselect a file" : "Chagua au usichague faili",
+ "Select a range of files" : "Chagua anuwai ya faili",
"Navigation" : "Uendeshaji",
+ "Navigate to the parent folder" : "Nenda kwenye kisanduku kikuu",
+ "Navigate to the file above" : "Sogea kwenye faili la juu",
+ "Navigate to the file below" : "Sogea kwenye faili la chini",
+ "Navigate to the file on the left (in grid mode)" : "Sogea kwenye faili la kushoto (in grid mode)",
+ "Navigate to the file on the right (in grid mode)" : "Sogea kwenye faili la kulia ( in grid mode)",
"View" : "Angalia",
+ "Toggle the grid view" : "Geuza mwonekano wa gridi\n ",
+ "Open the sidebar for a file" : "Fungua utepe kwa faili",
+ "Show those shortcuts" : "Onesha mikato hiyo",
+ "You" : "Wewe",
+ "Shared multiple times with different people" : "Shared multiple times with different people",
+ "Error while loading the file data" : "Hitilafu wakati wa kupakia data za faili",
"Owner" : "Mmiliki",
"Remove from favorites" : "Ondoa kutoka katika pendwa",
"Add to favorites" : "Ongeza kwenye pendwa",
"Tags" : "Maoni",
+ "Blank" : "Mabano",
+ "Unable to create new file from template" : "Imeshindwa kutengeneza faili jipya kutoka kwenye sampuli/kiolezo",
+ "Pick a template for {name}" : "Chagua sampuli/kiolezo kwa {name}",
+ "Create a new file with the selected template" : "Tengeneza faili jipya na kiolezo/sampuli iliyochaguliwa",
"Creating file" : "Inatengeneza faili",
"Save as {displayName}" : "Hifadhi kama {displayName}",
"Save as …" : "Hifadhi kama",
+ "Converting files …" : "Inageuza mafaili",
+ "Failed to convert files: {message}" : "Imeshindwa kugeuza faili {message}",
+ "All files failed to be converted" : "Faili zote zimeshindwa kugeuzwa",
+ "One file could not be converted: {message}" : "Faili moja isingeweza kugeuzwa {message}",
+ "_One file could not be converted_::_%n files could not be converted_" : ["One file could not be converted","%n faili zisingeweza kugeuzwa"],
+ "_One file successfully converted_::_%n files successfully converted_" : ["One file successfully converted","%n faili zimegeuzwa kikamilifu"],
+ "Files successfully converted" : "Faili zimegeuzwa kikamilifu",
+ "Failed to convert files" : "Imeshindwa kugeuza faili",
+ "Converting file …" : "Inageuza faili",
+ "File successfully converted" : "Faili imegeuzwa kikamilifu",
+ "Failed to convert file: {message}" : "Imeshindwa kugeuza faili {message}",
+ "Failed to convert file" : "Imeshindwa kugeuza faili",
+ "Deletion cancelled" : "Ufutaji umesitishwa",
+ "Leave this share" : "Ondoa ushirikishaji huu",
+ "Leave these shares" : "Ondoa shiriki hizi",
+ "Disconnect storage" : "Achanisha uhifadhi",
+ "Disconnect storages" : "Achanisha hifadhi",
"Delete permanently" : "Futa moja kwa moja",
"Delete and unshare" : "Futa na usishirikishe",
"Delete file" : "Futa faili",
@@ -227,49 +271,190 @@
"You cannot move a file/folder onto itself or into a subfolder of itself" : "Huwezi kuhamisha faili/folda kwenye yenyewe au kwenye folda yenyewe",
"(copy)" : "(nakili)",
"(copy %n)" : "(nakili %n)",
+ "Move cancelled" : "Uhamishaji umeghairishwa",
+ "A file or folder with that name already exists in this folder" : "Faili au kisanduku chenye jina hilo tayari kipo katika kisanduku hiki",
+ "The files are locked" : "Faili zimezuiliwa",
+ "The file does not exist anymore" : "Faili halipo tena",
+ "Choose destination" : "Chagua eneo lengwa",
"Copy to {target}" : "Nakili kwenda {target}",
"Copy" : "Nakili",
"Move to {target}" : "Hamishia {target}",
"Move" : "Hamisha",
+ "Move or copy operation failed" : "Operesheni ya kuhamisha au kunakili imeshindikana",
"Move or copy" : "Hamisha au nakili",
+ "Cancelled move or copy of \"{filename}\"." : "Imesitisha uhamishaji au unakili wa \"{filename}\"",
+ "Cancelled move or copy operation" : "Imesitisha operesheni ya uhamishaji au unakili",
"Open folder {displayName}" : "Fungua kisanduku {displayName}",
"Open in Files" : "Fungua ndani ya faili",
"Open locally" : "Fungua kikawaida",
"Failed to redirect to client" : "Imeshindwa kuielekeza kwa mteja",
"Open file locally" : "Fungua faili kikawaida",
+ "The file should now open on your device. If it doesn't, please check that you have the desktop app installed." : "Sasa faili inapaswa kufunguliwa kwenye kifaa chako. Ikiwa sivyo, tafadhali hakikisha kuwa umesakinisha programu ya eneo-kazi.",
+ "Retry and close" : "Jaribu upya kisha funga",
"Open online" : "Fungua mtandaoni",
"Rename" : "Ipe jina jipya",
"Open details" : "Fungua maelezo",
+ "View in folder" : "Angalia ndani ya kisanduku",
"Today" : "Leo",
"Last 7 days" : "Siku 7 zilizopita",
"Last 30 days" : "Siku 30 zilizopita",
"This year ({year})" : "Mwaka huu {year}",
"Last year ({year})" : "Mwaka uliopita {year}",
"Documents" : "Nyaraka",
+ "Spreadsheets" : "Lahajedwali",
"Presentations" : "Uwasilishaji",
"PDFs" : "PDFs",
"Folders" : "Visanduku",
"Audio" : "Sauti",
+ "Photos and images" : "Picha na taswira",
"Videos" : "Picha mjongeo",
+ "New folder creation cancelled" : "Utengenezaji wa kisanduku kipya umesitishwa",
+ "Created new folder \"{name}\"" : "Imetengeneza kisanduku kipya \"{name}\"",
+ "Unable to initialize the templates directory" : "Haikuweza kuanzisha saraka ya violezo",
+ "Create templates folder" : "Imetengeneza kisanduku cha violezo",
+ "Templates" : "Violezo",
+ "New template folder" : "Kisanduku kipya cha violezo",
"In folder" : "Ndani ya kisanduku",
"Search in folder: {folder}" : "Tafuta katika kisanduku {folder}",
+ "One of the dropped files could not be processed" : "Moja ya faili zilizodondoshwa isingeweza kuchakatwa",
+ "Your browser does not support the Filesystem API. Directories will not be uploaded" : "Kivinjari chako hakitumii API ya mfumo wa faili. Orodha hazitapakiwa\n ",
"No files to upload" : "Hakuna faili la kupakia",
+ "Unable to create the directory {directory}" : "Haiwezi kutengeneza orodha {directory}",
+ "Some files could not be uploaded" : "Faili kadhaa zisingeweza kupakiwa",
+ "Files uploaded successfully" : "Faili zimepakiwa kikamilifu",
"No files to process" : "Hakuna faili la kuchakata",
+ "Some files could not be copied" : "Faili baadhi zisingeweza kunakiliwa",
+ "Some files could not be moved" : "Faili baadhi zisingeweza kuhamishwa",
"Files copied successfully" : "Faili limenakiliwa kikamilifu",
"Files moved successfully" : "Faili limeondolewa kikamilifu",
+ "Conflicts resolution skipped" : "Utatuzi wa migogoro ulirukwa",
"Upload cancelled" : "Upakiaji umesitishwa",
+ "This operation is forbidden" : "Opereshini hii imezuiwa",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Orodha haipatikani, tafadhali angalia uingiaji au wasiliana na msimamizi",
+ "Storage is temporarily not available" : "Uhifadhi haupo kwa muda",
"Unexpected error: {error}" : "Hitilafu isiyotarajiwa {error}",
+ "_%n file_::_%n files_" : ["%n file","%n faili"],
+ "_%n folder_::_%n folders_" : ["%n folder","%n visanduku/vikasha"],
+ "_%n hidden_::_%n hidden_" : ["%n hidden","%n imefichwa"],
+ "Filename must not be empty." : "Jina la faili halipaswi kuwa tupu",
+ "\"{char}\" is not allowed inside a filename." : "\"{char}\" hairuhusiwi ndani ya jina la faili",
+ "\"{segment}\" is a reserved name and not allowed for filenames." : "\"{segment}\" ni jina la akiba na haliruhusiwi kwa majina ya faili",
+ "\"{extension}\" is not an allowed filetype." : "\"{extension}\" si aina ya faili inayoruhusiwa",
+ "Filenames must not end with \"{extension}\"." : "Majina ya faili hayapaswi kuishia na \"{extension}\"",
+ "List of favorite files and folders." : "Orodha ya faili na visanduku vinanyopendwa",
+ "No favorites yet" : "Bado hakuna vinavyopendwa",
+ "Files and folders you mark as favorite will show up here" : "Faili na visunduku ulivyoweka alama kama vipendwa vitaonekana hapa",
+ "All files" : "Faili zote",
+ "List of your files and folders." : "Orodha ya faili na vikasha vyako",
+ "All folders" : "Vikasha vyote",
+ "Personal files" : "Faili binafsi",
+ "List of your files and folders that are not shared." : "Orodha ya faili na vikasha ambavyo havijashirikishwa",
+ "No personal files found" : "Hakuna faili binafsi zilizopatikana",
+ "Files that are not shared will show up here." : "Faili ambazo hazija shirikishwa zitaonekana hapa",
+ "Recent" : "Hivi karibuni",
+ "List of recently modified files and folders." : "Orodha ya faili na vikasha vilivyoboreshwa hivi karibuni",
+ "No recently modified files" : "Hakuna faili zilizoboreshwa hivi karibuni",
+ "Files and folders you recently modified will show up here." : "Faili na vikasha ulivyoboresha hivi karibuni vitaonekana hapa",
+ "No entries found in this folder" : "Hakuna maingizo yaliyopatikana katika kasha hili",
+ "Select all" : "Chagua zote",
+ "Upload too large" : "Upakiaji mkubwa mno",
+ "The files you are trying to upload exceed the maximum size for file uploads on this server." : "Faili unazojaribu kupakia zinazidi ukubwa wa juu zaidi wa upakiaji wa faili kwenye seva hii.",
+ "File could not be found" : "Faili isingeweza kupatikana",
"Download" : "Pakua",
+ "Show list view" : "Onesha mwonekeno wa orodha",
+ "Show grid view" : "Onesha mwonekano wa mstariramani",
"Close" : "Funga",
+ "Could not create folder \"{dir}\"" : "Isingeweza kutengeneza kasha \"{dir}\"",
+ "This will stop your current uploads." : "Hii itasimamisha ukakiaji wako wa sasa",
+ "Upload cancelled." : "Upakiaji umesitishwa ",
+ "Processing files …" : "Faili zinazochakatwa",
+ "…" : "...",
+ "Unable to upload {filename} as it is a directory or has 0 bytes" : "Haiwezi kupakia {filename} kama ilivyo orodha au ina baiti 0",
+ "Not enough free space, you are uploading {size1} but only {size2} is left" : "Hakuna nafasi ya kutosha, unapakia {size1} lakini imesalia {size2} pekee",
+ "Target folder \"{dir}\" does not exist any more" : "Kasha lengwa \"{dir}\" halipatikani tena",
+ "An unknown error has occurred" : "Hitilafu isiyojulikana imetokea",
+ "File could not be uploaded" : "Faili isingeweza kupakia",
"Uploading …" : "Inapakia",
+ "{remainingTime} ({currentNumber}/{total})" : "{remainingTime}({currentNumber}/{total})",
+ "Uploading … ({currentNumber}/{total})" : "Inapakia... ({currentNumber}/{total})",
+ "{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} ya {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Upakiaji wa kipengele hicho hauwezeshwi",
+ "Error when assembling chunks, status code {status}" : "Hitilafu wakakti wa kukusanya vipande, nambari ya hali {status}",
+ "Choose target folder" : "Chagua kasha lililolengwa",
+ "Set reminder" : "Weka ukumbusho",
+ "Edit locally" : "Hariri kikawaida",
"Open" : "Fungua",
+ "Could not load info for file \"{file}\"" : "Isingeweza kupakia taarifa kwa faili \"{file}\"",
"Details" : "Maelezo ya kina",
+ "Please select tag(s) to add to the selection" : "Tafadhali chagua lebo za kuongeza kwenye uteuzi",
+ "Apply tag(s) to selection" : "Omba lebo kwenye uteuzi",
+ "Select directory \"{dirName}\"" : "Teua orodha \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Teua faili \"{fileName}\"",
+ "Unable to determine date" : "Haiwezi kuamua tarehe",
+ "Could not move \"{file}\", target exists" : "Haikuweza kuhamisha \"{file}\" lengo lililopo",
+ "Could not move \"{file}\"" : "Haiwezi kuhamisha \"{file}\"",
"copy" : "Nakili",
+ "Could not copy \"{file}\", target exists" : "Haiwezi kunakili \"{file}\" lengo lililopo",
"Could not copy \"{file}\"" : "Haikuweza kunakili {file}",
+ "Copied {origin} inside {destination}" : "Imenakili {origin} ndani ya {destination}",
+ "Copied {origin} and {nbfiles} other files inside {destination}" : "Imenakili {origin} na {nbfiles} faili zingine ndani ya {destination}",
+ "{newName} already exists" : "{newName} lipo tayari",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Haikuweza kuita jina jipya \"{oldName}\", halipo tena",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Jina \"{newName}\" tayari linatumika katika kisanduku \"{dir}\". Tafadhali chagua jina tofauti",
+ "Could not rename \"{oldName}\"" : "Haikuweza kuita jina jipya \"{oldName}\"",
+ "Could not create file \"{file}\"" : "Haikuweza kutengeneza faili \"{file}\"",
+ "Could not create file \"{file}\" because it already exists" : "Haikuweza kuteengeneza faili \"{file}\" kwa sababu lipo tayari",
+ "Could not create folder \"{dir}\" because it already exists" : "Haikuweza kutengeneza kisanduku \"{dir}\" kwa sababu kipo tayari",
+ "Could not fetch file details \"{file}\"" : "Haikuleta maelezo ya faili \"{file}\"",
+ "Error deleting file \"{fileName}\"." : "Hitilafu kufuta faili \"{fileName}\"",
+ "No search results in other folders for {tag}{filter}{endtag}" : "Hakuna matokeo ya utafutaji ndani ya masanduku mengine {tag}{filter}{endtag}",
+ "Enter more than two characters to search in other folders" : "Ingiza wahusika zaidi ya wawili kutafuta ndani ya masanduku mengine",
+ "{dirs} and {files}" : "{dirs} na {files}",
+ "_including %n hidden_::_including %n hidden_" : ["including %n hidden","inajumuisha %n iliyofichwa"],
+ "You do not have permission to upload or create files here" : "Huna ruhusa ya kupakia au kutengeneza faili hapa",
+ "_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Inapakia faili %n"],
"New" : "Mpya",
+ "New file/folder menu" : "Faili mpya/ menyu ya kisanduku",
+ "Select file range" : "Chagua safu ya faili",
+ "{used}%" : "{used} %",
"{used} used" : "{used}imetumika",
+ "\"{name}\" is an invalid file name." : "\"{name}\" ni jina la faili lisilo halali",
+ "File name cannot be empty." : "Jina la faili haliwezi kawa tupu",
+ "\"/\" is not allowed inside a file name." : "\"/\" hairuhusiwi ndani ya jina la faili",
+ "\"{name}\" is not an allowed filetype" : "\"{name}\" si aina ya faili iliyoruhusiwa",
+ "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Uhifadhi wa {owner} umejaa, faili haziwezi kusasishwa au kusawazishwa zaidi",
+ "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Kundi la vikasha \"{mountPoint}\" limejaa, faili haziwezi kusasishwa au kusawazishwa zaidi",
+ "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Uhifadhi wa nje \"{mountPoint}\" umejaa, faili haziwezi kusasishwa au kusawazishwa zaidi",
+ "Your storage is full, files cannot be updated or synced anymore!" : "Uhifadhi wako umejaa, faili haziwezi kusasishwa au kusawazishwa zaidi",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Uhafidhi wa {owner} unakaribia kujaa ({usedSpacePercent}%)",
+ "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Kundi la vikasha \"{mountPoint}linakaribia kujaa ({usedSpacePercent}%)",
+ "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Uhifadhi wa nje \"{mountPoint}\" unakaribia kujaa ({usedSpacePercent}%)",
+ "Your storage is almost full ({usedSpacePercent}%)." : "Uhafadhi wako unakaribia kujaa ({usedSpacePercent}%).",
+ "_matches \"{filter}\"_::_match \"{filter}\"_" : ["matches \"{filter}\"","linganisha \"{filter}\""],
+ "Direct link was copied (only works for people who have access to this file/folder)" : "Kiungo cha moja kwa moja kilinakiliwa (hufanya kazi tu kwa watu wanaoweza kufikia faili/kikasha hiki)",
+ "Path" : "Njia",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n baiti"],
+ "Favored" : "Imependelewa",
+ "Favor" : "Upendeleo",
+ "Copy direct link (only works for people who have access to this file/folder)" : "Nakili kiungo cha moja kwa moja (inafanya kazi tu kwa watu wanaoweza kufikia faili/folda hii)",
"Upload file" : "Pakia faili",
"Not favored" : "Haikupendwa",
- "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Baada ya kuwezesha majina ya windows ya faili yanayooana, faili zilizopo haziwezi kurekebishwa tena lakini zinaweza kubadilishwa kuwa majina mapya halali na mmiliki wao."
+ "An error occurred while trying to update the tags" : "Hitilafu imetokea wakati ikijaribu kusasisha lebo",
+ "Upload (max. %s)" : "Pakia (kiwango cha juu. %s)",
+ "Submitting fields…" : "Inawasilisha migunda",
+ "Filter filenames…" : "Chuja majina ya faili",
+ "_{folderCount} folder_::_{folderCount} folders_" : ["{folderCount} folder","Visandiku {folderCount} "],
+ "_{fileCount} file_::_{fileCount} files_" : ["{fileCount} file","Faili {fileCount} "],
+ "_1 file and {folderCount} folder_::_1 file and {folderCount} folders_" : ["1 file and {folderCount} folder","Faili 1 na {folderCount} makasha"],
+ "_{fileCount} file and 1 folder_::_{fileCount} files and 1 folder_" : ["{fileCount} file and 1 folder","{fileCount} faili na kasha 1"],
+ "{fileCount} files and {folderCount} folders" : "{fileCount} faili na {folderCount}makasha",
+ "Personal Files" : "Faili binafsi",
+ "Text file" : "Faili ya maandishi",
+ "New text file.txt" : "Faili mpya ya maandishi.txt",
+ "%1$s (renamed)" : "%1$s (iliyopew jina jipya)",
+ "renamed file" : "Faili iliyopewa jina jipya",
+ "After enabling the windows compatible filenames, existing files cannot be modified anymore but can be renamed to valid new names by their owner." : "Baada ya kuwezesha majina ya windows ya faili yanayooana, faili zilizopo haziwezi kurekebishwa tena lakini zinaweza kubadilishwa kuwa majina mapya halali na mmiliki wao.",
+ "{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/th.js b/apps/files/l10n/th.js
index 5b51231ceb2..c4d6be70165 100644
--- a/apps/files/l10n/th.js
+++ b/apps/files/l10n/th.js
@@ -69,6 +69,7 @@ OC.L10N.register(
"Size" : "ขนาด",
"Actions" : "การกระทำ",
"File not found" : "ไม่พบไฟล์",
+ "_{count} selected_::_{count} selected_" : ["เลือก {count} รายการ"],
"{usedQuotaByte} used" : "ใช้ไป {usedQuotaByte}",
"{used} of {quota} used" : "ใช้ไป {used} จาก {quota}",
"{relative}% used" : "ใช้ไป {relative}%",
@@ -197,9 +198,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "คัดลอก {origin} ไว้ใน {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}\" ไฟล์นั้นไม่มีอยู่",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "ชื่อ \"{targetName}\" มีอยู่แล้วในโฟลเดอร์ \"{dir}\" กรุณาเปลี่ยนชื่อใหม่",
- "Could not rename \"{fileName}\"" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\" ไฟล์นั้นไม่มีอยู่",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "ชื่อ \"{newName}\" มีอยู่แล้วในโฟลเดอร์ \"{dir}\" กรุณาเปลี่ยนชื่อใหม่",
+ "Could not rename \"{oldName}\"" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\"",
"Could not create file \"{file}\"" : "ไม่สามารถสร้างไฟล์ \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "ไม่สามารถสร้างไฟล์ \"{file}\" เพราะมันมีอยู่แล้ว",
"Could not create folder \"{dir}\" because it already exists" : "ไม่สามารถสร้างโฟลเดอร์ \"{dir}\" เพราะมันมีอยู่แล้ว",
diff --git a/apps/files/l10n/th.json b/apps/files/l10n/th.json
index bdde1cf0d06..a087b73a312 100644
--- a/apps/files/l10n/th.json
+++ b/apps/files/l10n/th.json
@@ -67,6 +67,7 @@
"Size" : "ขนาด",
"Actions" : "การกระทำ",
"File not found" : "ไม่พบไฟล์",
+ "_{count} selected_::_{count} selected_" : ["เลือก {count} รายการ"],
"{usedQuotaByte} used" : "ใช้ไป {usedQuotaByte}",
"{used} of {quota} used" : "ใช้ไป {used} จาก {quota}",
"{relative}% used" : "ใช้ไป {relative}%",
@@ -195,9 +196,9 @@
"Copied {origin} inside {destination}" : "คัดลอก {origin} ไว้ใน {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}\" ไฟล์นั้นไม่มีอยู่",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "ชื่อ \"{targetName}\" มีอยู่แล้วในโฟลเดอร์ \"{dir}\" กรุณาเปลี่ยนชื่อใหม่",
- "Could not rename \"{fileName}\"" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\" ไฟล์นั้นไม่มีอยู่",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "ชื่อ \"{newName}\" มีอยู่แล้วในโฟลเดอร์ \"{dir}\" กรุณาเปลี่ยนชื่อใหม่",
+ "Could not rename \"{oldName}\"" : "ไม่สามารถเปลี่ยนชื่อไฟล์ \"{oldName}\"",
"Could not create file \"{file}\"" : "ไม่สามารถสร้างไฟล์ \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "ไม่สามารถสร้างไฟล์ \"{file}\" เพราะมันมีอยู่แล้ว",
"Could not create folder \"{dir}\" because it already exists" : "ไม่สามารถสร้างโฟลเดอร์ \"{dir}\" เพราะมันมีอยู่แล้ว",
diff --git a/apps/files/l10n/tr.js b/apps/files/l10n/tr.js
index 129a6d4f178..651d1b5316f 100644
--- a/apps/files/l10n/tr.js
+++ b/apps/files/l10n/tr.js
@@ -116,7 +116,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Düğmeler olan sütunlar sıralanabilir.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Başarımı olumsuz etkilememek için listenin tümü görüntülenmiyor. Listede ilerledikçe dosyalar görüntülenecek.",
"File not found" : "Dosya bulunamadı",
- "{count} selected" : "{count} seçilmiş",
+ "_{count} selected_::_{count} selected_" : ["{count} seçilmiş","{count} seçilmiş"],
"{usedQuotaByte} used" : "{usedQuotaByte} kullanılmış",
"{used} of {quota} used" : "{used} / {quota} kullanılmış",
"{relative}% used" : "%{relative} kullanılmış",
@@ -391,9 +391,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "{origin} dosyası, {destination} içine kopyalandı",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ve diğer {nbfiles} dosya, {destination} içine kopyalandı",
"{newName} already exists" : "{newName} zaten var",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" yeniden adlandırılamadı, artık yok",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" adı \"{dir}\" klasöründe zaten var. Lütfen farklı bir ad seçin.",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" yeniden adlandırılamadı",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" adı artık olmadığından değiştirilemedi. ",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" adı \"{dir}\" klasöründe zaten kullanılmış. Lütfen başka bir ad seçin.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" adı değiştirilemedi",
"Could not create file \"{file}\"" : "\"{file}\" dosyası oluşturulamadı",
"Could not create file \"{file}\" because it already exists" : "\"{file}\" dosyası zaten var olduğundan oluşturulamadı",
"Could not create folder \"{dir}\" because it already exists" : "\"{dir}\" klasörü zaten var olduğundan oluşturulamadı",
diff --git a/apps/files/l10n/tr.json b/apps/files/l10n/tr.json
index f20a43de5ba..2f11c0b4c5b 100644
--- a/apps/files/l10n/tr.json
+++ b/apps/files/l10n/tr.json
@@ -114,7 +114,7 @@
"Column headers with buttons are sortable." : "Düğmeler olan sütunlar sıralanabilir.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Başarımı olumsuz etkilememek için listenin tümü görüntülenmiyor. Listede ilerledikçe dosyalar görüntülenecek.",
"File not found" : "Dosya bulunamadı",
- "{count} selected" : "{count} seçilmiş",
+ "_{count} selected_::_{count} selected_" : ["{count} seçilmiş","{count} seçilmiş"],
"{usedQuotaByte} used" : "{usedQuotaByte} kullanılmış",
"{used} of {quota} used" : "{used} / {quota} kullanılmış",
"{relative}% used" : "%{relative} kullanılmış",
@@ -389,9 +389,9 @@
"Copied {origin} inside {destination}" : "{origin} dosyası, {destination} içine kopyalandı",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ve diğer {nbfiles} dosya, {destination} içine kopyalandı",
"{newName} already exists" : "{newName} zaten var",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" yeniden adlandırılamadı, artık yok",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{targetName}\" adı \"{dir}\" klasöründe zaten var. Lütfen farklı bir ad seçin.",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" yeniden adlandırılamadı",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" adı artık olmadığından değiştirilemedi. ",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{newName}\" adı \"{dir}\" klasöründe zaten kullanılmış. Lütfen başka bir ad seçin.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" adı değiştirilemedi",
"Could not create file \"{file}\"" : "\"{file}\" dosyası oluşturulamadı",
"Could not create file \"{file}\" because it already exists" : "\"{file}\" dosyası zaten var olduğundan oluşturulamadı",
"Could not create folder \"{dir}\" because it already exists" : "\"{dir}\" klasörü zaten var olduğundan oluşturulamadı",
diff --git a/apps/files/l10n/ug.js b/apps/files/l10n/ug.js
index b277568a525..9955cccff4c 100644
--- a/apps/files/l10n/ug.js
+++ b/apps/files/l10n/ug.js
@@ -104,7 +104,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "كۇنۇپكىلار بار ئىستون ماۋزۇلىرى تەرتىپلىك.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "بۇ تىزىملىك ئىقتىدار سەۋەبىدىن تولۇق كۆرسىتىلمىگەن. ھۆججەتلەر تىزىملىكتىن ئۆتكەندە كۆرسىتىلىدۇ.",
"File not found" : "ھۆججەت تېپىلمىدى",
- "{count} selected" : "{count} تاللانغان",
"{usedQuotaByte} used" : "{usedQuotaByte} ئىشلىتىلگەن",
"{used} of {quota} used" : "{used} {quota} ئىشلىتىلگەن",
"{relative}% used" : "{relative}% ئىشلىتىلگەن",
@@ -325,9 +324,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "كۆچۈرۈلگەن {origin} ئىچىدىكى {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ئىچىدىكى {destination} ۋە {nbfiles} باشقا ھۆججەتلەر كۆچۈرۈلگەن",
"{newName} already exists" : "{newName} مەۋجۇت",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" نىڭ نامىنى ئۆزگەرتەلمىدى ، ئۇ ئەمدى مەۋجۇت ئەمەس",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" ھۆججەت قىسقۇچىدا \"{targetName}\" ئىسمى ئاللىبۇرۇن ئىشلىتىلگەن. باشقا ئىسىمنى تاللاڭ.",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" نىڭ نامىنى ئۆزگەرتەلمىدى",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى ، ئۇ ئەمدى مەۋجۇت ئەمەس",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" ھۆججەت قىسقۇچىدا \"{newName}\" ئىسمى ئاللىبۇرۇن ئىشلىتىلگەن. باشقا ئىسىمنى تاللاڭ.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى",
"Could not create file \"{file}\"" : "\"{file}\" ھۆججىتىنى قۇرالمىدى",
"Could not create file \"{file}\" because it already exists" : "«{file}» ھۆججىتىنى قۇرالمىدى ، چۈنكى ئۇ مەۋجۇت",
"Could not create folder \"{dir}\" because it already exists" : "«{dir}» ھۆججەت قىسقۇچى قۇرالمىدى ، چۈنكى ئۇ مەۋجۇت",
diff --git a/apps/files/l10n/ug.json b/apps/files/l10n/ug.json
index 518c039bbce..81e789e872c 100644
--- a/apps/files/l10n/ug.json
+++ b/apps/files/l10n/ug.json
@@ -102,7 +102,6 @@
"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} تاللانغان",
"{usedQuotaByte} used" : "{usedQuotaByte} ئىشلىتىلگەن",
"{used} of {quota} used" : "{used} {quota} ئىشلىتىلگەن",
"{relative}% used" : "{relative}% ئىشلىتىلگەن",
@@ -323,9 +322,9 @@
"Copied {origin} inside {destination}" : "كۆچۈرۈلگەن {origin} ئىچىدىكى {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} ئىچىدىكى {destination} ۋە {nbfiles} باشقا ھۆججەتلەر كۆچۈرۈلگەن",
"{newName} already exists" : "{newName} مەۋجۇت",
- "Could not rename \"{fileName}\", it does not exist any more" : "\"{fileName}\" نىڭ نامىنى ئۆزگەرتەلمىدى ، ئۇ ئەمدى مەۋجۇت ئەمەس",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" ھۆججەت قىسقۇچىدا \"{targetName}\" ئىسمى ئاللىبۇرۇن ئىشلىتىلگەن. باشقا ئىسىمنى تاللاڭ.",
- "Could not rename \"{fileName}\"" : "\"{fileName}\" نىڭ نامىنى ئۆزگەرتەلمىدى",
+ "Could not rename \"{oldName}\", it does not exist any more" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى ، ئۇ ئەمدى مەۋجۇت ئەمەس",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "\"{dir}\" ھۆججەت قىسقۇچىدا \"{newName}\" ئىسمى ئاللىبۇرۇن ئىشلىتىلگەن. باشقا ئىسىمنى تاللاڭ.",
+ "Could not rename \"{oldName}\"" : "\"{oldName}\" نىڭ نامىنى ئۆزگەرتەلمىدى",
"Could not create file \"{file}\"" : "\"{file}\" ھۆججىتىنى قۇرالمىدى",
"Could not create file \"{file}\" because it already exists" : "«{file}» ھۆججىتىنى قۇرالمىدى ، چۈنكى ئۇ مەۋجۇت",
"Could not create folder \"{dir}\" because it already exists" : "«{dir}» ھۆججەت قىسقۇچى قۇرالمىدى ، چۈنكى ئۇ مەۋجۇت",
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index a800b46858d..9d3ca0d1c2e 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Назви стовпців з кнопками можна впорядковувати",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Список не подається повністю з міркувань обчислювальних потужностей. Файли показуватимуться під час прокручування списку.",
"File not found" : "Файл не знайдено",
- "{count} selected" : "{count} вибрано",
+ "_{count} selected_::_{count} selected_" : ["Вибрано {count}","Вибрано {count}","Вибрано {count} ","Вибрано {count} "],
"{usedQuotaByte} used" : "{usedQuotaByte} використано",
"{used} of {quota} used" : "Використано {used} із {quota}",
"{relative}% used" : "{relative}% використано",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Скопійовано {origin} до {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}\", оскільки такий файл більше не існує",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{targetName}\" вже використовується у каталозі \"{dir}\". Будь-ласка, виберіть іншу назву.",
- "Could not rename \"{fileName}\"" : "Неможливо перейменувати \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не вдалося перейментувати \"{oldName}\", оскільки він вже відсутній",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{newName}\" вже використовується у каталозі \"{dir}\". Виберіть інше ім'я.",
+ "Could not rename \"{oldName}\"" : "Не вдалося перейменувати \"{oldName}\"",
"Could not create file \"{file}\"" : "Неможливо створити файл \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Неможливо створити файл \"{file}\", оскільки файл з таким ім'ям вже присутній.",
"Could not create folder \"{dir}\" because it already exists" : "Неможливо створити каталог \"{dir}\", оскільки каталог з таким ім'ям він вже присутній.",
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index 0e58cbd39aa..1f659b51e10 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "Назви стовпців з кнопками можна впорядковувати",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Список не подається повністю з міркувань обчислювальних потужностей. Файли показуватимуться під час прокручування списку.",
"File not found" : "Файл не знайдено",
- "{count} selected" : "{count} вибрано",
+ "_{count} selected_::_{count} selected_" : ["Вибрано {count}","Вибрано {count}","Вибрано {count} ","Вибрано {count} "],
"{usedQuotaByte} used" : "{usedQuotaByte} використано",
"{used} of {quota} used" : "Використано {used} із {quota}",
"{relative}% used" : "{relative}% використано",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "Скопійовано {origin} до {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}\", оскільки такий файл більше не існує",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{targetName}\" вже використовується у каталозі \"{dir}\". Будь-ласка, виберіть іншу назву.",
- "Could not rename \"{fileName}\"" : "Неможливо перейменувати \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Не вдалося перейментувати \"{oldName}\", оскільки він вже відсутній",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Ім'я \"{newName}\" вже використовується у каталозі \"{dir}\". Виберіть інше ім'я.",
+ "Could not rename \"{oldName}\"" : "Не вдалося перейменувати \"{oldName}\"",
"Could not create file \"{file}\"" : "Неможливо створити файл \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Неможливо створити файл \"{file}\", оскільки файл з таким ім'ям вже присутній.",
"Could not create folder \"{dir}\" because it already exists" : "Неможливо створити каталог \"{dir}\", оскільки каталог з таким ім'ям він вже присутній.",
diff --git a/apps/files/l10n/vi.js b/apps/files/l10n/vi.js
index c7730a797e1..914df0323bd 100644
--- a/apps/files/l10n/vi.js
+++ b/apps/files/l10n/vi.js
@@ -105,7 +105,6 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "Tiêu đề cột có thể sắp xếp được.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Danh sách này không được hiển thị đầy đủ để tăng hiệu năng. Các tập tin sẽ được hiển thị khi bạn điều hướng qua danh sách.",
"File not found" : "Không tìm thấy tập tin",
- "{count} selected" : "đã chọn {count} ",
"{usedQuotaByte} used" : "{usedQuotaByte} đã được sử dụng",
"{used} of {quota} used" : "{used} trong {quota} đã được sử dụng",
"{relative}% used" : "đã sử dụng {relative}%",
@@ -320,9 +319,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "Được sao chép {origin} vào trong {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Đã sao chép {origin} và {nbfiles} các file vào trong {destination}",
"{newName} already exists" : "{newName} đã có",
- "Could not rename \"{fileName}\", it does not exist any more" : "Không thể đổi tên \"{fileName}\", tập tin không tồn tại",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tên \"{targetName}\" đã được dùng trong thư mục \"{dir}\". Hãy thử tên khác",
- "Could not rename \"{fileName}\"" : "Không thể đổi tên \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Không thể đổi tên \"{oldName}\", tệp tin không còn tồn tại",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tên \"{newName}\" đã được sử dụng trong thư mục \"{dir}\". Vui lòng chọn một tên khác.",
+ "Could not rename \"{oldName}\"" : "Không thể đổi tên \"{oldName}\"",
"Could not create file \"{file}\"" : "Không thể tạo tập tin \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Không thể tạo tập tin \"{file}\" vì đã có ",
"Could not create folder \"{dir}\" because it already exists" : "Không thể tạo thư mục “{dir}” vì đã có",
diff --git a/apps/files/l10n/vi.json b/apps/files/l10n/vi.json
index ebb4a3ae9e1..6be08caf830 100644
--- a/apps/files/l10n/vi.json
+++ b/apps/files/l10n/vi.json
@@ -103,7 +103,6 @@
"Column headers with buttons are sortable." : "Tiêu đề cột có thể sắp xếp được.",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "Danh sách này không được hiển thị đầy đủ để tăng hiệu năng. Các tập tin sẽ được hiển thị khi bạn điều hướng qua danh sách.",
"File not found" : "Không tìm thấy tập tin",
- "{count} selected" : "đã chọn {count} ",
"{usedQuotaByte} used" : "{usedQuotaByte} đã được sử dụng",
"{used} of {quota} used" : "{used} trong {quota} đã được sử dụng",
"{relative}% used" : "đã sử dụng {relative}%",
@@ -318,9 +317,9 @@
"Copied {origin} inside {destination}" : "Được sao chép {origin} vào trong {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Đã sao chép {origin} và {nbfiles} các file vào trong {destination}",
"{newName} already exists" : "{newName} đã có",
- "Could not rename \"{fileName}\", it does not exist any more" : "Không thể đổi tên \"{fileName}\", tập tin không tồn tại",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tên \"{targetName}\" đã được dùng trong thư mục \"{dir}\". Hãy thử tên khác",
- "Could not rename \"{fileName}\"" : "Không thể đổi tên \"{fileName}\"",
+ "Could not rename \"{oldName}\", it does not exist any more" : "Không thể đổi tên \"{oldName}\", tệp tin không còn tồn tại",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "Tên \"{newName}\" đã được sử dụng trong thư mục \"{dir}\". Vui lòng chọn một tên khác.",
+ "Could not rename \"{oldName}\"" : "Không thể đổi tên \"{oldName}\"",
"Could not create file \"{file}\"" : "Không thể tạo tập tin \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "Không thể tạo tập tin \"{file}\" vì đã có ",
"Could not create folder \"{dir}\" because it already exists" : "Không thể tạo thư mục “{dir}” vì đã có",
diff --git a/apps/files/l10n/zh_CN.js b/apps/files/l10n/zh_CN.js
index 66cd6bc7bdd..ec3a558fd85 100644
--- a/apps/files/l10n/zh_CN.js
+++ b/apps/files/l10n/zh_CN.js
@@ -118,16 +118,16 @@ OC.L10N.register(
"\"{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." : "您的剩余空间配额不足以继续上传文件。",
"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}",
- "{usedQuotaByte} used" : "{usedQuotaByte} 已使用",
- "{used} of {quota} used" : "已使用 {used} / {quota}",
- "{relative}% used" : "{relative}% 已使用",
+ "_{count} selected_::_{count} selected_" : ["已选择 {count} 个"],
+ "{usedQuotaByte} used" : "已使用 {usedQuotaByte}",
+ "{used} of {quota} used" : "已使用 {used}(共 {quota})",
+ "{relative}% used" : "已使用 {relative}%",
"Could not refresh storage stats" : "无法刷新存储统计数据",
"Your storage is full, files can not be updated or synced anymore!" : "您的存储空间已满,文件将无法更新或同步!",
"Storage information" : "存储信息",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "在 {destination} 内复制 {origin}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "在 {destination} 内复制了 {origin} 和 {nbfiles} 个其他文件",
"{newName} already exists" : "{newName} 已经存在",
- "Could not rename \"{fileName}\", it does not exist any more" : "无法重命名“{fileName}”,此文件已经不存在",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "文件夹“{dir}”中已经存在“{targetName}”。请尝试其它名称。",
- "Could not rename \"{fileName}\"" : "无法重命名“{fileName}”",
+ "Could not rename \"{oldName}\", it does not exist any more" : "无法重命名“{oldName}”,此文件已经不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名称“{newName}”在这个文件夹“{dir}”已经被使用。请选择其他名称。",
+ "Could not rename \"{oldName}\"" : "无法重命名“{oldName}”",
"Could not create file \"{file}\"" : "无法创建文件“{file}”",
"Could not create file \"{file}\" because it already exists" : "无法创建文件“{file}”,因为它已经存在",
"Could not create folder \"{dir}\" because it already exists" : "无法创建文件夹“{dir}”,因为它已经存在",
diff --git a/apps/files/l10n/zh_CN.json b/apps/files/l10n/zh_CN.json
index 7fa07ebcbcf..01b30fd2a1c 100644
--- a/apps/files/l10n/zh_CN.json
+++ b/apps/files/l10n/zh_CN.json
@@ -116,16 +116,16 @@
"\"{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." : "您的剩余空间配额不足以继续上传文件。",
"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}",
- "{usedQuotaByte} used" : "{usedQuotaByte} 已使用",
- "{used} of {quota} used" : "已使用 {used} / {quota}",
- "{relative}% used" : "{relative}% 已使用",
+ "_{count} selected_::_{count} selected_" : ["已选择 {count} 个"],
+ "{usedQuotaByte} used" : "已使用 {usedQuotaByte}",
+ "{used} of {quota} used" : "已使用 {used}(共 {quota})",
+ "{relative}% used" : "已使用 {relative}%",
"Could not refresh storage stats" : "无法刷新存储统计数据",
"Your storage is full, files can not be updated or synced anymore!" : "您的存储空间已满,文件将无法更新或同步!",
"Storage information" : "存储信息",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "在 {destination} 内复制 {origin}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "在 {destination} 内复制了 {origin} 和 {nbfiles} 个其他文件",
"{newName} already exists" : "{newName} 已经存在",
- "Could not rename \"{fileName}\", it does not exist any more" : "无法重命名“{fileName}”,此文件已经不存在",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "文件夹“{dir}”中已经存在“{targetName}”。请尝试其它名称。",
- "Could not rename \"{fileName}\"" : "无法重命名“{fileName}”",
+ "Could not rename \"{oldName}\", it does not exist any more" : "无法重命名“{oldName}”,此文件已经不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名称“{newName}”在这个文件夹“{dir}”已经被使用。请选择其他名称。",
+ "Could not rename \"{oldName}\"" : "无法重命名“{oldName}”",
"Could not create file \"{file}\"" : "无法创建文件“{file}”",
"Could not create file \"{file}\" because it already exists" : "无法创建文件“{file}”,因为它已经存在",
"Could not create folder \"{dir}\" because it already exists" : "无法创建文件夹“{dir}”,因为它已经存在",
diff --git a/apps/files/l10n/zh_HK.js b/apps/files/l10n/zh_HK.js
index 650ec7a5511..b77fce8284a 100644
--- a/apps/files/l10n/zh_HK.js
+++ b/apps/files/l10n/zh_HK.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "具有按鈕的縱列標題可排序。",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出於性能考慮,此清單未完全呈現。檔案將在您瀏覽清單時呈現。",
"File not found" : "找不到檔案",
- "{count} selected" : "已選擇 {count} 項",
+ "_{count} selected_::_{count} selected_" : ["已選擇 {count} 項"],
"{usedQuotaByte} used" : "已使用 {usedQuotaByte} ",
"{used} of {quota} used" : "已使用 {quota} 當中的 {used}",
"{relative}% used" : "已使用 {relative}%",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "已複製 {origin} 至 {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}\",因為此檔案已經不存在",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱 \"{targetName}\" 在這資料夾 \"{dir}\" 已經被使用。請重新選擇不同的名稱",
- "Could not rename \"{fileName}\"" : "無法重新命名「{fileName}」",
+ "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,因為此檔案已經不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在這資料夾「{dir}」已經被使用。請選擇其他名稱。",
+ "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"Could not create file \"{file}\"" : "無法建立檔案 \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "無法建立檔案「{file}」,因為此檔案已存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾 \"{dir}\",因為此資料夾已存在",
diff --git a/apps/files/l10n/zh_HK.json b/apps/files/l10n/zh_HK.json
index 60bfa5bab26..a8d54f293e9 100644
--- a/apps/files/l10n/zh_HK.json
+++ b/apps/files/l10n/zh_HK.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "具有按鈕的縱列標題可排序。",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出於性能考慮,此清單未完全呈現。檔案將在您瀏覽清單時呈現。",
"File not found" : "找不到檔案",
- "{count} selected" : "已選擇 {count} 項",
+ "_{count} selected_::_{count} selected_" : ["已選擇 {count} 項"],
"{usedQuotaByte} used" : "已使用 {usedQuotaByte} ",
"{used} of {quota} used" : "已使用 {quota} 當中的 {used}",
"{relative}% used" : "已使用 {relative}%",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "已複製 {origin} 至 {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}\",因為此檔案已經不存在",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱 \"{targetName}\" 在這資料夾 \"{dir}\" 已經被使用。請重新選擇不同的名稱",
- "Could not rename \"{fileName}\"" : "無法重新命名「{fileName}」",
+ "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,因為此檔案已經不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在這資料夾「{dir}」已經被使用。請選擇其他名稱。",
+ "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"Could not create file \"{file}\"" : "無法建立檔案 \"{file}\"",
"Could not create file \"{file}\" because it already exists" : "無法建立檔案「{file}」,因為此檔案已存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾 \"{dir}\",因為此資料夾已存在",
diff --git a/apps/files/l10n/zh_TW.js b/apps/files/l10n/zh_TW.js
index 960e6ec7a8c..986370e3041 100644
--- a/apps/files/l10n/zh_TW.js
+++ b/apps/files/l10n/zh_TW.js
@@ -124,7 +124,7 @@ OC.L10N.register(
"Column headers with buttons are sortable." : "帶有按鈕的欄位標頭為可排序。",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出於效能考量,此清單未完全呈現。檔案將在您瀏覽清單時呈現。",
"File not found" : "找不到檔案",
- "{count} selected" : "已選取 {count} 個",
+ "_{count} selected_::_{count} selected_" : ["已選取 {count} 個"],
"{usedQuotaByte} used" : "已使用 {usedQuotaByte}",
"{used} of {quota} used" : "已使用 {used},共 {quota}",
"{relative}% used" : "已使用 {relative}%",
@@ -401,9 +401,9 @@ OC.L10N.register(
"Copied {origin} inside {destination}" : "已將 {origin} 複製到 {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}」,因為檔案已不存在",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{targetName}」在這資料夾「{dir}」中已被使用。請改用其他名稱。",
- "Could not rename \"{fileName}\"" : "無法重新命名「{fileName}」",
+ "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,此檔案已不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在資料夾「{dir}」中已被使用。請改用其他名稱。",
+ "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"Could not create file \"{file}\"" : "無法建立檔案「{file}」",
"Could not create file \"{file}\" because it already exists" : "無法建立檔案「{file}」,因為此檔案已經存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾「{dir}」,因為此資料夾已經存在",
diff --git a/apps/files/l10n/zh_TW.json b/apps/files/l10n/zh_TW.json
index a331632097a..5daa9d4277f 100644
--- a/apps/files/l10n/zh_TW.json
+++ b/apps/files/l10n/zh_TW.json
@@ -122,7 +122,7 @@
"Column headers with buttons are sortable." : "帶有按鈕的欄位標頭為可排序。",
"This list is not fully rendered for performance reasons. The files will be rendered as you navigate through the list." : "出於效能考量,此清單未完全呈現。檔案將在您瀏覽清單時呈現。",
"File not found" : "找不到檔案",
- "{count} selected" : "已選取 {count} 個",
+ "_{count} selected_::_{count} selected_" : ["已選取 {count} 個"],
"{usedQuotaByte} used" : "已使用 {usedQuotaByte}",
"{used} of {quota} used" : "已使用 {used},共 {quota}",
"{relative}% used" : "已使用 {relative}%",
@@ -399,9 +399,9 @@
"Copied {origin} inside {destination}" : "已將 {origin} 複製到 {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}」,因為檔案已不存在",
- "The name \"{targetName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{targetName}」在這資料夾「{dir}」中已被使用。請改用其他名稱。",
- "Could not rename \"{fileName}\"" : "無法重新命名「{fileName}」",
+ "Could not rename \"{oldName}\", it does not exist any more" : "無法命名檔案「{oldName}」,此檔案已不存在",
+ "The name \"{newName}\" is already used in the folder \"{dir}\". Please choose a different name." : "此名稱「{newName}」在資料夾「{dir}」中已被使用。請改用其他名稱。",
+ "Could not rename \"{oldName}\"" : "無法重新命名「{oldName}」",
"Could not create file \"{file}\"" : "無法建立檔案「{file}」",
"Could not create file \"{file}\" because it already exists" : "無法建立檔案「{file}」,因為此檔案已經存在",
"Could not create folder \"{dir}\" because it already exists" : "無法建立資料夾「{dir}」,因為此資料夾已經存在",
diff --git a/apps/files/lib/Command/Scan.php b/apps/files/lib/Command/Scan.php
index 7f45a9ea518..bd99dd28e60 100644
--- a/apps/files/lib/Command/Scan.php
+++ b/apps/files/lib/Command/Scan.php
@@ -11,6 +11,7 @@ use OC\Core\Command\Base;
use OC\Core\Command\InterruptedException;
use OC\DB\Connection;
use OC\DB\ConnectionAdapter;
+use OC\Files\Storage\Wrapper\Jail;
use OC\Files\Utils\Scanner;
use OC\FilesMetadata\FilesMetadataManager;
use OC\ForbiddenException;
@@ -99,7 +100,15 @@ class Scan extends Base {
);
}
- protected function scanFiles(string $user, string $path, ?string $scanMetadata, OutputInterface $output, bool $backgroundScan = false, bool $recursive = true, bool $homeOnly = false): void {
+ protected function scanFiles(
+ string $user,
+ string $path,
+ ?string $scanMetadata,
+ OutputInterface $output,
+ callable $mountFilter,
+ bool $backgroundScan = false,
+ bool $recursive = true,
+ ): void {
$connection = $this->reconnectToDatabase($output);
$scanner = new Scanner(
$user,
@@ -153,7 +162,7 @@ class Scan extends Base {
if ($backgroundScan) {
$scanner->backgroundScan($path);
} else {
- $scanner->scan($path, $recursive, $homeOnly ? [$this, 'filterHomeMount'] : null);
+ $scanner->scan($path, $recursive, $mountFilter);
}
} catch (ForbiddenException $e) {
$output->writeln("<error>Home storage for user $user not writable or 'files' subdirectory missing</error>");
@@ -179,7 +188,7 @@ class Scan extends Base {
}
}
- public function filterHomeMount(IMountPoint $mountPoint): bool {
+ public function isHomeMount(IMountPoint $mountPoint): bool {
// any mountpoint inside '/$user/files/'
return substr_count($mountPoint->getMountPoint(), '/') <= 3;
}
@@ -211,6 +220,29 @@ class Scan extends Base {
$metadata = $input->getOption('generate-metadata') ?? '';
}
+ $homeOnly = $input->getOption('home-only');
+ $scannedStorages = [];
+ $mountFilter = function (IMountPoint $mount) use ($homeOnly, &$scannedStorages) {
+ if ($homeOnly && !$this->isHomeMount($mount)) {
+ return false;
+ }
+
+ // when scanning multiple users, the scanner might encounter the same storage multiple times (e.g. external storages, or group folders)
+ // we can filter out any storage we've already scanned to avoid double work
+ $storage = $mount->getStorage();
+ $storageKey = $storage->getId();
+ while ($storage->instanceOfStorage(Jail::class)) {
+ $storageKey .= '/' . $storage->getUnjailedPath('');
+ $storage = $storage->getUnjailedStorage();
+ }
+ if (array_key_exists($storageKey, $scannedStorages)) {
+ return false;
+ }
+
+ $scannedStorages[$storageKey] = true;
+ return true;
+ };
+
$user_count = 0;
foreach ($users as $user) {
if (is_object($user)) {
@@ -220,7 +252,15 @@ class Scan extends Base {
++$user_count;
if ($this->userManager->userExists($user)) {
$output->writeln("Starting scan for user $user_count out of $users_total ($user)");
- $this->scanFiles($user, $path, $metadata, $output, $input->getOption('unscanned'), !$input->getOption('shallow'), $input->getOption('home-only'));
+ $this->scanFiles(
+ $user,
+ $path,
+ $metadata,
+ $output,
+ $mountFilter,
+ $input->getOption('unscanned'),
+ !$input->getOption('shallow'),
+ );
$output->writeln('', OutputInterface::VERBOSITY_VERBOSE);
} else {
$output->writeln("<error>Unknown user $user_count $user</error>");
diff --git a/apps/files/src/views/FilesList.vue b/apps/files/src/views/FilesList.vue
index b335737c4dd..60791a2b527 100644
--- a/apps/files/src/views/FilesList.vue
+++ b/apps/files/src/views/FilesList.vue
@@ -483,13 +483,6 @@ export default defineComponent({
watch: {
/**
- * Update the window title to match the page heading
- */
- pageHeading() {
- document.title = `${this.pageHeading} - ${getCapabilities().theming?.name ?? 'Nextcloud'}`
- },
-
- /**
* Handle rendering the custom empty view
* @param show The current state if the custom empty view should be rendered
*/
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index 5c6d38b6396..4fe61304c42 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -107,6 +107,7 @@ OC.L10N.register(
"New configuration successfully saved" : "Nouvelle configuration entrée avec succès",
"Enter missing credentials" : "Saisissez les identifiants de connexion manquants",
"Credentials successfully set" : "Identifiants enregistrés avec succès",
+ "Error while setting credentials: {error}" : "Erreur lors de l'envoi des identifiants: {error}",
"Checking storage …" : "Vérification du stockage ...",
"There was an error with this external storage." : "Il y a eu une erreur avec ce stockage externe.",
"We were unable to check the external storage {basename}" : "Nous n'avons pas pu vérifier le stockage externe {basename}",
@@ -143,6 +144,8 @@ OC.L10N.register(
"Saved" : "Enregistré",
"Saving …" : "Enregistrement ...",
"Save" : "Enregistrer",
+ "Failed to save global credentials" : "Échec de l'enregistrement des identifiants globaux",
+ "Failed to save global credentials: {message}" : "Échec de l'enregistrement des identifiants globaux : {message}",
"No external storage configured or you don't have the permission to configure them" : "Aucun stockage externe configuré ou vous n'avez pas l'autorisation de les configurer",
"Open documentation" : "Voir la documentation",
"External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow people to mount their own external storage services." : "Le stockage externe vous permet de monter des périphériques et services externes en tant que périphériques de stockage secondaires sous Nextcloud. Vous pouvez aussi autoriser les personnes à monter leurs propres services de stockage externes.",
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index 2cadc830a7d..d55040a70db 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -105,6 +105,7 @@
"New configuration successfully saved" : "Nouvelle configuration entrée avec succès",
"Enter missing credentials" : "Saisissez les identifiants de connexion manquants",
"Credentials successfully set" : "Identifiants enregistrés avec succès",
+ "Error while setting credentials: {error}" : "Erreur lors de l'envoi des identifiants: {error}",
"Checking storage …" : "Vérification du stockage ...",
"There was an error with this external storage." : "Il y a eu une erreur avec ce stockage externe.",
"We were unable to check the external storage {basename}" : "Nous n'avons pas pu vérifier le stockage externe {basename}",
@@ -141,6 +142,8 @@
"Saved" : "Enregistré",
"Saving …" : "Enregistrement ...",
"Save" : "Enregistrer",
+ "Failed to save global credentials" : "Échec de l'enregistrement des identifiants globaux",
+ "Failed to save global credentials: {message}" : "Échec de l'enregistrement des identifiants globaux : {message}",
"No external storage configured or you don't have the permission to configure them" : "Aucun stockage externe configuré ou vous n'avez pas l'autorisation de les configurer",
"Open documentation" : "Voir la documentation",
"External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow people to mount their own external storage services." : "Le stockage externe vous permet de monter des périphériques et services externes en tant que périphériques de stockage secondaires sous Nextcloud. Vous pouvez aussi autoriser les personnes à monter leurs propres services de stockage externes.",
diff --git a/apps/files_external/l10n/nl.js b/apps/files_external/l10n/nl.js
index 8271299a3b9..2c3522048b5 100644
--- a/apps/files_external/l10n/nl.js
+++ b/apps/files_external/l10n/nl.js
@@ -1,12 +1,14 @@
OC.L10N.register(
"files_external",
{
- "Grant access" : "Sta toegang toe",
+ "Grant access" : "Toegang verlenen",
"Error configuring OAuth1" : "Fout bij configureren OAuth1",
"Please provide a valid app key and secret." : "Geef een geldige app sleutel en geheime sleutel op.",
"Error configuring OAuth2" : "Fout bij configureren OAuth2",
- "Generate keys" : "Genereer sleutels",
+ "Generate keys" : "Sleutels genereren",
"Error generating key pair" : "Fout bij genereren sleutelpaar",
+ "You are not logged in" : "Je bent niet ingelogd",
+ "Permission denied" : "Toestemming geweigerd",
"Forbidden to manage local mounts" : "Niet toegestaan lokale koppelpunten te beheren",
"Storage with ID \"%d\" not found" : "Opslag met ID \"%d\" niet gevonden",
"Invalid backend or authentication mechanism class" : "Ongeldige backend of authenticatie mechanisme klasse",
@@ -19,6 +21,7 @@ OC.L10N.register(
"Unsatisfied authentication mechanism parameters" : "Onvoldoende authenticatiemechanisme parameters",
"Insufficient data: %s" : "Onvoldoende gegevens: %s",
"%s" : "%s",
+ "Storage with ID \"%d\" is not editable by non-admins" : "Opslag met ID \"%d\" is niet bewerkbaar door niet-beheerders",
"Access key" : "Access Key",
"Secret key" : "Geheime sleutel",
"Builtin" : "Ingebouwd",
@@ -38,13 +41,17 @@ OC.L10N.register(
"Domain" : "Domein",
"Rackspace" : "Rackspace",
"API key" : "API sleutel",
- "Global credentials" : "Algemene inloggegevens",
+ "Global credentials" : "Globale inloggegevens",
"Log-in credentials, save in database" : "Inloggegevens, bewaren in de database",
+ "Login and password" : "Login en wachtwoord",
"Log-in credentials, save in session" : "Inloggegevens, opslaan in sessie",
+ "Global credentials, manually entered" : "Globale inloggegevens, handmatig ingevoerd",
+ "Manually entered, store in database" : "Handmatig ingevoerd, opslaan in database",
"RSA public key" : "RSA publieke sleutel",
"Public key" : "Publieke sleutel",
"RSA private key" : "RSA privésleutel",
"Private key" : "Privésleutel",
+ "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberos standaardomgeving, standaard ingesteld op \"WORKGROUP\"",
"Kerberos ticket Apache mode" : "Kerberos ticket Apache modus",
"Kerberos ticket" : "Kerberos ticket",
"Amazon S3" : "Amazon S3",
@@ -52,9 +59,12 @@ OC.L10N.register(
"Hostname" : "Hostnaam",
"Port" : "Poort",
"Region" : "Regio",
- "Enable SSL" : "Activeren SSL",
- "Enable Path Style" : "Activeren pad stijl",
- "Legacy (v2) authentication" : "Legacy (v2) authenticatie",
+ "Storage Class" : "Opslagklasse",
+ "Enable SSL" : "SSL inschakelen",
+ "Enable Path Style" : "Padstijl inschakelen",
+ "Legacy (v2) authentication" : "Verouderde (v2) authenticatie",
+ "Enable multipart copy" : "Meervoudig kopiëren inschakelen",
+ "SSE-C encryption key" : "SSE-C versleutelingscode",
"WebDAV" : "WebDAV",
"URL" : "URL",
"Remote subfolder" : "Externe submap",
@@ -71,9 +81,13 @@ OC.L10N.register(
"SMB/CIFS" : "SMB/CIFS",
"Share" : "Share",
"Show hidden files" : "Laat verborgen bestanden zien",
- "Verify ACL access when listing files" : "Controleer ACL bij bestandsoverzichten",
+ "Case sensitive file system" : "Hoofdlettergevoelig bestandssysteem",
+ "Disabling it will allow to use a case insensitive file system, but comes with a performance penalty" : "Door dit uit te schakelen kan een hoofdletterongevoelig bestandssysteem worden gebruikt, zij het met verminderde prestaties",
+ "Verify ACL access when listing files" : "ACL controleren bij bestandsoverzichten",
+ "Check the ACL's of each file or folder inside a directory to filter out items where the account has no read permissions, comes with a performance penalty" : "Controleer de ACL's van elk bestand of elke map in een map om items eruit te filteren waarvan het account geen leesrechten heeft. Dit geeft verminderde prestaties.",
"Timeout" : "Time-out",
- "SMB/CIFS using OC login" : "SMB/CIFS via OC inlog",
+ "SMB/CIFS using OC login" : "SMB/CIFS via OC-inlog",
+ "Login as share" : "Login als share",
"OpenStack Object Storage" : "OpenStack Object Storage",
"Service name" : "Servicenaam",
"Request timeout (seconds)" : "Aanvraag time-out (seconds)",
@@ -81,41 +95,68 @@ OC.L10N.register(
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "FTP ondersteuning in PHP is niet ingeschakeld of geïnstalleerd. Aankoppelen van %s is niet mogelijk. Vraag je beheerder dit te installeren.",
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" is niet geïnstalleerd. Aankoppelen van %2$s is niet mogelijk. Vraag je beheerder om dit te installeren.",
"External storage" : "Externe opslag",
- "External storage support" : "Externe opslag ondersteuning",
- "Adds basic external storage support" : "Toevoegen basale ondersteuning voor externe opslag",
+ "External storage support" : "Ondersteuning voor externe opslag",
+ "Adds basic external storage support" : "Voegt basale ondersteuning voor externe opslag toe",
+ "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administration can choose which types of storage to enable and can mount these storage locations for an account, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows people to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the administration with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Met deze applicatie kunnen beheerders verbindingen configureren met externe opslagproviders, zoals FTP-servers, S3- of SWIFT-objectstores, andere Nextcloud-servers, WebDAV-servers en meer. De beneerder kan kiezen welke soorten opslag ze inschakelen en kan deze opslaglocaties koppelen voor een account, een groep of het hele systeem. Gebruikers zullen een nieuwe map zien verschijnen in hun root Nextcloud-map, die ze kunnen openen en gebruiken zoals elke andere Nextcloud-map. Met externe opslag kunnen mensen ook bestanden delen die op deze externe locaties zijn opgeslagen. In deze gevallen worden de inloggegevens van de eigenaar van het bestand gebruikt wanneer de ontvanger het bestand vanuit externe opslag opvraagt, waardoor wordt gegarandeerd dat de ontvanger toegang heeft tot het gedeelde bestand.\n\nExterne opslag kan worden geconfigureerd met behulp van de GUI of op de opdrachtregel. Deze tweede optie biedt de administratie meer flexibiliteit voor het configureren van externe opslagbevestigingen in bulk en het stellen van prioriteiten voor aankoppelen. Meer informatie is beschikbaar in de GUI-documentatie voor externe opslag en de documentatie voor het configuratiebestand voor externe opslag.",
"Confirm" : "Bevestigen",
- "Open in Files" : "Open in Bestanden",
- "External mount error" : "Extern koppelpunt fout",
+ "Storage credentials" : "Opslagreferenties",
+ "To access the storage, you need to provide the authentication credentials." : "Om toegang te krijgen tot de opslag, moeten de authenticatiegegevens worden geleverd.",
+ "Enter the storage login" : "Voer de loginnaam in voor de opslag",
+ "Enter the storage password" : "Voer het wachtwoord in voor de opslag",
+ "Unable to update this external storage config. {statusMessage}" : "Kan deze configuratie van de externe opslag niet bijwerken.{statusMessage}",
+ "New configuration successfully saved" : "Nieuwe configuratie succesvol opgeslagen",
+ "Enter missing credentials" : "Voer de ontbrekende inloggegevens in",
+ "Credentials successfully set" : "Inloggegevens succesvol ingesteld",
+ "Error while setting credentials: {error}" : "Fout tijdens het instellen van inloggegevens: {error}",
+ "Checking storage …" : "Controle van opslag …",
+ "There was an error with this external storage." : "Er is een fout opgetreden bij deze externe opslag.",
+ "We were unable to check the external storage {basename}" : "We konden de externe opslag {basename} niet controleren",
+ "Examine this faulty external storage configuration" : "Onderzoek deze foutieve externe opslagconfiguratie",
+ "Open in Files" : "Openen in Bestanden",
+ "There was an error with this external storage. Do you want to review this mount point config in the settings page?" : "Er is een fout opgetreden bij deze externe opslag. Wil je de configuratie voor dit aankoppelpunt bekijken op de instellingenpagina?",
+ "External mount error" : "Fout met extern aankoppelpunt",
+ "List of external storage." : "Lijst van externe opslag.",
+ "There is no external storage configured. You can configure them in your Personal settings." : "Er is geen externe opslag geconfigureerd. Je kunt deze configureren in Persoonlijke instellingen.",
+ "There is no external storage configured and you don't have the permission to configure them." : "Er is geen externe opslag geconfigureerd en je hebt geen toestemming om deze te configureren.",
+ "No external storage" : "Geen externe opslag",
"Storage type" : "Opslagtype",
"Unknown" : "Onbekend",
- "Scope" : "Scope",
+ "Scope" : "Toepassingsgebied",
"Personal" : "Persoonlijk",
"System" : "Systeem",
+ "Type to select account or group." : "Typ om account of groep te selecteren.",
"(Group)" : "(Groep)",
"Compatibility with Mac NFD encoding (slow)" : "Compatibiliteit met Mac NFD encoding (traag)",
"Enable encryption" : "Versleuteling inschakelen",
- "Enable previews" : "Activeren voorbeelden",
- "Enable sharing" : "Activeren delen",
+ "Enable previews" : "Voorbeeldweergave inschakelen",
+ "Enable sharing" : "Delen inschakelen",
"Check for changes" : "Controleren op wijzigingen",
"Never" : "Nooit",
"Once every direct access" : "Een keer bij elke directe toegang",
- "Read only" : "Alleen lezen",
- "Disconnect" : "Verbreek verbinding",
+ "Read only" : "Alleen-lezen",
+ "Disconnect" : "Verbinding verbreken",
+ "Unknown backend: {backendName}" : "Onbekend back-end: {backendName}",
"Admin defined" : "Beheerder gedefinieerd",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Automatische statuscontrole is uitgeschakeld vanwege het grote aantal geconfigureerde opslagplaatsen. Klik om de status te controleren",
"Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Weet je zeker dat je deze externe opslag wilt loskoppelen? Het maakt de opslag niet langer beschikbaar in Nextcloud en leidt tot het verwijderen van de bestanden en mappen op elke synchronisatieclient die momenteel is verbonden. Het verwijdert geen bestanden en mappen op de externe opslag zelf.",
"Delete storage?" : "Opslag verwijderen?",
"Click to recheck the configuration" : "Klik om de configuratie opnieuw te controleren",
"Saved" : "Bewaard",
- "Saving …" : "Opslaan ...",
- "Save" : "Bewaren",
+ "Saving …" : "Opslaan …",
+ "Save" : "Opslaan",
+ "Failed to save global credentials" : "Het opslaan van globale inloggegevens is mislukt",
+ "Failed to save global credentials: {message}" : "Het opslaan van globale inloggegevens is mislukt: {message}",
"No external storage configured or you don't have the permission to configure them" : "Geen externe opslag geconfigureerd of je hebt geen toestemming om deze te configureren",
"Open documentation" : "Documentatie openen",
+ "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow people to mount their own external storage services." : "Met externe opslag kun je externe opslagservices en -apparaten koppelen als secundaire Nextcloud-opslagapparaten. Je kunt mensen ook toestaan hun eigen externe opslagdiensten aan te koppelen.",
"Folder name" : "Mapnaam",
"Authentication" : "Authenticatie",
"Configuration" : "Configuratie",
"Available for" : "Beschikbaar voor",
- "Add storage" : "Toevoegen opslag",
+ "Add storage" : "Opslag toevoegen",
+ "All people" : "Iedereen",
"Advanced settings" : "Geavanceerde instellingen",
+ "Allow people to mount external storage" : "Toestaan dat mensen externe opslag aankoppelen",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Globale inloggegevens kunnen worden gebruikt met meerdere externe opslagsystemen met dezelfde inloggegevens."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/nl.json b/apps/files_external/l10n/nl.json
index 28b268249f7..a368a56d766 100644
--- a/apps/files_external/l10n/nl.json
+++ b/apps/files_external/l10n/nl.json
@@ -1,10 +1,12 @@
{ "translations": {
- "Grant access" : "Sta toegang toe",
+ "Grant access" : "Toegang verlenen",
"Error configuring OAuth1" : "Fout bij configureren OAuth1",
"Please provide a valid app key and secret." : "Geef een geldige app sleutel en geheime sleutel op.",
"Error configuring OAuth2" : "Fout bij configureren OAuth2",
- "Generate keys" : "Genereer sleutels",
+ "Generate keys" : "Sleutels genereren",
"Error generating key pair" : "Fout bij genereren sleutelpaar",
+ "You are not logged in" : "Je bent niet ingelogd",
+ "Permission denied" : "Toestemming geweigerd",
"Forbidden to manage local mounts" : "Niet toegestaan lokale koppelpunten te beheren",
"Storage with ID \"%d\" not found" : "Opslag met ID \"%d\" niet gevonden",
"Invalid backend or authentication mechanism class" : "Ongeldige backend of authenticatie mechanisme klasse",
@@ -17,6 +19,7 @@
"Unsatisfied authentication mechanism parameters" : "Onvoldoende authenticatiemechanisme parameters",
"Insufficient data: %s" : "Onvoldoende gegevens: %s",
"%s" : "%s",
+ "Storage with ID \"%d\" is not editable by non-admins" : "Opslag met ID \"%d\" is niet bewerkbaar door niet-beheerders",
"Access key" : "Access Key",
"Secret key" : "Geheime sleutel",
"Builtin" : "Ingebouwd",
@@ -36,13 +39,17 @@
"Domain" : "Domein",
"Rackspace" : "Rackspace",
"API key" : "API sleutel",
- "Global credentials" : "Algemene inloggegevens",
+ "Global credentials" : "Globale inloggegevens",
"Log-in credentials, save in database" : "Inloggegevens, bewaren in de database",
+ "Login and password" : "Login en wachtwoord",
"Log-in credentials, save in session" : "Inloggegevens, opslaan in sessie",
+ "Global credentials, manually entered" : "Globale inloggegevens, handmatig ingevoerd",
+ "Manually entered, store in database" : "Handmatig ingevoerd, opslaan in database",
"RSA public key" : "RSA publieke sleutel",
"Public key" : "Publieke sleutel",
"RSA private key" : "RSA privésleutel",
"Private key" : "Privésleutel",
+ "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberos standaardomgeving, standaard ingesteld op \"WORKGROUP\"",
"Kerberos ticket Apache mode" : "Kerberos ticket Apache modus",
"Kerberos ticket" : "Kerberos ticket",
"Amazon S3" : "Amazon S3",
@@ -50,9 +57,12 @@
"Hostname" : "Hostnaam",
"Port" : "Poort",
"Region" : "Regio",
- "Enable SSL" : "Activeren SSL",
- "Enable Path Style" : "Activeren pad stijl",
- "Legacy (v2) authentication" : "Legacy (v2) authenticatie",
+ "Storage Class" : "Opslagklasse",
+ "Enable SSL" : "SSL inschakelen",
+ "Enable Path Style" : "Padstijl inschakelen",
+ "Legacy (v2) authentication" : "Verouderde (v2) authenticatie",
+ "Enable multipart copy" : "Meervoudig kopiëren inschakelen",
+ "SSE-C encryption key" : "SSE-C versleutelingscode",
"WebDAV" : "WebDAV",
"URL" : "URL",
"Remote subfolder" : "Externe submap",
@@ -69,9 +79,13 @@
"SMB/CIFS" : "SMB/CIFS",
"Share" : "Share",
"Show hidden files" : "Laat verborgen bestanden zien",
- "Verify ACL access when listing files" : "Controleer ACL bij bestandsoverzichten",
+ "Case sensitive file system" : "Hoofdlettergevoelig bestandssysteem",
+ "Disabling it will allow to use a case insensitive file system, but comes with a performance penalty" : "Door dit uit te schakelen kan een hoofdletterongevoelig bestandssysteem worden gebruikt, zij het met verminderde prestaties",
+ "Verify ACL access when listing files" : "ACL controleren bij bestandsoverzichten",
+ "Check the ACL's of each file or folder inside a directory to filter out items where the account has no read permissions, comes with a performance penalty" : "Controleer de ACL's van elk bestand of elke map in een map om items eruit te filteren waarvan het account geen leesrechten heeft. Dit geeft verminderde prestaties.",
"Timeout" : "Time-out",
- "SMB/CIFS using OC login" : "SMB/CIFS via OC inlog",
+ "SMB/CIFS using OC login" : "SMB/CIFS via OC-inlog",
+ "Login as share" : "Login als share",
"OpenStack Object Storage" : "OpenStack Object Storage",
"Service name" : "Servicenaam",
"Request timeout (seconds)" : "Aanvraag time-out (seconds)",
@@ -79,41 +93,68 @@
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "FTP ondersteuning in PHP is niet ingeschakeld of geïnstalleerd. Aankoppelen van %s is niet mogelijk. Vraag je beheerder dit te installeren.",
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" is niet geïnstalleerd. Aankoppelen van %2$s is niet mogelijk. Vraag je beheerder om dit te installeren.",
"External storage" : "Externe opslag",
- "External storage support" : "Externe opslag ondersteuning",
- "Adds basic external storage support" : "Toevoegen basale ondersteuning voor externe opslag",
+ "External storage support" : "Ondersteuning voor externe opslag",
+ "Adds basic external storage support" : "Voegt basale ondersteuning voor externe opslag toe",
+ "This application enables administrators to configure connections to external storage providers, such as FTP servers, S3 or SWIFT object stores, other Nextcloud servers, WebDAV servers, and more. Administration can choose which types of storage to enable and can mount these storage locations for an account, a group, or the entire system. Users will see a new folder appear in their root Nextcloud directory, which they can access and use like any other Nextcloud folder. External storage also allows people to share files stored in these external locations. In these cases, the credentials for the owner of the file are used when the recipient requests the file from external storage, thereby ensuring that the recipient can access the shared file.\n\nExternal storage can be configured using the GUI or at the command line. This second option provides the administration with more flexibility for configuring bulk external storage mounts and setting mount priorities. More information is available in the external storage GUI documentation and the external storage Configuration File documentation." : "Met deze applicatie kunnen beheerders verbindingen configureren met externe opslagproviders, zoals FTP-servers, S3- of SWIFT-objectstores, andere Nextcloud-servers, WebDAV-servers en meer. De beneerder kan kiezen welke soorten opslag ze inschakelen en kan deze opslaglocaties koppelen voor een account, een groep of het hele systeem. Gebruikers zullen een nieuwe map zien verschijnen in hun root Nextcloud-map, die ze kunnen openen en gebruiken zoals elke andere Nextcloud-map. Met externe opslag kunnen mensen ook bestanden delen die op deze externe locaties zijn opgeslagen. In deze gevallen worden de inloggegevens van de eigenaar van het bestand gebruikt wanneer de ontvanger het bestand vanuit externe opslag opvraagt, waardoor wordt gegarandeerd dat de ontvanger toegang heeft tot het gedeelde bestand.\n\nExterne opslag kan worden geconfigureerd met behulp van de GUI of op de opdrachtregel. Deze tweede optie biedt de administratie meer flexibiliteit voor het configureren van externe opslagbevestigingen in bulk en het stellen van prioriteiten voor aankoppelen. Meer informatie is beschikbaar in de GUI-documentatie voor externe opslag en de documentatie voor het configuratiebestand voor externe opslag.",
"Confirm" : "Bevestigen",
- "Open in Files" : "Open in Bestanden",
- "External mount error" : "Extern koppelpunt fout",
+ "Storage credentials" : "Opslagreferenties",
+ "To access the storage, you need to provide the authentication credentials." : "Om toegang te krijgen tot de opslag, moeten de authenticatiegegevens worden geleverd.",
+ "Enter the storage login" : "Voer de loginnaam in voor de opslag",
+ "Enter the storage password" : "Voer het wachtwoord in voor de opslag",
+ "Unable to update this external storage config. {statusMessage}" : "Kan deze configuratie van de externe opslag niet bijwerken.{statusMessage}",
+ "New configuration successfully saved" : "Nieuwe configuratie succesvol opgeslagen",
+ "Enter missing credentials" : "Voer de ontbrekende inloggegevens in",
+ "Credentials successfully set" : "Inloggegevens succesvol ingesteld",
+ "Error while setting credentials: {error}" : "Fout tijdens het instellen van inloggegevens: {error}",
+ "Checking storage …" : "Controle van opslag …",
+ "There was an error with this external storage." : "Er is een fout opgetreden bij deze externe opslag.",
+ "We were unable to check the external storage {basename}" : "We konden de externe opslag {basename} niet controleren",
+ "Examine this faulty external storage configuration" : "Onderzoek deze foutieve externe opslagconfiguratie",
+ "Open in Files" : "Openen in Bestanden",
+ "There was an error with this external storage. Do you want to review this mount point config in the settings page?" : "Er is een fout opgetreden bij deze externe opslag. Wil je de configuratie voor dit aankoppelpunt bekijken op de instellingenpagina?",
+ "External mount error" : "Fout met extern aankoppelpunt",
+ "List of external storage." : "Lijst van externe opslag.",
+ "There is no external storage configured. You can configure them in your Personal settings." : "Er is geen externe opslag geconfigureerd. Je kunt deze configureren in Persoonlijke instellingen.",
+ "There is no external storage configured and you don't have the permission to configure them." : "Er is geen externe opslag geconfigureerd en je hebt geen toestemming om deze te configureren.",
+ "No external storage" : "Geen externe opslag",
"Storage type" : "Opslagtype",
"Unknown" : "Onbekend",
- "Scope" : "Scope",
+ "Scope" : "Toepassingsgebied",
"Personal" : "Persoonlijk",
"System" : "Systeem",
+ "Type to select account or group." : "Typ om account of groep te selecteren.",
"(Group)" : "(Groep)",
"Compatibility with Mac NFD encoding (slow)" : "Compatibiliteit met Mac NFD encoding (traag)",
"Enable encryption" : "Versleuteling inschakelen",
- "Enable previews" : "Activeren voorbeelden",
- "Enable sharing" : "Activeren delen",
+ "Enable previews" : "Voorbeeldweergave inschakelen",
+ "Enable sharing" : "Delen inschakelen",
"Check for changes" : "Controleren op wijzigingen",
"Never" : "Nooit",
"Once every direct access" : "Een keer bij elke directe toegang",
- "Read only" : "Alleen lezen",
- "Disconnect" : "Verbreek verbinding",
+ "Read only" : "Alleen-lezen",
+ "Disconnect" : "Verbinding verbreken",
+ "Unknown backend: {backendName}" : "Onbekend back-end: {backendName}",
"Admin defined" : "Beheerder gedefinieerd",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Automatische statuscontrole is uitgeschakeld vanwege het grote aantal geconfigureerde opslagplaatsen. Klik om de status te controleren",
"Are you sure you want to disconnect this external storage? It will make the storage unavailable in Nextcloud and will lead to a deletion of these files and folders on any sync client that is currently connected but will not delete any files and folders on the external storage itself." : "Weet je zeker dat je deze externe opslag wilt loskoppelen? Het maakt de opslag niet langer beschikbaar in Nextcloud en leidt tot het verwijderen van de bestanden en mappen op elke synchronisatieclient die momenteel is verbonden. Het verwijdert geen bestanden en mappen op de externe opslag zelf.",
"Delete storage?" : "Opslag verwijderen?",
"Click to recheck the configuration" : "Klik om de configuratie opnieuw te controleren",
"Saved" : "Bewaard",
- "Saving …" : "Opslaan ...",
- "Save" : "Bewaren",
+ "Saving …" : "Opslaan …",
+ "Save" : "Opslaan",
+ "Failed to save global credentials" : "Het opslaan van globale inloggegevens is mislukt",
+ "Failed to save global credentials: {message}" : "Het opslaan van globale inloggegevens is mislukt: {message}",
"No external storage configured or you don't have the permission to configure them" : "Geen externe opslag geconfigureerd of je hebt geen toestemming om deze te configureren",
"Open documentation" : "Documentatie openen",
+ "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow people to mount their own external storage services." : "Met externe opslag kun je externe opslagservices en -apparaten koppelen als secundaire Nextcloud-opslagapparaten. Je kunt mensen ook toestaan hun eigen externe opslagdiensten aan te koppelen.",
"Folder name" : "Mapnaam",
"Authentication" : "Authenticatie",
"Configuration" : "Configuratie",
"Available for" : "Beschikbaar voor",
- "Add storage" : "Toevoegen opslag",
+ "Add storage" : "Opslag toevoegen",
+ "All people" : "Iedereen",
"Advanced settings" : "Geavanceerde instellingen",
+ "Allow people to mount external storage" : "Toestaan dat mensen externe opslag aankoppelen",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Globale inloggegevens kunnen worden gebruikt met meerdere externe opslagsystemen met dezelfde inloggegevens."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_external/lib/Lib/Storage/SMB.php b/apps/files_external/lib/Lib/Storage/SMB.php
index fc1f9b9ecd1..fe5f3adb25e 100644
--- a/apps/files_external/lib/Lib/Storage/SMB.php
+++ b/apps/files_external/lib/Lib/Storage/SMB.php
@@ -198,7 +198,7 @@ class SMB extends Common implements INotifyStorage {
try {
$acls = $file->getAcls();
} catch (Exception $e) {
- $this->logger->error('Error while getting file acls', ['exception' => $e]);
+ $this->logger->warning('Error while getting file acls', ['exception' => $e]);
return null;
}
foreach ($acls as $user => $acl) {
@@ -426,6 +426,7 @@ class SMB extends Common implements INotifyStorage {
case 'r':
case 'rb':
if (!$this->file_exists($path)) {
+ $this->logger->warning('Failed to open ' . $path . ' on ' . $this->getId() . ', file doesn\'t exist.');
return false;
}
return $this->share->read($fullPath);
@@ -453,11 +454,13 @@ class SMB extends Common implements INotifyStorage {
}
if ($this->file_exists($path)) {
if (!$this->isUpdatable($path)) {
+ $this->logger->warning('Failed to open ' . $path . ' on ' . $this->getId() . ', file not updatable.');
return false;
}
$tmpFile = $this->getCachedFile($path);
} else {
if (!$this->isCreatable(dirname($path))) {
+ $this->logger->warning('Failed to open ' . $path . ' on ' . $this->getId() . ', parent directory not writable.');
return false;
}
$tmpFile = \OCP\Server::get(ITempManager::class)->getTemporaryFile($ext);
@@ -472,13 +475,16 @@ class SMB extends Common implements INotifyStorage {
}
return false;
} catch (NotFoundException $e) {
+ $this->logger->warning('Failed to open ' . $path . ' on ' . $this->getId() . ', not found.', ['exception' => $e]);
return false;
} catch (ForbiddenException $e) {
+ $this->logger->warning('Failed to open ' . $path . ' on ' . $this->getId() . ', forbidden.', ['exception' => $e]);
return false;
} catch (OutOfSpaceException $e) {
+ $this->logger->warning('Failed to open ' . $path . ' on ' . $this->getId() . ', out of space.', ['exception' => $e]);
throw new EntityTooLargeException('not enough available space to create file', 0, $e);
} catch (ConnectException $e) {
- $this->logger->error('Error while opening file', ['exception' => $e]);
+ $this->logger->error('Error while opening file ' . $path . ' on ' . $this->getId(), ['exception' => $e]);
throw new StorageNotAvailableException($e->getMessage(), (int)$e->getCode(), $e);
}
}
diff --git a/apps/files_reminders/lib/Db/ReminderMapper.php b/apps/files_reminders/lib/Db/ReminderMapper.php
index 0ba5cfc3ecd..63cba437d07 100644
--- a/apps/files_reminders/lib/Db/ReminderMapper.php
+++ b/apps/files_reminders/lib/Db/ReminderMapper.php
@@ -137,24 +137,14 @@ class ReminderMapper extends QBMapper {
* @return Reminder[]
*/
public function findAllInFolder(IUser $user, Folder $folder) {
- $fileIds = array_values(array_filter(array_map(
- function (Node $node) {
- try {
- return $node->getId();
- } catch (NotFoundException $e) {
- return null;
- }
- },
- $folder->getDirectoryListing(),
- )));
-
$qb = $this->db->getQueryBuilder();
- $qb->select('id', 'user_id', 'file_id', 'due_date', 'updated_at', 'created_at', 'notified')
- ->from($this->getTableName())
- ->where($qb->expr()->eq('user_id', $qb->createNamedParameter($user->getUID(), IQueryBuilder::PARAM_STR)))
- ->andWhere($qb->expr()->in('file_id', $qb->createNamedParameter($fileIds, IQueryBuilder::PARAM_INT_ARRAY)))
- ->orderBy('due_date', 'ASC');
+ $qb->select('r.id', 'r.user_id', 'r.file_id', 'r.due_date', 'r.updated_at', 'r.created_at', 'r.notified')
+ ->from($this->getTableName(), 'r')
+ ->innerJoin('r', 'filecache', 'f', $qb->expr()->eq('r.file_id', 'f.fileid'))
+ ->where($qb->expr()->eq('r.user_id', $qb->createNamedParameter($user->getUID(), IQueryBuilder::PARAM_STR)))
+ ->andWhere($qb->expr()->eq('f.parent', $qb->createNamedParameter($folder->getId(), IQueryBuilder::PARAM_INT)))
+ ->orderBy('r.due_date', 'ASC');
return $this->findEntities($qb);
}
diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js
index f216d185224..8753dc54d64 100644
--- a/apps/files_sharing/l10n/cs.js
+++ b/apps/files_sharing/l10n/cs.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Nastavit výchozí složku pro přijatá sdílení",
"Reset" : "Vrátit na výchozí hodnoty",
"Reset folder to system default" : "Resetovat složku na systémovou výchozí",
+ "Share expiration: {date}" : "Skončení platnosti sdílení: {date}",
"Share Expiration" : "Skončení platnosti sdílení",
"group" : "skupina",
"conversation" : "konverzace",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Sdílení, která nejsou součástí interních nebo externích sdílení. Toto mohou být sdílení z aplikací nebo jiných zdrojů.",
"Share with accounts, teams, federated cloud IDs" : "Nasdílejte účtům, týmům, identifikátorům v rámci federovaného cloudu",
"Share with accounts and teams" : "Nasdílet účtům a týmům",
+ "Federated cloud ID" : "Identifikátor v rámci federovaného cloudu",
"Email, federated cloud ID" : "E-mail, identif. federovaného cloudu",
"Unable to load the shares list" : "Nedaří se načíst seznam sdílení",
"Expires {relativetime}" : "Platnost končí {relativetime}",
diff --git a/apps/files_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json
index de776d1f283..50059aea129 100644
--- a/apps/files_sharing/l10n/cs.json
+++ b/apps/files_sharing/l10n/cs.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Nastavit výchozí složku pro přijatá sdílení",
"Reset" : "Vrátit na výchozí hodnoty",
"Reset folder to system default" : "Resetovat složku na systémovou výchozí",
+ "Share expiration: {date}" : "Skončení platnosti sdílení: {date}",
"Share Expiration" : "Skončení platnosti sdílení",
"group" : "skupina",
"conversation" : "konverzace",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Sdílení, která nejsou součástí interních nebo externích sdílení. Toto mohou být sdílení z aplikací nebo jiných zdrojů.",
"Share with accounts, teams, federated cloud IDs" : "Nasdílejte účtům, týmům, identifikátorům v rámci federovaného cloudu",
"Share with accounts and teams" : "Nasdílet účtům a týmům",
+ "Federated cloud ID" : "Identifikátor v rámci federovaného cloudu",
"Email, federated cloud ID" : "E-mail, identif. federovaného cloudu",
"Unable to load the shares list" : "Nedaří se načíst seznam sdílení",
"Expires {relativetime}" : "Platnost končí {relativetime}",
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index 9ed6edf5359..0373e006838 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Standardordner für angenommene Freigaben",
"Reset" : "Zurücksetzen",
"Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen",
+ "Share expiration: {date}" : "Freigabe-Ablaufdatum: {date}",
"Share Expiration" : "Freigabe-Ablaufdatum",
"group" : "Gruppe",
"conversation" : "Unterhaltung",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Freigaben, die nicht zu internen oder externen Freigaben gehören. Dies können Freigaben von Apps oder anderen Quellen sein.",
"Share with accounts, teams, federated cloud IDs" : "Teilen mit Konten, Teams, Federated-Cloud-IDs",
"Share with accounts and teams" : "Teile mit Konten und Teams",
+ "Federated cloud ID" : "Federated-Cloud-ID",
"Email, federated cloud ID" : "Name, Federated-Cloud-ID",
"Unable to load the shares list" : "Liste der Freigaben konnte nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index 4b64c5b2627..056ae0275de 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Standardordner für angenommene Freigaben",
"Reset" : "Zurücksetzen",
"Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen",
+ "Share expiration: {date}" : "Freigabe-Ablaufdatum: {date}",
"Share Expiration" : "Freigabe-Ablaufdatum",
"group" : "Gruppe",
"conversation" : "Unterhaltung",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Freigaben, die nicht zu internen oder externen Freigaben gehören. Dies können Freigaben von Apps oder anderen Quellen sein.",
"Share with accounts, teams, federated cloud IDs" : "Teilen mit Konten, Teams, Federated-Cloud-IDs",
"Share with accounts and teams" : "Teile mit Konten und Teams",
+ "Federated cloud ID" : "Federated-Cloud-ID",
"Email, federated cloud ID" : "Name, Federated-Cloud-ID",
"Unable to load the shares list" : "Liste der Freigaben konnte nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index 5ac99f9f986..f20c9209224 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Standardordner für angenommene Freigaben",
"Reset" : "Zurücksetzen",
"Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen",
+ "Share expiration: {date}" : "Freigabe-Ablaufdatum: {date}",
"Share Expiration" : "Freigabe-Ablaufdatum",
"group" : "Gruppe",
"conversation" : "Unterhaltung",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Freigaben, die nicht zu internen oder externen Freigaben gehören. Dies können Freigaben von Apps oder anderen Quellen sein.",
"Share with accounts, teams, federated cloud IDs" : "Teilen mit Konten, Teams, Federated-Cloud-IDs",
"Share with accounts and teams" : "Teile mit Konten und Teams",
+ "Federated cloud ID" : "Federated-Cloud-ID",
"Email, federated cloud ID" : "Name, Federated-Cloud-ID",
"Unable to load the shares list" : "Liste der Freigaben kann nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index ec845d1caf8..14112761270 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Standardordner für angenommene Freigaben",
"Reset" : "Zurücksetzen",
"Reset folder to system default" : "Ordner auf Systemstandard zurücksetzen",
+ "Share expiration: {date}" : "Freigabe-Ablaufdatum: {date}",
"Share Expiration" : "Freigabe-Ablaufdatum",
"group" : "Gruppe",
"conversation" : "Unterhaltung",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Freigaben, die nicht zu internen oder externen Freigaben gehören. Dies können Freigaben von Apps oder anderen Quellen sein.",
"Share with accounts, teams, federated cloud IDs" : "Teilen mit Konten, Teams, Federated-Cloud-IDs",
"Share with accounts and teams" : "Teile mit Konten und Teams",
+ "Federated cloud ID" : "Federated-Cloud-ID",
"Email, federated cloud ID" : "Name, Federated-Cloud-ID",
"Unable to load the shares list" : "Liste der Freigaben kann nicht geladen werden",
"Expires {relativetime}" : "Läuft {relativetime} ab",
diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js
index e598696c8f7..153d1e7ab40 100644
--- a/apps/files_sharing/l10n/en_GB.js
+++ b/apps/files_sharing/l10n/en_GB.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Set default folder for accepted shares",
"Reset" : "Reset",
"Reset folder to system default" : "Reset folder to system default",
+ "Share expiration: {date}" : "Share expiration: {date}",
"Share Expiration" : "Share Expiration",
"group" : "group",
"conversation" : "conversation",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Shares that are not part of the internal or external shares. This can be shares from apps or other sources.",
"Share with accounts, teams, federated cloud IDs" : "Share with accounts, teams, federated cloud IDs",
"Share with accounts and teams" : "Share with accounts and teams",
+ "Federated cloud ID" : "Federated cloud ID",
"Email, federated cloud ID" : "Email, federated cloud ID",
"Unable to load the shares list" : "Unable to load the shares list",
"Expires {relativetime}" : "Expires {relativetime}",
diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json
index 9381de9ee74..29cd7c85eb0 100644
--- a/apps/files_sharing/l10n/en_GB.json
+++ b/apps/files_sharing/l10n/en_GB.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Set default folder for accepted shares",
"Reset" : "Reset",
"Reset folder to system default" : "Reset folder to system default",
+ "Share expiration: {date}" : "Share expiration: {date}",
"Share Expiration" : "Share Expiration",
"group" : "group",
"conversation" : "conversation",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Shares that are not part of the internal or external shares. This can be shares from apps or other sources.",
"Share with accounts, teams, federated cloud IDs" : "Share with accounts, teams, federated cloud IDs",
"Share with accounts and teams" : "Share with accounts and teams",
+ "Federated cloud ID" : "Federated cloud ID",
"Email, federated cloud ID" : "Email, federated cloud ID",
"Unable to load the shares list" : "Unable to load the shares list",
"Expires {relativetime}" : "Expires {relativetime}",
diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js
index 78689676661..b2840f2179b 100644
--- a/apps/files_sharing/l10n/et_EE.js
+++ b/apps/files_sharing/l10n/et_EE.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Määra vastuvõetava jaosmeedia jaoks vaikimisi kaust",
"Reset" : "Lähtesta",
"Reset folder to system default" : "Kasuta süsteemi vaikimisi kausta",
+ "Share expiration: {date}" : "Jagamise aegumine: {date}",
"Share Expiration" : "Jagamise aegumine",
"group" : "grupp",
"conversation" : "vestlus",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Jaosmeedia, mis pole sisemise või välise jagamise osa. Näiteks jagamine rakendustest või muudest allikatest.",
"Share with accounts, teams, federated cloud IDs" : "Jaga kasutajatega, tiimidega ja liitpilves osalejatega",
"Share with accounts and teams" : "Jaga kasutajate ja tiimidega",
+ "Federated cloud ID" : "Liitpilve tunnus",
"Email, federated cloud ID" : "E-posti aadress, liitpilve kasutajatunnus",
"Unable to load the shares list" : "Jaosmeedia loendi laadimine ei õnnestu",
"Expires {relativetime}" : "Aegub {relativetime}",
diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json
index d1a83294120..a8ba5ef57bb 100644
--- a/apps/files_sharing/l10n/et_EE.json
+++ b/apps/files_sharing/l10n/et_EE.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Määra vastuvõetava jaosmeedia jaoks vaikimisi kaust",
"Reset" : "Lähtesta",
"Reset folder to system default" : "Kasuta süsteemi vaikimisi kausta",
+ "Share expiration: {date}" : "Jagamise aegumine: {date}",
"Share Expiration" : "Jagamise aegumine",
"group" : "grupp",
"conversation" : "vestlus",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Jaosmeedia, mis pole sisemise või välise jagamise osa. Näiteks jagamine rakendustest või muudest allikatest.",
"Share with accounts, teams, federated cloud IDs" : "Jaga kasutajatega, tiimidega ja liitpilves osalejatega",
"Share with accounts and teams" : "Jaga kasutajate ja tiimidega",
+ "Federated cloud ID" : "Liitpilve tunnus",
"Email, federated cloud ID" : "E-posti aadress, liitpilve kasutajatunnus",
"Unable to load the shares list" : "Jaosmeedia loendi laadimine ei õnnestu",
"Expires {relativetime}" : "Aegub {relativetime}",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index 81da9461517..bc2fa28f6e3 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Définir le dossier par défaut pour les partages acceptés",
"Reset" : "Réinitialiser",
"Reset folder to system default" : "Réinitialiser le dossier par défaut du système",
+ "Share expiration: {date}" : "Expiration du partage: {date}",
"Share Expiration" : "Expiration du partage",
"group" : "groupe",
"conversation" : "conversation",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Partages qui ne font pas partie des partages internes ou externes. Il peut s'agir de partages provenant d'applications ou d'autres sources.",
"Share with accounts, teams, federated cloud IDs" : "Partager avec des comptes, des équipes et des IDs cloud fédérés",
"Share with accounts and teams" : "Partager avec des comptes et des équipes",
+ "Federated cloud ID" : "ID de Cloud Fédéré",
"Email, federated cloud ID" : "E-mail, ID cloud fédéré",
"Unable to load the shares list" : "Impossible de charger la liste des partages",
"Expires {relativetime}" : "Expire {relativetime}",
@@ -378,8 +380,11 @@ OC.L10N.register(
"Share note for recipient saved" : "Partager la note pour le destinataire enregistré",
"Share password saved" : "Mot de passe de partage enregistré",
"Share permissions saved" : "Permissions de partage sauvegardées",
+ "To upload files to {folder}, you need to provide your name first." : "Pour téléverser des fichiers dans {folder}, vous devez d'abord indiquer votre nom.",
"Upload files to {folder}" : "Téléverser les fichiers dans {folder}",
+ "Please confirm your name to upload files to {folder}" : "Veuillez confirmer votre nom avant de pouvoir envoyer des fichiers vers {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} a partagé un dossier avec vous.",
+ "Names must not be empty." : "Le nom ne doit pas être vide.",
"Names must not start with a dot." : "Les noms ne doivent pas commencer par un point.",
"\"{char}\" is not allowed inside a name." : "\"{char}\" n'est pas autorisé dans un nom.",
"\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" est un nom réservé et n'est pas autorisé.",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index 790bf11c931..d58ee3bab69 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Définir le dossier par défaut pour les partages acceptés",
"Reset" : "Réinitialiser",
"Reset folder to system default" : "Réinitialiser le dossier par défaut du système",
+ "Share expiration: {date}" : "Expiration du partage: {date}",
"Share Expiration" : "Expiration du partage",
"group" : "groupe",
"conversation" : "conversation",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Partages qui ne font pas partie des partages internes ou externes. Il peut s'agir de partages provenant d'applications ou d'autres sources.",
"Share with accounts, teams, federated cloud IDs" : "Partager avec des comptes, des équipes et des IDs cloud fédérés",
"Share with accounts and teams" : "Partager avec des comptes et des équipes",
+ "Federated cloud ID" : "ID de Cloud Fédéré",
"Email, federated cloud ID" : "E-mail, ID cloud fédéré",
"Unable to load the shares list" : "Impossible de charger la liste des partages",
"Expires {relativetime}" : "Expire {relativetime}",
@@ -376,8 +378,11 @@
"Share note for recipient saved" : "Partager la note pour le destinataire enregistré",
"Share password saved" : "Mot de passe de partage enregistré",
"Share permissions saved" : "Permissions de partage sauvegardées",
+ "To upload files to {folder}, you need to provide your name first." : "Pour téléverser des fichiers dans {folder}, vous devez d'abord indiquer votre nom.",
"Upload files to {folder}" : "Téléverser les fichiers dans {folder}",
+ "Please confirm your name to upload files to {folder}" : "Veuillez confirmer votre nom avant de pouvoir envoyer des fichiers vers {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} a partagé un dossier avec vous.",
+ "Names must not be empty." : "Le nom ne doit pas être vide.",
"Names must not start with a dot." : "Les noms ne doivent pas commencer par un point.",
"\"{char}\" is not allowed inside a name." : "\"{char}\" n'est pas autorisé dans un nom.",
"\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" est un nom réservé et n'est pas autorisé.",
diff --git a/apps/files_sharing/l10n/ga.js b/apps/files_sharing/l10n/ga.js
index 370c11fb16b..a2b04206dde 100644
--- a/apps/files_sharing/l10n/ga.js
+++ b/apps/files_sharing/l10n/ga.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Socraigh fillteán réamhshocraithe le haghaidh scaireanna glactha",
"Reset" : "Athshocraigh",
"Reset folder to system default" : "Athshocraigh an fillteán go réamhshocrú an chórais",
+ "Share expiration: {date}" : "Éaga scaireanna: {date}",
"Share Expiration" : "Comhroinn Éaga",
"group" : "grúpa",
"conversation" : "comhrá",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Scaireanna nach cuid de na scaireanna inmheánacha nó seachtracha iad. Is féidir gur scaireanna iad seo ó aipeanna nó ó fhoinsí eile.",
"Share with accounts, teams, federated cloud IDs" : "Comhroinn le cuntais, foirne, agus aitheantóirí scamall cónaidhme",
"Share with accounts and teams" : "Roinn le cuntais agus foirne",
+ "Federated cloud ID" : "ID scamall cónaidhme",
"Email, federated cloud ID" : "Ríomhphost, ID scamall cónaidhme",
"Unable to load the shares list" : "Ní féidir an liosta scaireanna a lódáil",
"Expires {relativetime}" : "In éag {relativetime}",
diff --git a/apps/files_sharing/l10n/ga.json b/apps/files_sharing/l10n/ga.json
index f2d50ca88b2..4e1ffc94cae 100644
--- a/apps/files_sharing/l10n/ga.json
+++ b/apps/files_sharing/l10n/ga.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Socraigh fillteán réamhshocraithe le haghaidh scaireanna glactha",
"Reset" : "Athshocraigh",
"Reset folder to system default" : "Athshocraigh an fillteán go réamhshocrú an chórais",
+ "Share expiration: {date}" : "Éaga scaireanna: {date}",
"Share Expiration" : "Comhroinn Éaga",
"group" : "grúpa",
"conversation" : "comhrá",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Scaireanna nach cuid de na scaireanna inmheánacha nó seachtracha iad. Is féidir gur scaireanna iad seo ó aipeanna nó ó fhoinsí eile.",
"Share with accounts, teams, federated cloud IDs" : "Comhroinn le cuntais, foirne, agus aitheantóirí scamall cónaidhme",
"Share with accounts and teams" : "Roinn le cuntais agus foirne",
+ "Federated cloud ID" : "ID scamall cónaidhme",
"Email, federated cloud ID" : "Ríomhphost, ID scamall cónaidhme",
"Unable to load the shares list" : "Ní féidir an liosta scaireanna a lódáil",
"Expires {relativetime}" : "In éag {relativetime}",
diff --git a/apps/files_sharing/l10n/hu.js b/apps/files_sharing/l10n/hu.js
index c08c2ad6a48..5823186be78 100644
--- a/apps/files_sharing/l10n/hu.js
+++ b/apps/files_sharing/l10n/hu.js
@@ -119,6 +119,7 @@ OC.L10N.register(
"Close" : "Bezárás",
"Error creating the share: {errorMessage}" : "Hiba történt a megosztás létrehozása során: {errorMessage}",
"Error creating the share" : "Megosztás létrehozása sikertelen",
+ "File request" : "Fájlkérés",
"Cancel" : "Mégse",
"Continue" : "Folytatás",
"Error while toggling options" : "Hiba a beállítások módosításakor",
@@ -168,7 +169,7 @@ OC.L10N.register(
"View only" : "Csak megtekintés",
"Can edit" : "Szerkesztheti",
"Custom permissions" : "Egyéni jogosultságok",
- "Resharing is not allowed" : "A megosztás továbbadása nem engedélyezett",
+ "Resharing is not allowed" : "A továbbosztás nem engedélyezett",
"Name or email …" : "Név vagy e-mail-cím…",
"Name, email, or Federated Cloud ID …" : "Név, e-mail-cím vagy föderált felhőazonosító…",
"Searching …" : "Keresés…",
@@ -204,6 +205,7 @@ OC.L10N.register(
"Expiration date (enforced)" : "Lejárati idő (megkövetelve)",
"Set expiration date" : "Lejárati idő beállítása",
"Hide download" : "Letöltés elrejtése",
+ "Allow download and sync" : "Letöltés és szinkronizálás engedélyezése",
"Note to recipient" : "Jegyzet a címzettnek",
"Enter a note for the share recipient" : "Adjon meg egy megjegyzést a megosztás címzettje számára",
"Delete share" : "Megosztás törlése",
@@ -216,6 +218,8 @@ OC.L10N.register(
"Expires {relativetime}" : "Lejárat: {relativetime}",
"this share just expired." : "ez a megosztás épp most járt le.",
"Shared with you by {owner}" : "{owner} megosztotta Önnel",
+ "Internal shares" : "Belső megosztások",
+ "External shares" : "Külső megosztások",
"Link to a file" : "Hivatkozás egy fájlhoz",
"_Accept share_::_Accept shares_" : ["Megosztás elfogadása","Megosztások elfogadása"],
"Open in Files" : "Megnyitás a Fájlokban",
diff --git a/apps/files_sharing/l10n/hu.json b/apps/files_sharing/l10n/hu.json
index fb5460db678..37da419fff9 100644
--- a/apps/files_sharing/l10n/hu.json
+++ b/apps/files_sharing/l10n/hu.json
@@ -117,6 +117,7 @@
"Close" : "Bezárás",
"Error creating the share: {errorMessage}" : "Hiba történt a megosztás létrehozása során: {errorMessage}",
"Error creating the share" : "Megosztás létrehozása sikertelen",
+ "File request" : "Fájlkérés",
"Cancel" : "Mégse",
"Continue" : "Folytatás",
"Error while toggling options" : "Hiba a beállítások módosításakor",
@@ -166,7 +167,7 @@
"View only" : "Csak megtekintés",
"Can edit" : "Szerkesztheti",
"Custom permissions" : "Egyéni jogosultságok",
- "Resharing is not allowed" : "A megosztás továbbadása nem engedélyezett",
+ "Resharing is not allowed" : "A továbbosztás nem engedélyezett",
"Name or email …" : "Név vagy e-mail-cím…",
"Name, email, or Federated Cloud ID …" : "Név, e-mail-cím vagy föderált felhőazonosító…",
"Searching …" : "Keresés…",
@@ -202,6 +203,7 @@
"Expiration date (enforced)" : "Lejárati idő (megkövetelve)",
"Set expiration date" : "Lejárati idő beállítása",
"Hide download" : "Letöltés elrejtése",
+ "Allow download and sync" : "Letöltés és szinkronizálás engedélyezése",
"Note to recipient" : "Jegyzet a címzettnek",
"Enter a note for the share recipient" : "Adjon meg egy megjegyzést a megosztás címzettje számára",
"Delete share" : "Megosztás törlése",
@@ -214,6 +216,8 @@
"Expires {relativetime}" : "Lejárat: {relativetime}",
"this share just expired." : "ez a megosztás épp most járt le.",
"Shared with you by {owner}" : "{owner} megosztotta Önnel",
+ "Internal shares" : "Belső megosztások",
+ "External shares" : "Külső megosztások",
"Link to a file" : "Hivatkozás egy fájlhoz",
"_Accept share_::_Accept shares_" : ["Megosztás elfogadása","Megosztások elfogadása"],
"Open in Files" : "Megnyitás a Fájlokban",
diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js
index be78bc7fce6..ade501b3d13 100644
--- a/apps/files_sharing/l10n/it.js
+++ b/apps/files_sharing/l10n/it.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Imposta cartella predefinita per condivisioni accettate",
"Reset" : "Ripristina",
"Reset folder to system default" : "Ripristina la cartella alla predefinita di sistema",
+ "Share expiration: {date}" : "Scadenza condivisione: {date}",
"Share Expiration" : "Scadenza Condivisione",
"group" : "gruppo",
"conversation" : "conversazione",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Condivisioni che non fanno parte delle condivisioni interne o esterne. Possono essere condivisioni da app o altre fonti.",
"Share with accounts, teams, federated cloud IDs" : "Condividi con account, team, ID cloud federati",
"Share with accounts and teams" : "Condividi con account e team",
+ "Federated cloud ID" : "ID cloud federato",
"Email, federated cloud ID" : "E-mail, ID cloud federato",
"Unable to load the shares list" : "Impossibile caricare l'elenco delle condivisioni",
"Expires {relativetime}" : "Scade il {relativetime}",
diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json
index 3ac41b2d53d..f87b0a5cd74 100644
--- a/apps/files_sharing/l10n/it.json
+++ b/apps/files_sharing/l10n/it.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Imposta cartella predefinita per condivisioni accettate",
"Reset" : "Ripristina",
"Reset folder to system default" : "Ripristina la cartella alla predefinita di sistema",
+ "Share expiration: {date}" : "Scadenza condivisione: {date}",
"Share Expiration" : "Scadenza Condivisione",
"group" : "gruppo",
"conversation" : "conversazione",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Condivisioni che non fanno parte delle condivisioni interne o esterne. Possono essere condivisioni da app o altre fonti.",
"Share with accounts, teams, federated cloud IDs" : "Condividi con account, team, ID cloud federati",
"Share with accounts and teams" : "Condividi con account e team",
+ "Federated cloud ID" : "ID cloud federato",
"Email, federated cloud ID" : "E-mail, ID cloud federato",
"Unable to load the shares list" : "Impossibile caricare l'elenco delle condivisioni",
"Expires {relativetime}" : "Scade il {relativetime}",
diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js
index b7ed30670d3..e01fba6e55b 100644
--- a/apps/files_sharing/l10n/ja.js
+++ b/apps/files_sharing/l10n/ja.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "共有を受け入れるためのデフォルトフォルダーを指定",
"Reset" : "リセット",
"Reset folder to system default" : "フォルダをシステムのデフォルトに戻す",
+ "Share expiration: {date}" : "共有期限: {date}",
"Share Expiration" : "共有期限",
"group" : "グループ",
"conversation" : "会話",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "内部または外部共有に含まれない共有。これはアプリや他のソースからの共有になります。",
"Share with accounts, teams, federated cloud IDs" : "アカウント、チーム、連携クラウドIDとの共有",
"Share with accounts and teams" : "アカウントとチームで共有",
+ "Federated cloud ID" : "クラウド共有ID",
"Email, federated cloud ID" : "電子メール、連携クラウドID",
"Unable to load the shares list" : "共有リストを読み込めません",
"Expires {relativetime}" : "有効期限 {relativetime}",
diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json
index 3d2037833ae..db30aba92e9 100644
--- a/apps/files_sharing/l10n/ja.json
+++ b/apps/files_sharing/l10n/ja.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "共有を受け入れるためのデフォルトフォルダーを指定",
"Reset" : "リセット",
"Reset folder to system default" : "フォルダをシステムのデフォルトに戻す",
+ "Share expiration: {date}" : "共有期限: {date}",
"Share Expiration" : "共有期限",
"group" : "グループ",
"conversation" : "会話",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "内部または外部共有に含まれない共有。これはアプリや他のソースからの共有になります。",
"Share with accounts, teams, federated cloud IDs" : "アカウント、チーム、連携クラウドIDとの共有",
"Share with accounts and teams" : "アカウントとチームで共有",
+ "Federated cloud ID" : "クラウド共有ID",
"Email, federated cloud ID" : "電子メール、連携クラウドID",
"Unable to load the shares list" : "共有リストを読み込めません",
"Expires {relativetime}" : "有効期限 {relativetime}",
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index 56ac16d9da1..e60aabc1300 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -55,6 +55,7 @@ OC.L10N.register(
"Share for file {file} with {user} expired" : "Share voor bestande {file} met {user} verlopen",
"Share for file {file} expired" : "Share voor bestand {file} verlopen",
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Een bestand of map gedeeld via mail of publieke link werd <strong>gedownload</strong>",
+ "Files have been <strong>uploaded</strong> to a folder shared by mail or by public link" : "Bestanden zijn <strong>geüpload</strong> naar een map die per mail of via een openbare link wordt gedeeld",
"A file or folder was shared from <strong>another server</strong>" : "Een bestand of map werd gedeeld vanaf <strong>een andere server</strong>",
"Sharing" : "Delen",
"A file or folder has been <strong>shared</strong>" : "Een bestand of map is <strong>gedeeld</strong>",
@@ -64,22 +65,42 @@ OC.L10N.register(
"Please specify a file or folder path" : "Geef een bestand of pad van een map op",
"Wrong path, file/folder does not exist" : "slecht path, file/folder bestaat niet",
"Could not create share" : "Kan gedeelde folder niet aanmaken",
+ "Please specify a valid account to share with" : "Geef een geldig account op waarmee je wilt delen",
"Group sharing is disabled by the administrator" : "Delen voor groepen is uitgeschakeld door de beheerder",
"Please specify a valid group" : "Geef een geldige groep op",
"Public link sharing is disabled by the administrator" : "Delen van openbare links is uitgeschakeld door de beheerder",
+ "Please specify a valid email address" : "Geef een geldig e-mailadres op",
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delen %s versturen van het wachtwoord via Nextcloud Talk is mislukt omdat Nextcloud Talk niet is ingeschakeld",
"Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Delen van %1$s mislukte omdat de backend het delen van type %2$s niet ondersteunt",
+ "Please specify a valid federated account ID" : "Geef een geldig federatief account-ID op",
"Please specify a valid federated group ID" : "Geef een geldig gefedereerd groepID op",
+ "You cannot share to a Team if the app is not enabled" : "Je kunt niet delen met een Team als de app niet is ingeschakeld",
+ "Please specify a valid team" : "Geef een geldig team op",
"Sharing %s failed because the back end does not support room shares" : "Delen van %s mislukte omdat de backend het delen in ruimtes niet ondersteunt",
+ "Sharing %s failed because the back end does not support ScienceMesh shares" : "Delen %s is mislukt omdat het back-end geen ScienceMesh-shares ondersteunt",
"Unknown share type" : "Onbekend type gedeelde folder",
"Not a directory" : "Geen directory",
"Could not lock node" : "Kon de node niet blokkeren",
"Public upload is only possible for publicly shared folders" : "Publieke upload is alleen mogelijk voor publiek gedeelde mappen",
+ "Share must at least have READ or CREATE permissions" : "Share moet ten minste READ - of CREATE-rechten hebben",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Share moet READ-toestemming hebben als de UPDATE- of DELETE-toestemming is ingesteld",
"Public upload disabled by the administrator" : "Publieke upload uitgeschakeld door de systeembeheerder",
"Could not lock path" : "Kan pad niet blokkeren",
+ "no sharing rights on this item" : "geen deelrechten op dit item",
+ "You are not allowed to edit incoming shares" : "Je mag geen inkomende shares bewerken",
"Wrong or no update parameter given" : "Verkeerde of geen update parameter opgegeven",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Het wachtwoord verzenden via Nextcloud Talk\" voor het delen van een bestand of map is mislukt omdat Nextcloud Talk niet is ingeschakeld.",
+ "Custom share link tokens have been disabled by the administrator" : "Aangepaste share link tokens zijn uitgeschakeld door de beheerder",
+ "Tokens must contain at least 1 character and may only contain letters, numbers, or a hyphen" : "Tokens moeten minimaal 1 teken bevatten en mogen alleen letters, cijfers of een koppelteken bevatten",
+ "Invalid date. Format must be YYYY-MM-DD" : "Ongeldige datum. Formaat moet zijn YYYY-MM-DD",
+ "No sharing rights on this item" : "Geen deelrechten op dit item",
+ "Invalid share attributes provided: \"%s\"" : "Ongeldige deelattributen verstrekt: \"%s\"",
+ "You are not allowed to send mail notifications" : "Je mag geen mailmeldingen versturen",
+ "No mail notification configured for this share type" : "Geen mailmelding geconfigureerd voor dit type share",
"Wrong password" : "Onjuist wachtwoord",
+ "Error while sending mail notification" : "Fout tijdens het verzenden van e-mailmelding",
+ "Failed to generate a unique token" : "Het genereren van een uniek token is mislukt",
+ "This share does not exist or is no longer available" : "Deze share bestaat niet of is niet meer beschikbaar",
"shared by %s" : "Gedeeld door %s",
"Download" : "Downloaden",
"Add to your %s" : "Toevoegen aan je %s",
@@ -92,9 +113,12 @@ OC.L10N.register(
"You received {share} to group {group} as a share by {user}" : "Je ontving {share} aan groep {group} als een share van {user}",
"Accept" : "Accepteren",
"Decline" : "Afwijzen",
+ "Remember to upload the files to %s" : "Vergeet niet om de bestanden te uploaden naar %s",
"We would like to kindly remind you that you have not yet uploaded any files to the shared folder." : "We willen je er vriendelijk op wijzen dat je nog geen bestanden hebt geüpload naar de gedeelde map.",
"Open \"%s\"" : "Open \"%s\"",
+ "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Met deze applicatie kunnen mensen bestanden delen binnen Nextcloud. Indien ingeschakeld kan de beheerder kiezen welke groepen bestanden kunnen delen. Deze mensen kunnen vervolgens bestanden en mappen delen met andere accounts en groepen binnen Nextcloud. Als de beheerder de share-linkfunctie inschakelt, kan bovendien een externe link worden gebruikt om bestanden te delen met andere mensen buiten Nextcloud. Beheerders kunnen ook wachtwoorden en vervaldata afdwingen en het delen tussen servers mogelijk maken via share-links, evenals delen vanaf mobiele apparaten.\nAls je de functie uitschakelt, worden gedeelde bestanden en mappen op de server verwijderd voor alle ontvangers van shares, en ook voor de synchronisatieclients en mobiele apps. Meer informatie is beschikbaar in de Nextcloud Documentatie.",
"People" : "Mensen",
+ "Filter accounts" : "Accounts filteren",
"The request will expire on {date} at midnight and will be password protected." : "De aanvraag verloopt op {date} om middernacht en zal beveiligd zijn met een wachtwoord.",
"The request will expire on {date} at midnight." : "De aanvraag verloopt op {date} om middernacht.",
"The request will be password protected." : "De aanvraag is wachtwoordbeveiligd",
@@ -126,9 +150,11 @@ OC.L10N.register(
"Select" : "Selecteer",
"What are you requesting?" : "Wat is je aanvraag?",
"Request subject" : "Onderwerp aanvraag",
+ "Birthday party photos, History assignment…" : "Verjaardagsfoto's, Geschiedenis…",
"Where should these files go?" : "Waar moeten deze bestanden naartoe?",
"Upload destination" : "Uploadbestemming",
"Revert to default" : "Val terug op standaard",
+ "The uploaded files are visible only to you unless you choose to share them." : "De geüploade bestanden zijn alleen voor jou zichtbaar, tenzij je ervoor kiest ze te delen.",
"Add a note" : "Voeg een notitie toe",
"Note for recipient" : "Notitie voor ontvanger",
"Add a note to help people understand what you are requesting." : "Voeg een notitie toe zodat anderen begrijpen wat je aanvraag behelst",
@@ -141,6 +167,7 @@ OC.L10N.register(
"Error creating the share: {errorMessage}" : "Fout bij aanmaken share: {errorMessage}",
"Error creating the share" : "Fout tijdens aanmaken share",
"Error sending emails: {errorMessage}" : "Fout bij versturen e-mails: {errorMessage}",
+ "Error sending emails" : "Fout bij het verzenden van e-mails",
"Create a file request" : "Maak een bestandsaanvraag",
"Collect files from others even if they do not have an account." : "Verzamel bestanden van anderen, ook al hebben ze geen account.",
"To ensure you can receive files, verify you have enough storage available." : "Om zeker te zijn dat je bestanden kan ontvangen, controleer of je genoeg opslagruimte beschikbaar hebt.",
@@ -158,6 +185,8 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Stel standaard map in voor geaccepteerde shares",
"Reset" : "Herstellen",
"Reset folder to system default" : "Reset map naar systeem standaard",
+ "Share expiration: {date}" : "Vervaldatum van de share: {date}",
+ "Share Expiration" : "Vervaldatum van de share",
"group" : "groep",
"conversation" : "gesprek",
"remote" : "extern",
@@ -182,6 +211,7 @@ OC.L10N.register(
"File request ({label})" : "Bestandsaanvraag ({label})",
"Mail share ({label})" : "Mail share ({label})",
"Share link ({label})" : "Link delen ({label})",
+ "Mail share" : "Share mailen",
"Share link ({index})" : "Deellink ({index})",
"Create public link" : "Creëer openbare link",
"Actions for \"{title}\"" : "Acties voor \"{title}\"",
@@ -220,11 +250,14 @@ OC.L10N.register(
"Deck board" : "Deck board",
"ScienceMesh" : "ScienceMesh",
"on {server}" : "op {server}",
+ "Enter external recipients" : "Externe ontvangers invoeren",
+ "Search for internal recipients" : "Interne ontvangers zoeken",
"Note from" : "Notirtie van",
"Note:" : "Notitie:",
"File drop" : "Bestandsopslag",
"Upload files to {foldername}." : "Upload bestanden naar {foldername}",
"By uploading files, you agree to the terms of service." : "Door het uploaden van bestanden stem je in met de gebruiksvoorwaarden.",
+ "Successfully uploaded files" : "Succesvol geüploade bestanden",
"View terms of service" : "Toon gebruiksvoorwaarden",
"Terms of service" : "Gebruiksvoorwaarden",
"Share with {userName}" : "Deel met {userName}",
@@ -241,12 +274,18 @@ OC.L10N.register(
"Edit" : "Bewerk",
"Share" : "Delen",
"Delete" : "Verwijderen",
+ "Password field cannot be empty" : "Wachtwoordveld kan niet leeg zijn",
"Replace current password" : "Vervang huidig wachtwoord",
+ "Failed to generate a new token" : "Het genereren van een nieuw token is mislukt",
"Allow upload and editing" : "Uploaden en bewerken toestaan",
"Allow editing" : "Bewerken toestaan",
"Upload only" : "Alleen upload",
"Advanced settings" : "Geavanceerde instellingen",
"Share label" : "Deel het label",
+ "Share link token" : "Share link token",
+ "Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information." : "Stel het publieke deellink-token in op iets dat gemakkelijk te onthouden is of genereer een nieuw token. Het is niet aanbevolen om een raadbaar token te gebruiken voor shares die gevoelige informatie bevatten.",
+ "Generating…" : "Genereren…",
+ "Generate new token" : "Nieuw token genereren",
"Set password" : "Instellen wachtwoord",
"Password expires {passwordExpirationTime}" : "Wachtwoord vervalt {passwordExpirationTime}",
"Password expired" : "Wachtwoord is vervallen",
@@ -257,6 +296,7 @@ OC.L10N.register(
"Allow download and sync" : "Download en synchroniseren toestaan",
"Note to recipient" : "Notitie voor ontvanger",
"Enter a note for the share recipient" : "Geef een notitie op voor de share-ontvanger",
+ "Show files in grid view" : "Bestanden tonen in rasterweergave",
"Delete share" : "Verwijder share",
"Others with access" : "Anderen met toegang",
"No other accounts with access found" : "Geen andere accounts met toegang gevonden",
@@ -265,12 +305,23 @@ OC.L10N.register(
"Unable to fetch inherited shares" : "Kon overerfde shares niet ophalen",
"Link shares" : "Deel shares",
"Shares" : "Shares",
+ "Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access." : "Gebruik deze methode om bestanden te delen met personen of teams binnen je organisatie. Als de ontvanger al toegang heeft tot de share, maar deze niet kan lokaliseren, kun je deze de interne share-link sturen voor gemakkelijke toegang.",
+ "Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID." : "Gebruik deze methode om bestanden te delen met personen of organisaties buiten je organisatie. Bestanden en mappen kunnen worden gedeeld via openbare deellinks en e-mailadressen. Je kunt ook delen met andere Nextcloud-accounts die in verschillende instanties worden gehost met behulp van hun federatieve cloud-ID.",
+ "Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Shares die geen deel uitmaken van de interne of externe shares. Dit kunnen shares zijn van apps of andere bronnen.",
+ "Share with accounts, teams, federated cloud IDs" : "Delen met accounts, teams, federatieve cloud-ID's",
+ "Share with accounts and teams" : "Delen met accounts en teams",
+ "Federated cloud ID" : "Federatieve cloud-ID",
+ "Email, federated cloud ID" : "E-mail, federatieve cloud-ID",
"Unable to load the shares list" : "Kon de shares-lijst niet laden",
"Expires {relativetime}" : "Vervalt {relativetime}",
"this share just expired." : "deze share is net verlopen.",
"Shared with you by {owner}" : "Met je gedeeld door {owner}",
"Internal shares" : "Interne schijven",
+ "Internal shares explanation" : "Uitleg over interne shares",
"External shares" : "Externe schijven",
+ "External shares explanation" : "Uitleg over externe shares",
+ "Additional shares" : "Aanvullende shares",
+ "Additional shares explanation" : "Uitleg over aanvullende shares",
"Link to a file" : "Link naar een bestand",
"_Accept share_::_Accept shares_" : ["Accepteer share","Accepteer shares"],
"Open in Files" : "Open in Bestanden",
@@ -306,10 +357,17 @@ OC.L10N.register(
"No shared links" : "Geen gedeelde links",
"Files and folders you shared by link will show up here" : "Bestanden en mappen die je via links deelt, worden hier getoond",
"File requests" : "Bestandsaanvragen",
+ "List of file requests." : "Lijst met bestandsverzoeken.",
+ "No file requests" : "Geen bestandsverzoeken",
+ "File requests you have created will show up here" : "Bestandsverzoeken die je hebt aangemaakt, worden hier weergegeven",
"Deleted shares" : "Verwijderde shares",
+ "List of shares you left." : "Lijst met shares die je hebt behouden.",
"No deleted shares" : "Geen verwijderde shares",
+ "Shares you have left will show up here" : "Shares die je hebt behoudem, verschijnen hier",
"Pending shares" : "Deellinks in behandeling",
+ "List of unapproved shares." : "Lijst van niet-goedgekeurde shares.",
"No pending shares" : "Geen deellinks in behandeling",
+ "Shares you have received but not approved will show up here" : "Shares die je hebt ontvangen maar niet hebt goedgekeurd, verschijnen hier",
"Error updating the share: {errorMessage}" : "Fout bij aanpassen van de share: {errorMessage}",
"Error updating the share" : "Fout tijdens bijwerken share",
"File \"{path}\" has been unshared" : "Bestand \"{path}\" is niet meer gedeeld",
@@ -322,8 +380,17 @@ OC.L10N.register(
"Share note for recipient saved" : "Share notitie voor ontvanger opgeslagen",
"Share password saved" : "Share wachtwoord opgeslagen",
"Share permissions saved" : "Share machtigingen opgeslagen",
+ "To upload files to {folder}, you need to provide your name first." : "Om bestanden te uploaden naar {folder}, moet je eerst je naam opgeven.",
"Upload files to {folder}" : "Upload bestanden naar {folder}",
+ "Please confirm your name to upload files to {folder}" : "Bevestig je naam om bestanden naar {folder} te uploaden",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} deelde een map met je.",
+ "Names must not be empty." : "Namen mogen niet leeg zijn.",
+ "Names must not start with a dot." : "Namen mogen niet met een punt beginnen.",
+ "\"{char}\" is not allowed inside a name." : "\"{char}\" is niet toegestaan in een naam.",
+ "\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" is een gereserveerde naam en niet toegestaan.",
+ "\"{extension}\" is not an allowed name." : "\"{extension}\" is geen toegestane naam.",
+ "Names must not end with \"{extension}\"." : "Namen mogen niet eindigen met \"{extension}\".",
+ "Invalid name." : "Ongeldige naam.",
"Shared by" : "Gedeeld door",
"Shared with" : "Gedeeld met",
"Password created successfully" : "Wachtwoord succesvol gemaakt",
@@ -354,6 +421,7 @@ OC.L10N.register(
"No compatible server found at {remote}" : "Geen geschikte server gevonden op {remote}",
"Invalid server URL" : "Ongeldig server URL",
"Failed to add the public link to your Nextcloud" : "Kon de openbare link niet aan je Nextcloud toevoegen",
+ "You are not allowed to edit link shares that you don't own" : "Je mag geen linkshares bewerken die je niet bezit",
"Download all files" : "Download alle bestanden",
"_1 email address already added_::_{count} email addresses already added_" : ["1 E-mailadres al toegevoegd","Al {count} e-mailadressen toegevoegd"],
"_1 email address added_::_{count} email addresses added_" : ["1 E-mailadres toegevoegd","{count} E-mailadressen toegevoegd"],
@@ -363,6 +431,8 @@ OC.L10N.register(
"Enter your name" : "Geef je naam op",
"Submit name" : "Naam doorgeven",
"Name" : "Naam",
+ "Share with accounts, teams, federated cloud id" : "Delen met accounts, teams, federatieve cloud-ID",
+ "Email, federated cloud id" : "E-mail, federatieve cloud-ID",
"Filename must not be empty." : "Bestandsnaam mag niet leeg zijn"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index f5920c9b8eb..89bf28ad687 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -53,6 +53,7 @@
"Share for file {file} with {user} expired" : "Share voor bestande {file} met {user} verlopen",
"Share for file {file} expired" : "Share voor bestand {file} verlopen",
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "Een bestand of map gedeeld via mail of publieke link werd <strong>gedownload</strong>",
+ "Files have been <strong>uploaded</strong> to a folder shared by mail or by public link" : "Bestanden zijn <strong>geüpload</strong> naar een map die per mail of via een openbare link wordt gedeeld",
"A file or folder was shared from <strong>another server</strong>" : "Een bestand of map werd gedeeld vanaf <strong>een andere server</strong>",
"Sharing" : "Delen",
"A file or folder has been <strong>shared</strong>" : "Een bestand of map is <strong>gedeeld</strong>",
@@ -62,22 +63,42 @@
"Please specify a file or folder path" : "Geef een bestand of pad van een map op",
"Wrong path, file/folder does not exist" : "slecht path, file/folder bestaat niet",
"Could not create share" : "Kan gedeelde folder niet aanmaken",
+ "Please specify a valid account to share with" : "Geef een geldig account op waarmee je wilt delen",
"Group sharing is disabled by the administrator" : "Delen voor groepen is uitgeschakeld door de beheerder",
"Please specify a valid group" : "Geef een geldige groep op",
"Public link sharing is disabled by the administrator" : "Delen van openbare links is uitgeschakeld door de beheerder",
+ "Please specify a valid email address" : "Geef een geldig e-mailadres op",
"Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Delen %s versturen van het wachtwoord via Nextcloud Talk is mislukt omdat Nextcloud Talk niet is ingeschakeld",
"Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Delen van %1$s mislukte omdat de backend het delen van type %2$s niet ondersteunt",
+ "Please specify a valid federated account ID" : "Geef een geldig federatief account-ID op",
"Please specify a valid federated group ID" : "Geef een geldig gefedereerd groepID op",
+ "You cannot share to a Team if the app is not enabled" : "Je kunt niet delen met een Team als de app niet is ingeschakeld",
+ "Please specify a valid team" : "Geef een geldig team op",
"Sharing %s failed because the back end does not support room shares" : "Delen van %s mislukte omdat de backend het delen in ruimtes niet ondersteunt",
+ "Sharing %s failed because the back end does not support ScienceMesh shares" : "Delen %s is mislukt omdat het back-end geen ScienceMesh-shares ondersteunt",
"Unknown share type" : "Onbekend type gedeelde folder",
"Not a directory" : "Geen directory",
"Could not lock node" : "Kon de node niet blokkeren",
"Public upload is only possible for publicly shared folders" : "Publieke upload is alleen mogelijk voor publiek gedeelde mappen",
+ "Share must at least have READ or CREATE permissions" : "Share moet ten minste READ - of CREATE-rechten hebben",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Share moet READ-toestemming hebben als de UPDATE- of DELETE-toestemming is ingesteld",
"Public upload disabled by the administrator" : "Publieke upload uitgeschakeld door de systeembeheerder",
"Could not lock path" : "Kan pad niet blokkeren",
+ "no sharing rights on this item" : "geen deelrechten op dit item",
+ "You are not allowed to edit incoming shares" : "Je mag geen inkomende shares bewerken",
"Wrong or no update parameter given" : "Verkeerde of geen update parameter opgegeven",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Het wachtwoord verzenden via Nextcloud Talk\" voor het delen van een bestand of map is mislukt omdat Nextcloud Talk niet is ingeschakeld.",
+ "Custom share link tokens have been disabled by the administrator" : "Aangepaste share link tokens zijn uitgeschakeld door de beheerder",
+ "Tokens must contain at least 1 character and may only contain letters, numbers, or a hyphen" : "Tokens moeten minimaal 1 teken bevatten en mogen alleen letters, cijfers of een koppelteken bevatten",
+ "Invalid date. Format must be YYYY-MM-DD" : "Ongeldige datum. Formaat moet zijn YYYY-MM-DD",
+ "No sharing rights on this item" : "Geen deelrechten op dit item",
+ "Invalid share attributes provided: \"%s\"" : "Ongeldige deelattributen verstrekt: \"%s\"",
+ "You are not allowed to send mail notifications" : "Je mag geen mailmeldingen versturen",
+ "No mail notification configured for this share type" : "Geen mailmelding geconfigureerd voor dit type share",
"Wrong password" : "Onjuist wachtwoord",
+ "Error while sending mail notification" : "Fout tijdens het verzenden van e-mailmelding",
+ "Failed to generate a unique token" : "Het genereren van een uniek token is mislukt",
+ "This share does not exist or is no longer available" : "Deze share bestaat niet of is niet meer beschikbaar",
"shared by %s" : "Gedeeld door %s",
"Download" : "Downloaden",
"Add to your %s" : "Toevoegen aan je %s",
@@ -90,9 +111,12 @@
"You received {share} to group {group} as a share by {user}" : "Je ontving {share} aan groep {group} als een share van {user}",
"Accept" : "Accepteren",
"Decline" : "Afwijzen",
+ "Remember to upload the files to %s" : "Vergeet niet om de bestanden te uploaden naar %s",
"We would like to kindly remind you that you have not yet uploaded any files to the shared folder." : "We willen je er vriendelijk op wijzen dat je nog geen bestanden hebt geüpload naar de gedeelde map.",
"Open \"%s\"" : "Open \"%s\"",
+ "This application enables people to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable people can then share files and folders with other accounts and groups within Nextcloud. In addition, if the admin enables the share link feature, an external link can be used to share files with other people outside of Nextcloud. Admins can also enforce passwords, expirations dates, and enable server to server sharing via share links, as well as sharing from mobile devices.\nTurning the feature off removes shared files and folders on the server for all share recipients, and also on the sync clients and mobile apps. More information is available in the Nextcloud Documentation." : "Met deze applicatie kunnen mensen bestanden delen binnen Nextcloud. Indien ingeschakeld kan de beheerder kiezen welke groepen bestanden kunnen delen. Deze mensen kunnen vervolgens bestanden en mappen delen met andere accounts en groepen binnen Nextcloud. Als de beheerder de share-linkfunctie inschakelt, kan bovendien een externe link worden gebruikt om bestanden te delen met andere mensen buiten Nextcloud. Beheerders kunnen ook wachtwoorden en vervaldata afdwingen en het delen tussen servers mogelijk maken via share-links, evenals delen vanaf mobiele apparaten.\nAls je de functie uitschakelt, worden gedeelde bestanden en mappen op de server verwijderd voor alle ontvangers van shares, en ook voor de synchronisatieclients en mobiele apps. Meer informatie is beschikbaar in de Nextcloud Documentatie.",
"People" : "Mensen",
+ "Filter accounts" : "Accounts filteren",
"The request will expire on {date} at midnight and will be password protected." : "De aanvraag verloopt op {date} om middernacht en zal beveiligd zijn met een wachtwoord.",
"The request will expire on {date} at midnight." : "De aanvraag verloopt op {date} om middernacht.",
"The request will be password protected." : "De aanvraag is wachtwoordbeveiligd",
@@ -124,9 +148,11 @@
"Select" : "Selecteer",
"What are you requesting?" : "Wat is je aanvraag?",
"Request subject" : "Onderwerp aanvraag",
+ "Birthday party photos, History assignment…" : "Verjaardagsfoto's, Geschiedenis…",
"Where should these files go?" : "Waar moeten deze bestanden naartoe?",
"Upload destination" : "Uploadbestemming",
"Revert to default" : "Val terug op standaard",
+ "The uploaded files are visible only to you unless you choose to share them." : "De geüploade bestanden zijn alleen voor jou zichtbaar, tenzij je ervoor kiest ze te delen.",
"Add a note" : "Voeg een notitie toe",
"Note for recipient" : "Notitie voor ontvanger",
"Add a note to help people understand what you are requesting." : "Voeg een notitie toe zodat anderen begrijpen wat je aanvraag behelst",
@@ -139,6 +165,7 @@
"Error creating the share: {errorMessage}" : "Fout bij aanmaken share: {errorMessage}",
"Error creating the share" : "Fout tijdens aanmaken share",
"Error sending emails: {errorMessage}" : "Fout bij versturen e-mails: {errorMessage}",
+ "Error sending emails" : "Fout bij het verzenden van e-mails",
"Create a file request" : "Maak een bestandsaanvraag",
"Collect files from others even if they do not have an account." : "Verzamel bestanden van anderen, ook al hebben ze geen account.",
"To ensure you can receive files, verify you have enough storage available." : "Om zeker te zijn dat je bestanden kan ontvangen, controleer of je genoeg opslagruimte beschikbaar hebt.",
@@ -156,6 +183,8 @@
"Set default folder for accepted shares" : "Stel standaard map in voor geaccepteerde shares",
"Reset" : "Herstellen",
"Reset folder to system default" : "Reset map naar systeem standaard",
+ "Share expiration: {date}" : "Vervaldatum van de share: {date}",
+ "Share Expiration" : "Vervaldatum van de share",
"group" : "groep",
"conversation" : "gesprek",
"remote" : "extern",
@@ -180,6 +209,7 @@
"File request ({label})" : "Bestandsaanvraag ({label})",
"Mail share ({label})" : "Mail share ({label})",
"Share link ({label})" : "Link delen ({label})",
+ "Mail share" : "Share mailen",
"Share link ({index})" : "Deellink ({index})",
"Create public link" : "Creëer openbare link",
"Actions for \"{title}\"" : "Acties voor \"{title}\"",
@@ -218,11 +248,14 @@
"Deck board" : "Deck board",
"ScienceMesh" : "ScienceMesh",
"on {server}" : "op {server}",
+ "Enter external recipients" : "Externe ontvangers invoeren",
+ "Search for internal recipients" : "Interne ontvangers zoeken",
"Note from" : "Notirtie van",
"Note:" : "Notitie:",
"File drop" : "Bestandsopslag",
"Upload files to {foldername}." : "Upload bestanden naar {foldername}",
"By uploading files, you agree to the terms of service." : "Door het uploaden van bestanden stem je in met de gebruiksvoorwaarden.",
+ "Successfully uploaded files" : "Succesvol geüploade bestanden",
"View terms of service" : "Toon gebruiksvoorwaarden",
"Terms of service" : "Gebruiksvoorwaarden",
"Share with {userName}" : "Deel met {userName}",
@@ -239,12 +272,18 @@
"Edit" : "Bewerk",
"Share" : "Delen",
"Delete" : "Verwijderen",
+ "Password field cannot be empty" : "Wachtwoordveld kan niet leeg zijn",
"Replace current password" : "Vervang huidig wachtwoord",
+ "Failed to generate a new token" : "Het genereren van een nieuw token is mislukt",
"Allow upload and editing" : "Uploaden en bewerken toestaan",
"Allow editing" : "Bewerken toestaan",
"Upload only" : "Alleen upload",
"Advanced settings" : "Geavanceerde instellingen",
"Share label" : "Deel het label",
+ "Share link token" : "Share link token",
+ "Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information." : "Stel het publieke deellink-token in op iets dat gemakkelijk te onthouden is of genereer een nieuw token. Het is niet aanbevolen om een raadbaar token te gebruiken voor shares die gevoelige informatie bevatten.",
+ "Generating…" : "Genereren…",
+ "Generate new token" : "Nieuw token genereren",
"Set password" : "Instellen wachtwoord",
"Password expires {passwordExpirationTime}" : "Wachtwoord vervalt {passwordExpirationTime}",
"Password expired" : "Wachtwoord is vervallen",
@@ -255,6 +294,7 @@
"Allow download and sync" : "Download en synchroniseren toestaan",
"Note to recipient" : "Notitie voor ontvanger",
"Enter a note for the share recipient" : "Geef een notitie op voor de share-ontvanger",
+ "Show files in grid view" : "Bestanden tonen in rasterweergave",
"Delete share" : "Verwijder share",
"Others with access" : "Anderen met toegang",
"No other accounts with access found" : "Geen andere accounts met toegang gevonden",
@@ -263,12 +303,23 @@
"Unable to fetch inherited shares" : "Kon overerfde shares niet ophalen",
"Link shares" : "Deel shares",
"Shares" : "Shares",
+ "Use this method to share files with individuals or teams within your organization. If the recipient already has access to the share but cannot locate it, you can send them the internal share link for easy access." : "Gebruik deze methode om bestanden te delen met personen of teams binnen je organisatie. Als de ontvanger al toegang heeft tot de share, maar deze niet kan lokaliseren, kun je deze de interne share-link sturen voor gemakkelijke toegang.",
+ "Use this method to share files with individuals or organizations outside your organization. Files and folders can be shared via public share links and email addresses. You can also share to other Nextcloud accounts hosted on different instances using their federated cloud ID." : "Gebruik deze methode om bestanden te delen met personen of organisaties buiten je organisatie. Bestanden en mappen kunnen worden gedeeld via openbare deellinks en e-mailadressen. Je kunt ook delen met andere Nextcloud-accounts die in verschillende instanties worden gehost met behulp van hun federatieve cloud-ID.",
+ "Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Shares die geen deel uitmaken van de interne of externe shares. Dit kunnen shares zijn van apps of andere bronnen.",
+ "Share with accounts, teams, federated cloud IDs" : "Delen met accounts, teams, federatieve cloud-ID's",
+ "Share with accounts and teams" : "Delen met accounts en teams",
+ "Federated cloud ID" : "Federatieve cloud-ID",
+ "Email, federated cloud ID" : "E-mail, federatieve cloud-ID",
"Unable to load the shares list" : "Kon de shares-lijst niet laden",
"Expires {relativetime}" : "Vervalt {relativetime}",
"this share just expired." : "deze share is net verlopen.",
"Shared with you by {owner}" : "Met je gedeeld door {owner}",
"Internal shares" : "Interne schijven",
+ "Internal shares explanation" : "Uitleg over interne shares",
"External shares" : "Externe schijven",
+ "External shares explanation" : "Uitleg over externe shares",
+ "Additional shares" : "Aanvullende shares",
+ "Additional shares explanation" : "Uitleg over aanvullende shares",
"Link to a file" : "Link naar een bestand",
"_Accept share_::_Accept shares_" : ["Accepteer share","Accepteer shares"],
"Open in Files" : "Open in Bestanden",
@@ -304,10 +355,17 @@
"No shared links" : "Geen gedeelde links",
"Files and folders you shared by link will show up here" : "Bestanden en mappen die je via links deelt, worden hier getoond",
"File requests" : "Bestandsaanvragen",
+ "List of file requests." : "Lijst met bestandsverzoeken.",
+ "No file requests" : "Geen bestandsverzoeken",
+ "File requests you have created will show up here" : "Bestandsverzoeken die je hebt aangemaakt, worden hier weergegeven",
"Deleted shares" : "Verwijderde shares",
+ "List of shares you left." : "Lijst met shares die je hebt behouden.",
"No deleted shares" : "Geen verwijderde shares",
+ "Shares you have left will show up here" : "Shares die je hebt behoudem, verschijnen hier",
"Pending shares" : "Deellinks in behandeling",
+ "List of unapproved shares." : "Lijst van niet-goedgekeurde shares.",
"No pending shares" : "Geen deellinks in behandeling",
+ "Shares you have received but not approved will show up here" : "Shares die je hebt ontvangen maar niet hebt goedgekeurd, verschijnen hier",
"Error updating the share: {errorMessage}" : "Fout bij aanpassen van de share: {errorMessage}",
"Error updating the share" : "Fout tijdens bijwerken share",
"File \"{path}\" has been unshared" : "Bestand \"{path}\" is niet meer gedeeld",
@@ -320,8 +378,17 @@
"Share note for recipient saved" : "Share notitie voor ontvanger opgeslagen",
"Share password saved" : "Share wachtwoord opgeslagen",
"Share permissions saved" : "Share machtigingen opgeslagen",
+ "To upload files to {folder}, you need to provide your name first." : "Om bestanden te uploaden naar {folder}, moet je eerst je naam opgeven.",
"Upload files to {folder}" : "Upload bestanden naar {folder}",
+ "Please confirm your name to upload files to {folder}" : "Bevestig je naam om bestanden naar {folder} te uploaden",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} deelde een map met je.",
+ "Names must not be empty." : "Namen mogen niet leeg zijn.",
+ "Names must not start with a dot." : "Namen mogen niet met een punt beginnen.",
+ "\"{char}\" is not allowed inside a name." : "\"{char}\" is niet toegestaan in een naam.",
+ "\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" is een gereserveerde naam en niet toegestaan.",
+ "\"{extension}\" is not an allowed name." : "\"{extension}\" is geen toegestane naam.",
+ "Names must not end with \"{extension}\"." : "Namen mogen niet eindigen met \"{extension}\".",
+ "Invalid name." : "Ongeldige naam.",
"Shared by" : "Gedeeld door",
"Shared with" : "Gedeeld met",
"Password created successfully" : "Wachtwoord succesvol gemaakt",
@@ -352,6 +419,7 @@
"No compatible server found at {remote}" : "Geen geschikte server gevonden op {remote}",
"Invalid server URL" : "Ongeldig server URL",
"Failed to add the public link to your Nextcloud" : "Kon de openbare link niet aan je Nextcloud toevoegen",
+ "You are not allowed to edit link shares that you don't own" : "Je mag geen linkshares bewerken die je niet bezit",
"Download all files" : "Download alle bestanden",
"_1 email address already added_::_{count} email addresses already added_" : ["1 E-mailadres al toegevoegd","Al {count} e-mailadressen toegevoegd"],
"_1 email address added_::_{count} email addresses added_" : ["1 E-mailadres toegevoegd","{count} E-mailadressen toegevoegd"],
@@ -361,6 +429,8 @@
"Enter your name" : "Geef je naam op",
"Submit name" : "Naam doorgeven",
"Name" : "Naam",
+ "Share with accounts, teams, federated cloud id" : "Delen met accounts, teams, federatieve cloud-ID",
+ "Email, federated cloud id" : "E-mail, federatieve cloud-ID",
"Filename must not be empty." : "Bestandsnaam mag niet leeg zijn"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index 42ac50b6a5a..61618d5c7fd 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Definir pasta padrão para compartilhamentos aceitos",
"Reset" : "Redefinir",
"Reset folder to system default" : "Redefinir pasta para o padrão do sistema",
+ "Share expiration: {date}" : "Expiração do compartilhamento: {date}",
"Share Expiration" : "Expiração do Compartilhamento",
"group" : "grupo",
"conversation" : "conversa",
@@ -229,7 +230,7 @@ OC.L10N.register(
"Create share" : "Criar compartilhamento",
"Customize link" : "Personalizar link",
"Generate QR code" : "Gerar código QR",
- "Add another link" : "Adicionar um novo link",
+ "Add another link" : "Adicionar outro link",
"Create a new share link" : "Criar um novo link de compartilhamento",
"Quick share options, the current selected is \"{selectedOption}\"" : "Opções de compartilhamento rápido, o atual selecionado é \"{selectedOption}\"",
"View only" : "Somente visualização",
@@ -290,10 +291,10 @@ OC.L10N.register(
"Password expired" : "Senha expirada",
"Video verification" : "Verificação de vídeo",
"Expiration date (enforced)" : "Data de vencimento (imposta)",
- "Set expiration date" : "Definir data de vencimento",
+ "Set expiration date" : "Definir data de expiração",
"Hide download" : "Ocultar download",
"Allow download and sync" : "Permitir download e sincronização",
- "Note to recipient" : "Observação ao destinatário",
+ "Note to recipient" : "Nota para o destinatário",
"Enter a note for the share recipient" : "Digite uma observação ao destinatário",
"Show files in grid view" : "Mostrar arquivos na visualização em grade",
"Delete share" : "Excluir compartilhamento",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Compartilhamentos que não fazem parte dos compartilhamentos internos ou externos. Podem ser compartilhamentos de aplicativos ou outras fontes.",
"Share with accounts, teams, federated cloud IDs" : "Compartilhar com contas, equipes, IDs de nuvem federada",
"Share with accounts and teams" : "Compartilhar com contas e equipes",
+ "Federated cloud ID" : "ID de nuvem federada",
"Email, federated cloud ID" : "E-mail, ID de nuvem federada",
"Unable to load the shares list" : "Não foi possível carregar a lista de compartilhamentos",
"Expires {relativetime}" : "Expira {relativetime}",
diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json
index 907acae7f31..e8cd96c938c 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Definir pasta padrão para compartilhamentos aceitos",
"Reset" : "Redefinir",
"Reset folder to system default" : "Redefinir pasta para o padrão do sistema",
+ "Share expiration: {date}" : "Expiração do compartilhamento: {date}",
"Share Expiration" : "Expiração do Compartilhamento",
"group" : "grupo",
"conversation" : "conversa",
@@ -227,7 +228,7 @@
"Create share" : "Criar compartilhamento",
"Customize link" : "Personalizar link",
"Generate QR code" : "Gerar código QR",
- "Add another link" : "Adicionar um novo link",
+ "Add another link" : "Adicionar outro link",
"Create a new share link" : "Criar um novo link de compartilhamento",
"Quick share options, the current selected is \"{selectedOption}\"" : "Opções de compartilhamento rápido, o atual selecionado é \"{selectedOption}\"",
"View only" : "Somente visualização",
@@ -288,10 +289,10 @@
"Password expired" : "Senha expirada",
"Video verification" : "Verificação de vídeo",
"Expiration date (enforced)" : "Data de vencimento (imposta)",
- "Set expiration date" : "Definir data de vencimento",
+ "Set expiration date" : "Definir data de expiração",
"Hide download" : "Ocultar download",
"Allow download and sync" : "Permitir download e sincronização",
- "Note to recipient" : "Observação ao destinatário",
+ "Note to recipient" : "Nota para o destinatário",
"Enter a note for the share recipient" : "Digite uma observação ao destinatário",
"Show files in grid view" : "Mostrar arquivos na visualização em grade",
"Delete share" : "Excluir compartilhamento",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Compartilhamentos que não fazem parte dos compartilhamentos internos ou externos. Podem ser compartilhamentos de aplicativos ou outras fontes.",
"Share with accounts, teams, federated cloud IDs" : "Compartilhar com contas, equipes, IDs de nuvem federada",
"Share with accounts and teams" : "Compartilhar com contas e equipes",
+ "Federated cloud ID" : "ID de nuvem federada",
"Email, federated cloud ID" : "E-mail, ID de nuvem federada",
"Unable to load the shares list" : "Não foi possível carregar a lista de compartilhamentos",
"Expires {relativetime}" : "Expira {relativetime}",
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index 2da7d326673..7567511b268 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -137,7 +137,9 @@ OC.L10N.register(
"Link copied to clipboard" : "Ссылка скопирована в буфер обмена",
"Email already added" : "Адрес электронной почты уже добавлен",
"Invalid email address" : "Неверный адрес электронной почты",
+ "_The following email address is not valid: {emails}_::_The following email addresses are not valid: {emails}_" : ["Следующий адрес электронной почты недействителен: {emails}","Следующие адреса электронной почты недействительны: {emails}","Следующие адреса электронной почты недействительны: {emails}","Следующие адреса электронной почты недействительны: {emails}"],
"_{count} email address already added_::_{count} email addresses already added_" : [" {count} e-mail адрес уже добавлен"," {count} e-mail адреса уже добавлено"," {count} e-mail адресов уже добавлены","{count} e-mail адресов уже добавлены"],
+ "_{count} email address added_::_{count} email addresses added_" : ["Добавлен {count} адрес электронной почты","Добавлено {count} адреса электронной почты","Добавлено {count} адресов электронной почты","Добавлено {count} адресов электронной почты"],
"You can now share the link below to allow people to upload files to your directory." : "Теперь вы можете поделиться приведенной ниже ссылкой, чтобы люди могли загружать файлы в ваш каталог.",
"Share link" : "Общий доступ по ссылке",
"Copy to clipboard" : "Копировать в буфер обмена",
@@ -158,8 +160,10 @@ OC.L10N.register(
"Add a note to help people understand what you are requesting." : "Добавьте примечание, чтобы помочь людям понять, о чем вы просите.",
"You can add links, date or any other information that will help the recipient understand what you are requesting." : "Вы можете добавить ссылки, дату или любую другую информацию, которая поможет получателю понять, что вы запрашиваете.",
"Close" : "Закрыть",
+ "_Send email and close_::_Send {count} emails and close_" : ["Отправить письмо и закрыть","Отправить {count} письма и закрыть","Отправить {count} писем и закрыть","Отправить {count} писем и закрыть"],
"Please select a folder, you cannot share the root directory." : "Пожалуйста, выберите папку, вы не можете предоставить общий доступ к корневому каталогу.",
"File request created" : "Создан запрос на файл",
+ "_File request created and email sent_::_File request created and {count} emails sent_" : ["Создан запрос файла и отправлено письмо","Создан запрос файла и отправлено {count} письма","Создан запрос файла и отправлено {count} писем","Создан запрос файла и отправлено {count} писем"],
"Error creating the share: {errorMessage}" : "Не удалось создать общий ресурс: {errorMessage}",
"Error creating the share" : "Ошибка создания общего доступа",
"Error sending emails: {errorMessage}" : "Ошибка при отправке электронных писем: {errorMessage}",
@@ -181,6 +185,8 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Задать папку для принятых опубликованных ресурсов",
"Reset" : "Сброс",
"Reset folder to system default" : "Сбросить папку к значениям по умолчанию",
+ "Share expiration: {date}" : "Срок действия общего ресурса: {date}",
+ "Share Expiration" : "Срок действия общего ресурса",
"group" : "группа",
"conversation" : "беседа",
"remote" : "на другом сервере",
@@ -244,11 +250,14 @@ OC.L10N.register(
"Deck board" : "Доска",
"ScienceMesh" : "ScienceMesh",
"on {server}" : "на {server}",
+ "Enter external recipients" : "Введите внешних получателей",
+ "Search for internal recipients" : "Поиск внутренних получателей",
"Note from" : "Примечание от",
"Note:" : "Примечание:",
"File drop" : "Приём файлов",
"Upload files to {foldername}." : "Загрузка файлов в {foldername}.",
"By uploading files, you agree to the terms of service." : "Загружая файлы, вы соглашаетесь с условиями обслуживания.",
+ "Successfully uploaded files" : "Файлы успешно загружены",
"View terms of service" : "Ознакомиться с условиями предоставления услуг",
"Terms of service" : "Условия использования",
"Share with {userName}" : "Поделиться с {userName}",
@@ -265,6 +274,7 @@ OC.L10N.register(
"Edit" : "Редактировать",
"Share" : "Поделиться",
"Delete" : "Удалить",
+ "Password field cannot be empty" : "Поле пароля не может быть пустым",
"Replace current password" : "Заменить текущий пароль",
"Failed to generate a new token" : "Не удалось сгенерировать новый токен",
"Allow upload and editing" : "Разрешить приём и редактирование",
@@ -272,6 +282,10 @@ OC.L10N.register(
"Upload only" : "Только загружать",
"Advanced settings" : "Расширенные параметры",
"Share label" : "Метка общего доступа",
+ "Share link token" : "Токен ссылки на общий ресурс",
+ "Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information." : "Установите простой для запоминания токен ссылки на общий ресурс или сгенерируйте новый. Не рекомендуется использовать легко угадываемые токены для общих ресурсов с конфиденциальной информацией.",
+ "Generating…" : "Создание…",
+ "Generate new token" : "Создать новый токен",
"Set password" : "Задать пароль",
"Password expires {passwordExpirationTime}" : "Срок действия пароля истекает {passwordExpirationTime}",
"Password expired" : "Срок действия пароля истёк",
@@ -282,6 +296,7 @@ OC.L10N.register(
"Allow download and sync" : "Разрешить загрузку и синхронизацию",
"Note to recipient" : "Примечание для получателя",
"Enter a note for the share recipient" : "Введите примечание для получателя",
+ "Show files in grid view" : "Показать файлы в виде сетки",
"Delete share" : "Удалить общий ресурс",
"Others with access" : "Другие пользователи, имеющие доступ",
"No other accounts with access found" : "Других учетных записей с доступом не найдено",
@@ -295,13 +310,18 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Ссылки, которые не являются частью внутренних или внешних ссылок. Это могут быть ссылки из приложений или других источников.",
"Share with accounts, teams, federated cloud IDs" : "Поделиться с учетными записями, командами, идентификаторами федеративного облака",
"Share with accounts and teams" : "Поделиться с аккаунтами и командами",
+ "Federated cloud ID" : "Федеративный облачный ID",
+ "Email, federated cloud ID" : "Электронная почта, федеративный облачный ID",
"Unable to load the shares list" : "Невозможно загрузить список общих ресурсов",
"Expires {relativetime}" : "Истекает {relativetime}",
"this share just expired." : "срок действия этого общего ресурса только что истёк.",
"Shared with you by {owner}" : "{owner} предоставил(а) Вам доступ",
"Internal shares" : "Внутренние ссылки",
+ "Internal shares explanation" : "Пояснение к внутренним общим ресурсам",
"External shares" : "Внешние ссылки",
+ "External shares explanation" : "Пояснение к внешним общим ресурсам",
"Additional shares" : "Дополнительные ссылки",
+ "Additional shares explanation" : "Пояснение к дополнительным общим ресурсам",
"Link to a file" : "Ссылка на файл",
"_Accept share_::_Accept shares_" : ["Принять общий ресурс","Принять общие ресурсы","Принять общие ресурсы","Принять общие ресурсы"],
"Open in Files" : "Открыть в Файлах",
@@ -357,10 +377,20 @@ OC.L10N.register(
"Share expiry date saved" : "Дата истечения срока общего доступа сохранена",
"Share hide-download state saved" : "Скрытая загрузка ссылки общего доступа сохранено",
"Share label saved" : "Метка общего доступа сохранена",
+ "Share note for recipient saved" : "Примечание к общему ресурсу для получателя сохранено",
"Share password saved" : "Пароль общего доступа сохранен",
"Share permissions saved" : "Разрешения общего доступа сохранены",
+ "To upload files to {folder}, you need to provide your name first." : "Чтобы загрузить файлы в {folder}, сначала укажите своё имя.",
"Upload files to {folder}" : "Загрузка файлов в {folder}",
+ "Please confirm your name to upload files to {folder}" : "Пожалуйста, подтвердите своё имя для загрузки файлов в {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} поделился с вами папкой.",
+ "Names must not be empty." : "Имя не может быть пустым.",
+ "Names must not start with a dot." : "Имя не должно начинаться с точки.",
+ "\"{char}\" is not allowed inside a name." : "Символ «{char}» не допускается в имени.",
+ "\"{segment}\" is a reserved name and not allowed." : "«{segment}» — зарезервированное имя и не может быть использовано.",
+ "\"{extension}\" is not an allowed name." : "«{extension}» — недопустимое имя.",
+ "Names must not end with \"{extension}\"." : "Имя не должно оканчиваться на «{extension}».",
+ "Invalid name." : "Недопустимое имя.",
"Shared by" : "Поделился",
"Shared with" : "Общий доступ",
"Password created successfully" : "Пароль создан",
@@ -393,6 +423,8 @@ OC.L10N.register(
"Failed to add the public link to your Nextcloud" : "Не удалось создать общедоступную ссылку",
"You are not allowed to edit link shares that you don't own" : "Вам не разрешается редактировать ссылки, которыми вы не владеете",
"Download all files" : "Скачать все файлы",
+ "_1 email address already added_::_{count} email addresses already added_" : ["Уже добавлен 1 адрес электронной почты","Уже добавлено {count} адреса электронной почты","Уже добавлено {count} адресов электронной почты","Уже добавлено {count} адресов электронной почты"],
+ "_1 email address added_::_{count} email addresses added_" : ["Добавлен 1 адрес электронной почты","Добавлено {count} адреса электронной почты","Добавлено {count} адресов электронной почты","Добавлено {count} адресов электронной почты"],
"Search for share recipients" : "Найти больше получателей общего ресурса",
"No recommendations. Start typing." : "Рекомендации отсутствуют, начните вводить символы",
"To upload files, you need to provide your name first." : "Чтобы загрузить файлы, вам необходимо сначала указать свое имя.",
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index 2179703dd71..a84dbdd18ab 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -135,7 +135,9 @@
"Link copied to clipboard" : "Ссылка скопирована в буфер обмена",
"Email already added" : "Адрес электронной почты уже добавлен",
"Invalid email address" : "Неверный адрес электронной почты",
+ "_The following email address is not valid: {emails}_::_The following email addresses are not valid: {emails}_" : ["Следующий адрес электронной почты недействителен: {emails}","Следующие адреса электронной почты недействительны: {emails}","Следующие адреса электронной почты недействительны: {emails}","Следующие адреса электронной почты недействительны: {emails}"],
"_{count} email address already added_::_{count} email addresses already added_" : [" {count} e-mail адрес уже добавлен"," {count} e-mail адреса уже добавлено"," {count} e-mail адресов уже добавлены","{count} e-mail адресов уже добавлены"],
+ "_{count} email address added_::_{count} email addresses added_" : ["Добавлен {count} адрес электронной почты","Добавлено {count} адреса электронной почты","Добавлено {count} адресов электронной почты","Добавлено {count} адресов электронной почты"],
"You can now share the link below to allow people to upload files to your directory." : "Теперь вы можете поделиться приведенной ниже ссылкой, чтобы люди могли загружать файлы в ваш каталог.",
"Share link" : "Общий доступ по ссылке",
"Copy to clipboard" : "Копировать в буфер обмена",
@@ -156,8 +158,10 @@
"Add a note to help people understand what you are requesting." : "Добавьте примечание, чтобы помочь людям понять, о чем вы просите.",
"You can add links, date or any other information that will help the recipient understand what you are requesting." : "Вы можете добавить ссылки, дату или любую другую информацию, которая поможет получателю понять, что вы запрашиваете.",
"Close" : "Закрыть",
+ "_Send email and close_::_Send {count} emails and close_" : ["Отправить письмо и закрыть","Отправить {count} письма и закрыть","Отправить {count} писем и закрыть","Отправить {count} писем и закрыть"],
"Please select a folder, you cannot share the root directory." : "Пожалуйста, выберите папку, вы не можете предоставить общий доступ к корневому каталогу.",
"File request created" : "Создан запрос на файл",
+ "_File request created and email sent_::_File request created and {count} emails sent_" : ["Создан запрос файла и отправлено письмо","Создан запрос файла и отправлено {count} письма","Создан запрос файла и отправлено {count} писем","Создан запрос файла и отправлено {count} писем"],
"Error creating the share: {errorMessage}" : "Не удалось создать общий ресурс: {errorMessage}",
"Error creating the share" : "Ошибка создания общего доступа",
"Error sending emails: {errorMessage}" : "Ошибка при отправке электронных писем: {errorMessage}",
@@ -179,6 +183,8 @@
"Set default folder for accepted shares" : "Задать папку для принятых опубликованных ресурсов",
"Reset" : "Сброс",
"Reset folder to system default" : "Сбросить папку к значениям по умолчанию",
+ "Share expiration: {date}" : "Срок действия общего ресурса: {date}",
+ "Share Expiration" : "Срок действия общего ресурса",
"group" : "группа",
"conversation" : "беседа",
"remote" : "на другом сервере",
@@ -242,11 +248,14 @@
"Deck board" : "Доска",
"ScienceMesh" : "ScienceMesh",
"on {server}" : "на {server}",
+ "Enter external recipients" : "Введите внешних получателей",
+ "Search for internal recipients" : "Поиск внутренних получателей",
"Note from" : "Примечание от",
"Note:" : "Примечание:",
"File drop" : "Приём файлов",
"Upload files to {foldername}." : "Загрузка файлов в {foldername}.",
"By uploading files, you agree to the terms of service." : "Загружая файлы, вы соглашаетесь с условиями обслуживания.",
+ "Successfully uploaded files" : "Файлы успешно загружены",
"View terms of service" : "Ознакомиться с условиями предоставления услуг",
"Terms of service" : "Условия использования",
"Share with {userName}" : "Поделиться с {userName}",
@@ -263,6 +272,7 @@
"Edit" : "Редактировать",
"Share" : "Поделиться",
"Delete" : "Удалить",
+ "Password field cannot be empty" : "Поле пароля не может быть пустым",
"Replace current password" : "Заменить текущий пароль",
"Failed to generate a new token" : "Не удалось сгенерировать новый токен",
"Allow upload and editing" : "Разрешить приём и редактирование",
@@ -270,6 +280,10 @@
"Upload only" : "Только загружать",
"Advanced settings" : "Расширенные параметры",
"Share label" : "Метка общего доступа",
+ "Share link token" : "Токен ссылки на общий ресурс",
+ "Set the public share link token to something easy to remember or generate a new token. It is not recommended to use a guessable token for shares which contain sensitive information." : "Установите простой для запоминания токен ссылки на общий ресурс или сгенерируйте новый. Не рекомендуется использовать легко угадываемые токены для общих ресурсов с конфиденциальной информацией.",
+ "Generating…" : "Создание…",
+ "Generate new token" : "Создать новый токен",
"Set password" : "Задать пароль",
"Password expires {passwordExpirationTime}" : "Срок действия пароля истекает {passwordExpirationTime}",
"Password expired" : "Срок действия пароля истёк",
@@ -280,6 +294,7 @@
"Allow download and sync" : "Разрешить загрузку и синхронизацию",
"Note to recipient" : "Примечание для получателя",
"Enter a note for the share recipient" : "Введите примечание для получателя",
+ "Show files in grid view" : "Показать файлы в виде сетки",
"Delete share" : "Удалить общий ресурс",
"Others with access" : "Другие пользователи, имеющие доступ",
"No other accounts with access found" : "Других учетных записей с доступом не найдено",
@@ -293,13 +308,18 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Ссылки, которые не являются частью внутренних или внешних ссылок. Это могут быть ссылки из приложений или других источников.",
"Share with accounts, teams, federated cloud IDs" : "Поделиться с учетными записями, командами, идентификаторами федеративного облака",
"Share with accounts and teams" : "Поделиться с аккаунтами и командами",
+ "Federated cloud ID" : "Федеративный облачный ID",
+ "Email, federated cloud ID" : "Электронная почта, федеративный облачный ID",
"Unable to load the shares list" : "Невозможно загрузить список общих ресурсов",
"Expires {relativetime}" : "Истекает {relativetime}",
"this share just expired." : "срок действия этого общего ресурса только что истёк.",
"Shared with you by {owner}" : "{owner} предоставил(а) Вам доступ",
"Internal shares" : "Внутренние ссылки",
+ "Internal shares explanation" : "Пояснение к внутренним общим ресурсам",
"External shares" : "Внешние ссылки",
+ "External shares explanation" : "Пояснение к внешним общим ресурсам",
"Additional shares" : "Дополнительные ссылки",
+ "Additional shares explanation" : "Пояснение к дополнительным общим ресурсам",
"Link to a file" : "Ссылка на файл",
"_Accept share_::_Accept shares_" : ["Принять общий ресурс","Принять общие ресурсы","Принять общие ресурсы","Принять общие ресурсы"],
"Open in Files" : "Открыть в Файлах",
@@ -355,10 +375,20 @@
"Share expiry date saved" : "Дата истечения срока общего доступа сохранена",
"Share hide-download state saved" : "Скрытая загрузка ссылки общего доступа сохранено",
"Share label saved" : "Метка общего доступа сохранена",
+ "Share note for recipient saved" : "Примечание к общему ресурсу для получателя сохранено",
"Share password saved" : "Пароль общего доступа сохранен",
"Share permissions saved" : "Разрешения общего доступа сохранены",
+ "To upload files to {folder}, you need to provide your name first." : "Чтобы загрузить файлы в {folder}, сначала укажите своё имя.",
"Upload files to {folder}" : "Загрузка файлов в {folder}",
+ "Please confirm your name to upload files to {folder}" : "Пожалуйста, подтвердите своё имя для загрузки файлов в {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} поделился с вами папкой.",
+ "Names must not be empty." : "Имя не может быть пустым.",
+ "Names must not start with a dot." : "Имя не должно начинаться с точки.",
+ "\"{char}\" is not allowed inside a name." : "Символ «{char}» не допускается в имени.",
+ "\"{segment}\" is a reserved name and not allowed." : "«{segment}» — зарезервированное имя и не может быть использовано.",
+ "\"{extension}\" is not an allowed name." : "«{extension}» — недопустимое имя.",
+ "Names must not end with \"{extension}\"." : "Имя не должно оканчиваться на «{extension}».",
+ "Invalid name." : "Недопустимое имя.",
"Shared by" : "Поделился",
"Shared with" : "Общий доступ",
"Password created successfully" : "Пароль создан",
@@ -391,6 +421,8 @@
"Failed to add the public link to your Nextcloud" : "Не удалось создать общедоступную ссылку",
"You are not allowed to edit link shares that you don't own" : "Вам не разрешается редактировать ссылки, которыми вы не владеете",
"Download all files" : "Скачать все файлы",
+ "_1 email address already added_::_{count} email addresses already added_" : ["Уже добавлен 1 адрес электронной почты","Уже добавлено {count} адреса электронной почты","Уже добавлено {count} адресов электронной почты","Уже добавлено {count} адресов электронной почты"],
+ "_1 email address added_::_{count} email addresses added_" : ["Добавлен 1 адрес электронной почты","Добавлено {count} адреса электронной почты","Добавлено {count} адресов электронной почты","Добавлено {count} адресов электронной почты"],
"Search for share recipients" : "Найти больше получателей общего ресурса",
"No recommendations. Start typing." : "Рекомендации отсутствуют, начните вводить символы",
"To upload files, you need to provide your name first." : "Чтобы загрузить файлы, вам необходимо сначала указать свое имя.",
diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js
index 6fe45426dc5..413fccb634c 100644
--- a/apps/files_sharing/l10n/sr.js
+++ b/apps/files_sharing/l10n/sr.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Подесите подразумевани фолдер за прихваћена дељења",
"Reset" : "Ресетуј",
"Reset folder to system default" : "Vratite fasciklu na podrazumevane vrednosti sistema",
+ "Share expiration: {date}" : "Дељење истиче: {date} ",
"Share Expiration" : "Истицање дељења",
"group" : "група",
"conversation" : "разговор",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Дељења која нису део интерних или спољних дељења. Ово могу бити дељења из апликација или осталих извора.",
"Share with accounts, teams, federated cloud IDs" : "Дели са налозима, тимовима, ID-јевима здруженог облака",
"Share with accounts and teams" : "Дељење са налозима и тимовима",
+ "Federated cloud ID" : "ИД Здруженог облака",
"Email, federated cloud ID" : "И-мејл, ID здруженог облака",
"Unable to load the shares list" : "Неуспело учитавање листе дељења",
"Expires {relativetime}" : "Истиче {relativetime}",
diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json
index 5a3ea2dadd3..a9bd75ab333 100644
--- a/apps/files_sharing/l10n/sr.json
+++ b/apps/files_sharing/l10n/sr.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Подесите подразумевани фолдер за прихваћена дељења",
"Reset" : "Ресетуј",
"Reset folder to system default" : "Vratite fasciklu na podrazumevane vrednosti sistema",
+ "Share expiration: {date}" : "Дељење истиче: {date} ",
"Share Expiration" : "Истицање дељења",
"group" : "група",
"conversation" : "разговор",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Дељења која нису део интерних или спољних дељења. Ово могу бити дељења из апликација или осталих извора.",
"Share with accounts, teams, federated cloud IDs" : "Дели са налозима, тимовима, ID-јевима здруженог облака",
"Share with accounts and teams" : "Дељење са налозима и тимовима",
+ "Federated cloud ID" : "ИД Здруженог облака",
"Email, federated cloud ID" : "И-мејл, ID здруженог облака",
"Unable to load the shares list" : "Неуспело учитавање листе дељења",
"Expires {relativetime}" : "Истиче {relativetime}",
diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js
index 6c3a5828007..05be7bc3722 100644
--- a/apps/files_sharing/l10n/sv.js
+++ b/apps/files_sharing/l10n/sv.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Sätt standardmapp för accepterade delningar",
"Reset" : "Återställ",
"Reset folder to system default" : "Återställ mapp till system-standard",
+ "Share expiration: {date}" : "Delningens utgång: {date}",
"Share Expiration" : "Delningens utgång",
"group" : "grupp",
"conversation" : "konversation",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Delningar som inte ingår i de interna eller externa delningarna. Detta kan vara delningar från appar eller andra källor.",
"Share with accounts, teams, federated cloud IDs" : "Dela med konton, team, federerade moln-ID:n",
"Share with accounts and teams" : "Dela med konton och team",
+ "Federated cloud ID" : "Federerat moln-ID",
"Email, federated cloud ID" : "E-post, federerat moln-ID",
"Unable to load the shares list" : "Kunde inte läsa in delningslistan",
"Expires {relativetime}" : "Upphör {relativetime}",
@@ -378,8 +380,11 @@ OC.L10N.register(
"Share note for recipient saved" : "Delningens notering för mottagare sparad",
"Share password saved" : "Lösenord för delning sparad",
"Share permissions saved" : "Delningsbehörighet sparad",
+ "To upload files to {folder}, you need to provide your name first." : "För att ladda upp filer till {folder}, måste du först ange ditt namn.",
"Upload files to {folder}" : "Ladda upp filer till {folder}",
+ "Please confirm your name to upload files to {folder}" : "Bekräfta ditt namn för att ladda upp filer till {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} delade en mapp med dig.",
+ "Names must not be empty." : "Namn får inte vara tomt.",
"Names must not start with a dot." : "Namn får inte börja med en punkt.",
"\"{char}\" is not allowed inside a name." : "\"{char}\" är inte tillåtet i ett namn.",
"\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" är ett reserverat namn och inte tillåtet.",
diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json
index 58d5256c760..b675aecf7d0 100644
--- a/apps/files_sharing/l10n/sv.json
+++ b/apps/files_sharing/l10n/sv.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "Sätt standardmapp för accepterade delningar",
"Reset" : "Återställ",
"Reset folder to system default" : "Återställ mapp till system-standard",
+ "Share expiration: {date}" : "Delningens utgång: {date}",
"Share Expiration" : "Delningens utgång",
"group" : "grupp",
"conversation" : "konversation",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Delningar som inte ingår i de interna eller externa delningarna. Detta kan vara delningar från appar eller andra källor.",
"Share with accounts, teams, federated cloud IDs" : "Dela med konton, team, federerade moln-ID:n",
"Share with accounts and teams" : "Dela med konton och team",
+ "Federated cloud ID" : "Federerat moln-ID",
"Email, federated cloud ID" : "E-post, federerat moln-ID",
"Unable to load the shares list" : "Kunde inte läsa in delningslistan",
"Expires {relativetime}" : "Upphör {relativetime}",
@@ -376,8 +378,11 @@
"Share note for recipient saved" : "Delningens notering för mottagare sparad",
"Share password saved" : "Lösenord för delning sparad",
"Share permissions saved" : "Delningsbehörighet sparad",
+ "To upload files to {folder}, you need to provide your name first." : "För att ladda upp filer till {folder}, måste du först ange ditt namn.",
"Upload files to {folder}" : "Ladda upp filer till {folder}",
+ "Please confirm your name to upload files to {folder}" : "Bekräfta ditt namn för att ladda upp filer till {folder}",
"{ownerDisplayName} shared a folder with you." : "{ownerDisplayName} delade en mapp med dig.",
+ "Names must not be empty." : "Namn får inte vara tomt.",
"Names must not start with a dot." : "Namn får inte börja med en punkt.",
"\"{char}\" is not allowed inside a name." : "\"{char}\" är inte tillåtet i ett namn.",
"\"{segment}\" is a reserved name and not allowed." : "\"{segment}\" är ett reserverat namn och inte tillåtet.",
diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js
index 3cde1e83f93..f1d8ed89a22 100644
--- a/apps/files_sharing/l10n/uk.js
+++ b/apps/files_sharing/l10n/uk.js
@@ -184,6 +184,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "Встановити типовий каталог для прийнятих спільних ресурсів",
"Reset" : "Скидання",
"Reset folder to system default" : "Відновити типові системні налаштування для каталогу",
+ "Share expiration: {date}" : "У спільному доступі до: {date}",
"Share Expiration" : "Термін дії спільного ресурсу:",
"group" : "група",
"conversation" : "розмова",
@@ -308,6 +309,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Спільні ресурси, що не є ані внутрішніми, ані зовнішніми спільними ресурсами, наприклад, спільні ресурси, створені застосунками чи іншими ресурсами.",
"Share with accounts, teams, federated cloud IDs" : "Поділитися з користувачами, командами, об'єднаними хмарами",
"Share with accounts and teams" : "Поділитися з користувачами або командами",
+ "Federated cloud ID" : "Ідентифікатор об'єднаної хмари",
"Email, federated cloud ID" : "Ел. пошта, ID об'єднаної хмари",
"Unable to load the shares list" : "Не вдалося завантажити список спільних ресурсів",
"Expires {relativetime}" : "Термін дії закінчується {relativetime}",
diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json
index 742fc80c355..395814ab6f4 100644
--- a/apps/files_sharing/l10n/uk.json
+++ b/apps/files_sharing/l10n/uk.json
@@ -182,6 +182,7 @@
"Set default folder for accepted shares" : "Встановити типовий каталог для прийнятих спільних ресурсів",
"Reset" : "Скидання",
"Reset folder to system default" : "Відновити типові системні налаштування для каталогу",
+ "Share expiration: {date}" : "У спільному доступі до: {date}",
"Share Expiration" : "Термін дії спільного ресурсу:",
"group" : "група",
"conversation" : "розмова",
@@ -306,6 +307,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "Спільні ресурси, що не є ані внутрішніми, ані зовнішніми спільними ресурсами, наприклад, спільні ресурси, створені застосунками чи іншими ресурсами.",
"Share with accounts, teams, federated cloud IDs" : "Поділитися з користувачами, командами, об'єднаними хмарами",
"Share with accounts and teams" : "Поділитися з користувачами або командами",
+ "Federated cloud ID" : "Ідентифікатор об'єднаної хмари",
"Email, federated cloud ID" : "Ел. пошта, ID об'єднаної хмари",
"Unable to load the shares list" : "Не вдалося завантажити список спільних ресурсів",
"Expires {relativetime}" : "Термін дії закінчується {relativetime}",
diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js
index 5fe25dcad5d..ed60a2b149f 100644
--- a/apps/files_sharing/l10n/zh_CN.js
+++ b/apps/files_sharing/l10n/zh_CN.js
@@ -185,7 +185,8 @@ OC.L10N.register(
"Set default folder for accepted shares" : "设置已接受共享的默认文件夹",
"Reset" : "重置",
"Reset folder to system default" : "重置文件夹为系统默认值",
- "Share Expiration" : "共享有效期‌",
+ "Share expiration: {date}" : "分享过期日期:{date}",
+ "Share Expiration" : "分享过期日期",
"group" : "分组",
"conversation" : "会话",
"remote" : "远程",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "不属于内部或外部共享的共享,这可以是来自应用或其他来源的共享。",
"Share with accounts, teams, federated cloud IDs" : "与账号、团队、联合云 ID 共享",
"Share with accounts and teams" : "与账号和团队共享",
+ "Federated cloud ID" : "联合云 ID",
"Email, federated cloud ID" : "电子邮件、联合云 ID",
"Unable to load the shares list" : "无法加载共享列表",
"Expires {relativetime}" : "过期 {relativetime}",
diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json
index 6d23d656847..2c2272aa956 100644
--- a/apps/files_sharing/l10n/zh_CN.json
+++ b/apps/files_sharing/l10n/zh_CN.json
@@ -183,7 +183,8 @@
"Set default folder for accepted shares" : "设置已接受共享的默认文件夹",
"Reset" : "重置",
"Reset folder to system default" : "重置文件夹为系统默认值",
- "Share Expiration" : "共享有效期‌",
+ "Share expiration: {date}" : "分享过期日期:{date}",
+ "Share Expiration" : "分享过期日期",
"group" : "分组",
"conversation" : "会话",
"remote" : "远程",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "不属于内部或外部共享的共享,这可以是来自应用或其他来源的共享。",
"Share with accounts, teams, federated cloud IDs" : "与账号、团队、联合云 ID 共享",
"Share with accounts and teams" : "与账号和团队共享",
+ "Federated cloud ID" : "联合云 ID",
"Email, federated cloud ID" : "电子邮件、联合云 ID",
"Unable to load the shares list" : "无法加载共享列表",
"Expires {relativetime}" : "过期 {relativetime}",
diff --git a/apps/files_sharing/l10n/zh_HK.js b/apps/files_sharing/l10n/zh_HK.js
index 8c9684a2365..41397009db4 100644
--- a/apps/files_sharing/l10n/zh_HK.js
+++ b/apps/files_sharing/l10n/zh_HK.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "為已接受的分享選擇一個默認資料夾",
"Reset" : "重設",
"Reset folder to system default" : "將資料夾重置為系統默認值",
+ "Share expiration: {date}" : "分享到期日:{date}",
"Share Expiration" : "共享有效期‌",
"group" : "群組",
"conversation" : "對話",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "不屬於內部或外部分享的分享。這可能是來自應用程式或其他來源的分享。",
"Share with accounts, teams, federated cloud IDs" : "與帳戶、團隊、聯邦雲端 ID 分享",
"Share with accounts and teams" : "與帳號及團隊分享",
+ "Federated cloud ID" : "雲端聯邦 ID",
"Email, federated cloud ID" : "電郵地址、聯邦雲端 ID",
"Unable to load the shares list" : "無法載入分享清單",
"Expires {relativetime}" : "有效期至 {relativetime}",
diff --git a/apps/files_sharing/l10n/zh_HK.json b/apps/files_sharing/l10n/zh_HK.json
index 931eab39ecd..724afdb0ae8 100644
--- a/apps/files_sharing/l10n/zh_HK.json
+++ b/apps/files_sharing/l10n/zh_HK.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "為已接受的分享選擇一個默認資料夾",
"Reset" : "重設",
"Reset folder to system default" : "將資料夾重置為系統默認值",
+ "Share expiration: {date}" : "分享到期日:{date}",
"Share Expiration" : "共享有效期‌",
"group" : "群組",
"conversation" : "對話",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "不屬於內部或外部分享的分享。這可能是來自應用程式或其他來源的分享。",
"Share with accounts, teams, federated cloud IDs" : "與帳戶、團隊、聯邦雲端 ID 分享",
"Share with accounts and teams" : "與帳號及團隊分享",
+ "Federated cloud ID" : "雲端聯邦 ID",
"Email, federated cloud ID" : "電郵地址、聯邦雲端 ID",
"Unable to load the shares list" : "無法載入分享清單",
"Expires {relativetime}" : "有效期至 {relativetime}",
diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js
index a3406810090..764bd713123 100644
--- a/apps/files_sharing/l10n/zh_TW.js
+++ b/apps/files_sharing/l10n/zh_TW.js
@@ -185,6 +185,7 @@ OC.L10N.register(
"Set default folder for accepted shares" : "為接受的分享設定預設資料夾",
"Reset" : "重設",
"Reset folder to system default" : "將資料夾重設回系統預設",
+ "Share expiration: {date}" : "分享到期日:{date}",
"Share Expiration" : "分享過期",
"group" : "群組",
"conversation" : "對話",
@@ -309,6 +310,7 @@ OC.L10N.register(
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "不屬於內部或外部分享的分享。這可能是來自應用程式或其他來源的分享。",
"Share with accounts, teams, federated cloud IDs" : "與帳號、團隊、聯邦雲端 ID 分享",
"Share with accounts and teams" : "與帳號及團隊分享",
+ "Federated cloud ID" : "聯邦雲端 ID",
"Email, federated cloud ID" : "電子郵件、聯邦雲端 ID",
"Unable to load the shares list" : "無法載入分享列表",
"Expires {relativetime}" : "過期於 {relativetime}",
diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json
index b2c14b0776f..580be7e28e2 100644
--- a/apps/files_sharing/l10n/zh_TW.json
+++ b/apps/files_sharing/l10n/zh_TW.json
@@ -183,6 +183,7 @@
"Set default folder for accepted shares" : "為接受的分享設定預設資料夾",
"Reset" : "重設",
"Reset folder to system default" : "將資料夾重設回系統預設",
+ "Share expiration: {date}" : "分享到期日:{date}",
"Share Expiration" : "分享過期",
"group" : "群組",
"conversation" : "對話",
@@ -307,6 +308,7 @@
"Shares that are not part of the internal or external shares. This can be shares from apps or other sources." : "不屬於內部或外部分享的分享。這可能是來自應用程式或其他來源的分享。",
"Share with accounts, teams, federated cloud IDs" : "與帳號、團隊、聯邦雲端 ID 分享",
"Share with accounts and teams" : "與帳號及團隊分享",
+ "Federated cloud ID" : "聯邦雲端 ID",
"Email, federated cloud ID" : "電子郵件、聯邦雲端 ID",
"Unable to load the shares list" : "無法載入分享列表",
"Expires {relativetime}" : "過期於 {relativetime}",
diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue
index 781626a1ec9..702b876306f 100644
--- a/apps/files_sharing/src/components/SharingEntryLink.vue
+++ b/apps/files_sharing/src/components/SharingEntryLink.vue
@@ -223,13 +223,14 @@
</template>
<script>
+import { showError, showSuccess } from '@nextcloud/dialogs'
import { emit } from '@nextcloud/event-bus'
+import { t } from '@nextcloud/l10n'
+import moment from '@nextcloud/moment'
import { generateUrl, getBaseUrl } from '@nextcloud/router'
-import { showError, showSuccess } from '@nextcloud/dialogs'
import { ShareType } from '@nextcloud/sharing'
-import VueQrcode from '@chenfengyuan/vue-qrcode'
-import moment from '@nextcloud/moment'
+import VueQrcode from '@chenfengyuan/vue-qrcode'
import NcActionButton from '@nextcloud/vue/components/NcActionButton'
import NcActionCheckbox from '@nextcloud/vue/components/NcActionCheckbox'
import NcActionInput from '@nextcloud/vue/components/NcActionInput'
@@ -258,7 +259,7 @@ import GeneratePassword from '../utils/GeneratePassword.ts'
import Share from '../models/Share.ts'
import SharesMixin from '../mixins/SharesMixin.js'
import ShareDetails from '../mixins/ShareDetails.js'
-import { getLoggerBuilder } from '@nextcloud/logger'
+import logger from '../services/logger.ts'
export default {
name: 'SharingEntryLink',
@@ -313,10 +314,6 @@ export default {
ExternalLegacyLinkActions: OCA.Sharing.ExternalLinkActions.state,
ExternalShareActions: OCA.Sharing.ExternalShareActions.state,
- logger: getLoggerBuilder()
- .setApp('files_sharing')
- .detectUser()
- .build(),
// tracks whether modal should be opened or not
showQRCode: false,
@@ -330,6 +327,8 @@ export default {
* @return {string}
*/
title() {
+ const l10nOptions = { escape: false /* no escape as this string is already escaped by Vue */ }
+
// if we have a valid existing share (not pending)
if (this.share && this.share.id) {
if (!this.isShareOwner && this.share.ownerDisplayName) {
@@ -337,26 +336,26 @@ export default {
return t('files_sharing', '{shareWith} by {initiator}', {
shareWith: this.share.shareWith,
initiator: this.share.ownerDisplayName,
- })
+ }, l10nOptions)
}
return t('files_sharing', 'Shared via link by {initiator}', {
initiator: this.share.ownerDisplayName,
- })
+ }, l10nOptions)
}
if (this.share.label && this.share.label.trim() !== '') {
if (this.isEmailShareType) {
if (this.isFileRequest) {
return t('files_sharing', 'File request ({label})', {
label: this.share.label.trim(),
- })
+ }, l10nOptions)
}
return t('files_sharing', 'Mail share ({label})', {
label: this.share.label.trim(),
- })
+ }, l10nOptions)
}
return t('files_sharing', 'Share link ({label})', {
label: this.share.label.trim(),
- })
+ }, l10nOptions)
}
if (this.isEmailShareType) {
if (!this.share.shareWith || this.share.shareWith.trim() === '') {
@@ -391,6 +390,7 @@ export default {
}
return null
},
+
passwordExpirationTime() {
if (this.share.passwordExpirationTime === null) {
return null
@@ -613,7 +613,7 @@ export default {
* @param {boolean} shareReviewComplete if the share was reviewed
*/
async onNewLinkShare(shareReviewComplete = false) {
- this.logger.debug('onNewLinkShare called (with this.share)', this.share)
+ logger.debug('onNewLinkShare called (with this.share)', this.share)
// do not run again if already loading
if (this.loading) {
return
@@ -628,7 +628,7 @@ export default {
shareDefaults.expiration = this.formatDateToString(this.config.defaultExpirationDate)
}
- this.logger.debug('Missing required properties?', this.enforcedPropertiesMissing)
+ logger.debug('Missing required properties?', this.enforcedPropertiesMissing)
// Do not push yet if we need a password or an expiration date: show pending menu
// A share would require a review for example is default expiration date is set but not enforced, this allows
// the user to review the share and remove the expiration date if they don't want it
@@ -636,7 +636,7 @@ export default {
this.pending = true
this.shareCreationComplete = false
- this.logger.info('Share policy requires a review or has mandated properties (password, expirationDate)...')
+ logger.info('Share policy requires a review or has mandated properties (password, expirationDate)...')
// ELSE, show the pending popovermenu
// if password default or enforced, pre-fill with random one
@@ -664,13 +664,13 @@ export default {
// if the share is valid, create it on the server
if (this.checkShare(this.share)) {
try {
- this.logger.info('Sending existing share to server', this.share)
+ logger.info('Sending existing share to server', this.share)
await this.pushNewLinkShare(this.share, true)
this.shareCreationComplete = true
- this.logger.info('Share created on server', this.share)
+ logger.info('Share created on server', this.share)
} catch (e) {
this.pending = false
- this.logger.error('Error creating share', e)
+ logger.error('Error creating share', e)
return false
}
return true
diff --git a/apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php b/apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php
index cd3fb0568fa..75bee35d58a 100644
--- a/apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php
+++ b/apps/files_sharing/tests/Listener/LoadAdditionalListenerTest.php
@@ -16,6 +16,7 @@ use OCP\EventDispatcher\Event;
use OCP\IConfig;
use OCP\L10N\IFactory;
use OCP\Share\IManager;
+use OCP\Util;
use PHPUnit\Framework\MockObject\MockObject;
use Psr\Log\LoggerInterface;
use Test\TestCase;
@@ -37,6 +38,21 @@ class LoadAdditionalListenerTest extends TestCase {
$this->factory = $this->createMock(IFactory::class);
$this->initialStateService = $this->createMock(InitialStateService::class);
$this->config = $this->createMock(IConfig::class);
+
+ /* Empty static array to avoid inter-test conflicts */
+ \OC_Util::$styles = [];
+ self::invokePrivate(Util::class, 'scripts', [[]]);
+ self::invokePrivate(Util::class, 'scriptDeps', [[]]);
+ self::invokePrivate(Util::class, 'scriptsInit', [[]]);
+ }
+
+ protected function tearDown(): void {
+ parent::tearDown();
+
+ \OC_Util::$styles = [];
+ self::invokePrivate(Util::class, 'scripts', [[]]);
+ self::invokePrivate(Util::class, 'scriptDeps', [[]]);
+ self::invokePrivate(Util::class, 'scriptsInit', [[]]);
}
public function testHandleIgnoresNonMatchingEvent(): void {
@@ -61,7 +77,7 @@ class LoadAdditionalListenerTest extends TestCase {
$this->overwriteService(InitialStateService::class, $this->initialStateService);
$this->overwriteService(IConfig::class, $this->config);
- $scriptsBefore = \OCP\Util::getScripts();
+ $scriptsBefore = Util::getScripts();
$this->assertNotContains('files_sharing/l10n/language_mock', $scriptsBefore);
$this->assertNotContains('files_sharing/js/additionalScripts', $scriptsBefore);
$this->assertNotContains('files_sharing/js/init', $scriptsBefore);
@@ -71,14 +87,12 @@ class LoadAdditionalListenerTest extends TestCase {
$listener->handle($this->event);
// assert array $scripts contains the expected scripts
- $scriptsAfter = \OCP\Util::getScripts();
+ $scriptsAfter = Util::getScripts();
$this->assertContains('files_sharing/l10n/language_mock', $scriptsAfter);
$this->assertContains('files_sharing/js/additionalScripts', $scriptsAfter);
$this->assertNotContains('files_sharing/js/init', $scriptsAfter);
$this->assertContains('files_sharing/css/icons', \OC_Util::$styles);
-
- $this->assertTrue(true);
}
public function testHandleWithLoadAdditionalScriptsEventWithShareApiEnabled(): void {
@@ -92,17 +106,15 @@ class LoadAdditionalListenerTest extends TestCase {
$this->overwriteService(IConfig::class, $this->config);
$this->overwriteService(IFactory::class, $this->factory);
- $scriptsBefore = \OCP\Util::getScripts();
+ $scriptsBefore = Util::getScripts();
$this->assertNotContains('files_sharing/js/init', $scriptsBefore);
// Util static methods can't be easily mocked, so just ensure no exceptions
$listener->handle($this->event);
- $scriptsAfter = \OCP\Util::getScripts();
+ $scriptsAfter = Util::getScripts();
// assert array $scripts contains the expected scripts
$this->assertContains('files_sharing/js/init', $scriptsAfter);
-
- $this->assertTrue(true);
}
}
diff --git a/apps/files_trashbin/l10n/de.js b/apps/files_trashbin/l10n/de.js
index 75a7ce7d443..0c623ec6ad0 100644
--- a/apps/files_trashbin/l10n/de.js
+++ b/apps/files_trashbin/l10n/de.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "Ursprünglicher Ort",
"Deleted by" : "Gelöscht von",
"Deleted" : "Gelöscht",
+ "few seconds ago" : "Gerade eben",
"A long time ago" : "Vor langer Zeit",
"Unknown" : "Unbekannt",
"All files" : "Alle Dateien",
diff --git a/apps/files_trashbin/l10n/de.json b/apps/files_trashbin/l10n/de.json
index 6085c3ba2ee..d68fd5e470b 100644
--- a/apps/files_trashbin/l10n/de.json
+++ b/apps/files_trashbin/l10n/de.json
@@ -14,6 +14,7 @@
"Original location" : "Ursprünglicher Ort",
"Deleted by" : "Gelöscht von",
"Deleted" : "Gelöscht",
+ "few seconds ago" : "Gerade eben",
"A long time ago" : "Vor langer Zeit",
"Unknown" : "Unbekannt",
"All files" : "Alle Dateien",
diff --git a/apps/files_trashbin/l10n/de_DE.js b/apps/files_trashbin/l10n/de_DE.js
index 179a3689d7e..27b41dcea4d 100644
--- a/apps/files_trashbin/l10n/de_DE.js
+++ b/apps/files_trashbin/l10n/de_DE.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "Ursprünglicher Ort",
"Deleted by" : "Gelöscht von",
"Deleted" : "Gelöscht",
+ "few seconds ago" : "Gerade eben",
"A long time ago" : "Vor langer Zeit",
"Unknown" : "Unbekannt",
"All files" : "Alle Dateien",
diff --git a/apps/files_trashbin/l10n/de_DE.json b/apps/files_trashbin/l10n/de_DE.json
index 974d0a02b90..c4f1ca5ea43 100644
--- a/apps/files_trashbin/l10n/de_DE.json
+++ b/apps/files_trashbin/l10n/de_DE.json
@@ -14,6 +14,7 @@
"Original location" : "Ursprünglicher Ort",
"Deleted by" : "Gelöscht von",
"Deleted" : "Gelöscht",
+ "few seconds ago" : "Gerade eben",
"A long time ago" : "Vor langer Zeit",
"Unknown" : "Unbekannt",
"All files" : "Alle Dateien",
diff --git a/apps/files_trashbin/l10n/en_GB.js b/apps/files_trashbin/l10n/en_GB.js
index 6f450e00473..c54c8cd2bfe 100644
--- a/apps/files_trashbin/l10n/en_GB.js
+++ b/apps/files_trashbin/l10n/en_GB.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "Original location",
"Deleted by" : "Deleted by",
"Deleted" : "Deleted",
+ "few seconds ago" : "few seconds ago",
"A long time ago" : "A long time ago",
"Unknown" : "Unknown",
"All files" : "All files",
diff --git a/apps/files_trashbin/l10n/en_GB.json b/apps/files_trashbin/l10n/en_GB.json
index d48e62ffc1b..bbc5dcf3a1e 100644
--- a/apps/files_trashbin/l10n/en_GB.json
+++ b/apps/files_trashbin/l10n/en_GB.json
@@ -14,6 +14,7 @@
"Original location" : "Original location",
"Deleted by" : "Deleted by",
"Deleted" : "Deleted",
+ "few seconds ago" : "few seconds ago",
"A long time ago" : "A long time ago",
"Unknown" : "Unknown",
"All files" : "All files",
diff --git a/apps/files_trashbin/l10n/fr.js b/apps/files_trashbin/l10n/fr.js
index 80f31b30437..e79051e9182 100644
--- a/apps/files_trashbin/l10n/fr.js
+++ b/apps/files_trashbin/l10n/fr.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "Emplacement original",
"Deleted by" : "Supprimé par",
"Deleted" : "Supprimé",
+ "few seconds ago" : "Il y a quelques secondes",
"A long time ago" : "Il y a longtemps",
"Unknown" : "Inconnu",
"All files" : "Tous les fichiers",
diff --git a/apps/files_trashbin/l10n/fr.json b/apps/files_trashbin/l10n/fr.json
index d1de6ea7032..4f8e1aefcd0 100644
--- a/apps/files_trashbin/l10n/fr.json
+++ b/apps/files_trashbin/l10n/fr.json
@@ -14,6 +14,7 @@
"Original location" : "Emplacement original",
"Deleted by" : "Supprimé par",
"Deleted" : "Supprimé",
+ "few seconds ago" : "Il y a quelques secondes",
"A long time ago" : "Il y a longtemps",
"Unknown" : "Inconnu",
"All files" : "Tous les fichiers",
diff --git a/apps/files_trashbin/l10n/ga.js b/apps/files_trashbin/l10n/ga.js
index f7ef331d8c3..4ba726da2f2 100644
--- a/apps/files_trashbin/l10n/ga.js
+++ b/apps/files_trashbin/l10n/ga.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "Suíomh bunaidh",
"Deleted by" : "Scriosta ag",
"Deleted" : "Scriosta",
+ "few seconds ago" : "cúpla soicind ó shin",
"A long time ago" : "Fadó fadó",
"Unknown" : "Anaithnid",
"All files" : "Gach comhad",
diff --git a/apps/files_trashbin/l10n/ga.json b/apps/files_trashbin/l10n/ga.json
index 7420cb477f0..0f524a0a8f2 100644
--- a/apps/files_trashbin/l10n/ga.json
+++ b/apps/files_trashbin/l10n/ga.json
@@ -14,6 +14,7 @@
"Original location" : "Suíomh bunaidh",
"Deleted by" : "Scriosta ag",
"Deleted" : "Scriosta",
+ "few seconds ago" : "cúpla soicind ó shin",
"A long time ago" : "Fadó fadó",
"Unknown" : "Anaithnid",
"All files" : "Gach comhad",
diff --git a/apps/files_trashbin/l10n/ja.js b/apps/files_trashbin/l10n/ja.js
index a69b4f5179f..b57fdbce9db 100644
--- a/apps/files_trashbin/l10n/ja.js
+++ b/apps/files_trashbin/l10n/ja.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "元の場所",
"Deleted by" : "削除者",
"Deleted" : "削除日時",
+ "few seconds ago" : "数秒前",
"A long time ago" : "ずっと以前に",
"Unknown" : "不明",
"All files" : "すべてのファイル",
diff --git a/apps/files_trashbin/l10n/ja.json b/apps/files_trashbin/l10n/ja.json
index b6f02fd21b7..9acd7eab157 100644
--- a/apps/files_trashbin/l10n/ja.json
+++ b/apps/files_trashbin/l10n/ja.json
@@ -14,6 +14,7 @@
"Original location" : "元の場所",
"Deleted by" : "削除者",
"Deleted" : "削除日時",
+ "few seconds ago" : "数秒前",
"A long time ago" : "ずっと以前に",
"Unknown" : "不明",
"All files" : "すべてのファイル",
diff --git a/apps/files_trashbin/l10n/pt_BR.js b/apps/files_trashbin/l10n/pt_BR.js
index 6b13836148f..425819efc42 100644
--- a/apps/files_trashbin/l10n/pt_BR.js
+++ b/apps/files_trashbin/l10n/pt_BR.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "Localização original",
"Deleted by" : "Excluído por",
"Deleted" : "Excluído",
+ "few seconds ago" : "há alguns segundos",
"A long time ago" : "Há muito tempo",
"Unknown" : "Desconhecida",
"All files" : "Todos os arquivos",
diff --git a/apps/files_trashbin/l10n/pt_BR.json b/apps/files_trashbin/l10n/pt_BR.json
index c2f8ba9a033..9eafa1b21c6 100644
--- a/apps/files_trashbin/l10n/pt_BR.json
+++ b/apps/files_trashbin/l10n/pt_BR.json
@@ -14,6 +14,7 @@
"Original location" : "Localização original",
"Deleted by" : "Excluído por",
"Deleted" : "Excluído",
+ "few seconds ago" : "há alguns segundos",
"A long time ago" : "Há muito tempo",
"Unknown" : "Desconhecida",
"All files" : "Todos os arquivos",
diff --git a/apps/files_trashbin/l10n/sv.js b/apps/files_trashbin/l10n/sv.js
index fd50574e6fc..265736af1c8 100644
--- a/apps/files_trashbin/l10n/sv.js
+++ b/apps/files_trashbin/l10n/sv.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "Ursprunglig plats",
"Deleted by" : "Raderad av",
"Deleted" : "Borttagen",
+ "few seconds ago" : "några sekunder sedan",
"A long time ago" : "För länge sedan",
"Unknown" : "Okänd",
"All files" : "Alla filer",
diff --git a/apps/files_trashbin/l10n/sv.json b/apps/files_trashbin/l10n/sv.json
index 1bf54bf7379..c2ebb95fced 100644
--- a/apps/files_trashbin/l10n/sv.json
+++ b/apps/files_trashbin/l10n/sv.json
@@ -14,6 +14,7 @@
"Original location" : "Ursprunglig plats",
"Deleted by" : "Raderad av",
"Deleted" : "Borttagen",
+ "few seconds ago" : "några sekunder sedan",
"A long time ago" : "För länge sedan",
"Unknown" : "Okänd",
"All files" : "Alla filer",
diff --git a/apps/files_trashbin/l10n/uk.js b/apps/files_trashbin/l10n/uk.js
index c5c8319afb1..43f6a021a09 100644
--- a/apps/files_trashbin/l10n/uk.js
+++ b/apps/files_trashbin/l10n/uk.js
@@ -15,6 +15,7 @@ OC.L10N.register(
"Original location" : "Звідки вилучено",
"Deleted by" : "Ким вилучено",
"Deleted" : "Вилучено",
+ "few seconds ago" : "кілька секунд тому",
"A long time ago" : "Давно",
"Unknown" : "Невідомо",
"All files" : "Усі файли",
diff --git a/apps/files_trashbin/l10n/uk.json b/apps/files_trashbin/l10n/uk.json
index 3c4160893a2..dcef4ac3b36 100644
--- a/apps/files_trashbin/l10n/uk.json
+++ b/apps/files_trashbin/l10n/uk.json
@@ -13,6 +13,7 @@
"Original location" : "Звідки вилучено",
"Deleted by" : "Ким вилучено",
"Deleted" : "Вилучено",
+ "few seconds ago" : "кілька секунд тому",
"A long time ago" : "Давно",
"Unknown" : "Невідомо",
"All files" : "Усі файли",
diff --git a/apps/files_trashbin/l10n/zh_CN.js b/apps/files_trashbin/l10n/zh_CN.js
index 01d38f9b146..5d05961ec76 100644
--- a/apps/files_trashbin/l10n/zh_CN.js
+++ b/apps/files_trashbin/l10n/zh_CN.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "初始位置",
"Deleted by" : "删除者",
"Deleted" : "已删除",
+ "few seconds ago" : "几秒钟前",
"A long time ago" : "很久之前",
"Unknown" : "未知",
"All files" : "全部文件",
diff --git a/apps/files_trashbin/l10n/zh_CN.json b/apps/files_trashbin/l10n/zh_CN.json
index 6e6f307f2f6..5603ac5a94e 100644
--- a/apps/files_trashbin/l10n/zh_CN.json
+++ b/apps/files_trashbin/l10n/zh_CN.json
@@ -14,6 +14,7 @@
"Original location" : "初始位置",
"Deleted by" : "删除者",
"Deleted" : "已删除",
+ "few seconds ago" : "几秒钟前",
"A long time ago" : "很久之前",
"Unknown" : "未知",
"All files" : "全部文件",
diff --git a/apps/files_trashbin/l10n/zh_HK.js b/apps/files_trashbin/l10n/zh_HK.js
index b42546937ab..668a56dd4a2 100644
--- a/apps/files_trashbin/l10n/zh_HK.js
+++ b/apps/files_trashbin/l10n/zh_HK.js
@@ -16,6 +16,7 @@ OC.L10N.register(
"Original location" : "原先的位置",
"Deleted by" : "被以下人仕刪除",
"Deleted" : "已刪除",
+ "few seconds ago" : "幾秒前",
"A long time ago" : "很久以前",
"Unknown" : "不詳",
"All files" : "所有檔案",
diff --git a/apps/files_trashbin/l10n/zh_HK.json b/apps/files_trashbin/l10n/zh_HK.json
index 2c0fc46bb03..19227093f11 100644
--- a/apps/files_trashbin/l10n/zh_HK.json
+++ b/apps/files_trashbin/l10n/zh_HK.json
@@ -14,6 +14,7 @@
"Original location" : "原先的位置",
"Deleted by" : "被以下人仕刪除",
"Deleted" : "已刪除",
+ "few seconds ago" : "幾秒前",
"A long time ago" : "很久以前",
"Unknown" : "不詳",
"All files" : "所有檔案",
diff --git a/apps/files_versions/l10n/nl.js b/apps/files_versions/l10n/nl.js
index dba7e5bc48e..7500ff8b9f4 100644
--- a/apps/files_versions/l10n/nl.js
+++ b/apps/files_versions/l10n/nl.js
@@ -7,6 +7,7 @@ OC.L10N.register(
"Current version" : "Huidige versie",
"Initial version" : "Initiële versie",
"You" : "Jij",
+ "Actions for version from {versionHumanExplicitDate}" : "Acties voor versie van {versionHumanExplicitDate}",
"Name this version" : "Geef deze versie een naam",
"Edit version name" : "Bewerk versie naam",
"Compare to current version" : "Vergelijk met huidige versie",
@@ -22,6 +23,7 @@ OC.L10N.register(
"Version restored" : "Versie hersteld",
"Could not restore version" : "Kon versie niet herstellen",
"Could not set version label" : "Kon versie label niet instellen",
- "Could not delete version" : "Kon versie niet verwijderen"
+ "Could not delete version" : "Kon versie niet verwijderen",
+ "File versions" : "Bestandsversies"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/nl.json b/apps/files_versions/l10n/nl.json
index 425b5db0399..da0eb03c679 100644
--- a/apps/files_versions/l10n/nl.json
+++ b/apps/files_versions/l10n/nl.json
@@ -5,6 +5,7 @@
"Current version" : "Huidige versie",
"Initial version" : "Initiële versie",
"You" : "Jij",
+ "Actions for version from {versionHumanExplicitDate}" : "Acties voor versie van {versionHumanExplicitDate}",
"Name this version" : "Geef deze versie een naam",
"Edit version name" : "Bewerk versie naam",
"Compare to current version" : "Vergelijk met huidige versie",
@@ -20,6 +21,7 @@
"Version restored" : "Versie hersteld",
"Could not restore version" : "Kon versie niet herstellen",
"Could not set version label" : "Kon versie label niet instellen",
- "Could not delete version" : "Kon versie niet verwijderen"
+ "Could not delete version" : "Kon versie niet verwijderen",
+ "File versions" : "Bestandsversies"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/tests/StorageTest.php b/apps/files_versions/tests/StorageTest.php
index 592f03f5e63..443cff3ee06 100644
--- a/apps/files_versions/tests/StorageTest.php
+++ b/apps/files_versions/tests/StorageTest.php
@@ -49,10 +49,10 @@ class StorageTest extends TestCase {
protected function createPastFile(string $path, int $mtime): void {
try {
$file = $this->userFolder->get($path);
+ $file->putContent((string)$mtime);
} catch (NotFoundException $e) {
- $file = $this->userFolder->newFile($path);
+ $file = $this->userFolder->newFile($path, (string)$mtime);
}
- $file->putContent((string)$mtime);
$file->touch($mtime);
}
diff --git a/apps/oauth2/l10n/nl.js b/apps/oauth2/l10n/nl.js
index 5cd0b50fb54..f27d2a062d8 100644
--- a/apps/oauth2/l10n/nl.js
+++ b/apps/oauth2/l10n/nl.js
@@ -12,9 +12,12 @@ OC.L10N.register(
"Redirection URI" : "Omeiding URI",
"Client Identifier" : "Client identificatie",
"Secret key" : "Geheime sleutel",
+ "Delete client" : "Client verwijderen",
+ "Make sure you store the secret key, it cannot be recovered." : "Zorg ervoor dat je de geheime sleutel opslaat, deze kan niet worden hersteld.",
"Add client" : "Voeg client toe",
"Add" : "Toevoegen",
- "Show client secret" : "Tonen client secret",
+ "Show client secret" : "Geheime sleutel van cliënt weergeven",
+ "Hide client secret" : "Geheime sleutel van cliënt verbergen",
"Delete" : "verwijderen"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/oauth2/l10n/nl.json b/apps/oauth2/l10n/nl.json
index f0637c88e5a..c66631b5750 100644
--- a/apps/oauth2/l10n/nl.json
+++ b/apps/oauth2/l10n/nl.json
@@ -10,9 +10,12 @@
"Redirection URI" : "Omeiding URI",
"Client Identifier" : "Client identificatie",
"Secret key" : "Geheime sleutel",
+ "Delete client" : "Client verwijderen",
+ "Make sure you store the secret key, it cannot be recovered." : "Zorg ervoor dat je de geheime sleutel opslaat, deze kan niet worden hersteld.",
"Add client" : "Voeg client toe",
"Add" : "Toevoegen",
- "Show client secret" : "Tonen client secret",
+ "Show client secret" : "Geheime sleutel van cliënt weergeven",
+ "Hide client secret" : "Geheime sleutel van cliënt verbergen",
"Delete" : "verwijderen"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/profile/l10n/nl.js b/apps/profile/l10n/nl.js
index 944feec3e0f..63c6d1d0056 100644
--- a/apps/profile/l10n/nl.js
+++ b/apps/profile/l10n/nl.js
@@ -2,6 +2,8 @@ OC.L10N.register(
"profile",
{
"Profile" : "Profiel",
+ "This application provides the profile" : "Deze applicatie biedt het profiel",
+ "Provides a customisable user profile interface." : "Biedt een aanpasbare gebruikersprofielinterface.",
"You have not added any info yet" : "Je hebt nog geen info toegevoegd",
"{user} has not added any info yet" : "{user} heeft nog geen info toegevoegd",
"Error opening the user status modal, try hard refreshing the page" : "Fout bij het openen van het gebruiker status model, probeer een harde refresh van de pagina",
diff --git a/apps/profile/l10n/nl.json b/apps/profile/l10n/nl.json
index 534a8e535da..920d89bf38f 100644
--- a/apps/profile/l10n/nl.json
+++ b/apps/profile/l10n/nl.json
@@ -1,5 +1,7 @@
{ "translations": {
"Profile" : "Profiel",
+ "This application provides the profile" : "Deze applicatie biedt het profiel",
+ "Provides a customisable user profile interface." : "Biedt een aanpasbare gebruikersprofielinterface.",
"You have not added any info yet" : "Je hebt nog geen info toegevoegd",
"{user} has not added any info yet" : "{user} heeft nog geen info toegevoegd",
"Error opening the user status modal, try hard refreshing the page" : "Fout bij het openen van het gebruiker status model, probeer een harde refresh van de pagina",
diff --git a/apps/profile/l10n/sw.js b/apps/profile/l10n/sw.js
new file mode 100644
index 00000000000..5091aa159ee
--- /dev/null
+++ b/apps/profile/l10n/sw.js
@@ -0,0 +1,13 @@
+OC.L10N.register(
+ "profile",
+ {
+ "You have not added any info yet" : "Hujaongeza taarifa yoyote bado",
+ "{user} has not added any info yet" : "{user} hajaongeza taarifa yoyote bado",
+ "Error opening the user status modal, try hard refreshing the page" : "Hitilafu imetokea wakati wa kufungua modi ya hali ya mtumiaji, jaribu kuonyesha upya ukurasa kwa bidii",
+ "Edit Profile" : "Hariri wasifu",
+ "The headline and about sections will show up here" : "The headline and about sections will show up here",
+ "Profile not found" : "Wasifu haupatikani",
+ "The profile does not exist." : "Wasifu haupo",
+ "Back to %s" : "Rudi kwenye %s"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/profile/l10n/sw.json b/apps/profile/l10n/sw.json
new file mode 100644
index 00000000000..86a4dee089a
--- /dev/null
+++ b/apps/profile/l10n/sw.json
@@ -0,0 +1,11 @@
+{ "translations": {
+ "You have not added any info yet" : "Hujaongeza taarifa yoyote bado",
+ "{user} has not added any info yet" : "{user} hajaongeza taarifa yoyote bado",
+ "Error opening the user status modal, try hard refreshing the page" : "Hitilafu imetokea wakati wa kufungua modi ya hali ya mtumiaji, jaribu kuonyesha upya ukurasa kwa bidii",
+ "Edit Profile" : "Hariri wasifu",
+ "The headline and about sections will show up here" : "The headline and about sections will show up here",
+ "Profile not found" : "Wasifu haupatikani",
+ "The profile does not exist." : "Wasifu haupo",
+ "Back to %s" : "Rudi kwenye %s"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/provisioning_api/l10n/de.js b/apps/provisioning_api/l10n/de.js
index e407741f9d5..155d7f9c848 100644
--- a/apps/provisioning_api/l10n/de.js
+++ b/apps/provisioning_api/l10n/de.js
@@ -29,11 +29,11 @@ OC.L10N.register(
"Email address not available" : "E-Mail-Adresse nicht verfügbar",
"Sending email failed" : "Senden der E-Mail ist fehlgeschlagen",
"Email confirmation" : "E-Mail-Bestätigung",
- "To enable the email address %s please click the button below." : "Um die E-Mail-Adresse %s zu bestätigen, klicke bitte auf die untenstehende Schaltfläche.",
+ "To enable the email address %s please click the button below." : "Um die E-Mailadresse %s zu bestätigen, auf die untenstehende Schaltfläche klicken.",
"Confirm" : "Bestätigen",
"Email was already removed from account and cannot be confirmed anymore." : "Diese E-Mail-Adresse wurde bereits aus dem Konto entfernt und kann nicht mehr bestätigt werden.",
- "Could not verify mail because the token is expired." : "Die E-Mail konnte nicht verifiziert werden, da die Frist des Tokens abgelaufen ist.",
- "Could not verify mail because the token is invalid." : "Die E-Mail konnte nicht verifiziert werden, da der Token ungültig ist.",
+ "Could not verify mail because the token is expired." : "Die E-Mailadresse konnte nicht verifiziert werden, da das Token abgelaufen ist.",
+ "Could not verify mail because the token is invalid." : "Die E-Mailadresse konnte nicht verifiziert werden, da der Token ungültig ist.",
"An unexpected error occurred. Please contact your admin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere deine Administration.",
"Email confirmation successful" : "Die E-Mail Bestätigung war erfolgreich.",
"Provisioning API" : "Bereitstellungs-API",
diff --git a/apps/provisioning_api/l10n/de.json b/apps/provisioning_api/l10n/de.json
index 36249979fa4..0fa532f48cd 100644
--- a/apps/provisioning_api/l10n/de.json
+++ b/apps/provisioning_api/l10n/de.json
@@ -27,11 +27,11 @@
"Email address not available" : "E-Mail-Adresse nicht verfügbar",
"Sending email failed" : "Senden der E-Mail ist fehlgeschlagen",
"Email confirmation" : "E-Mail-Bestätigung",
- "To enable the email address %s please click the button below." : "Um die E-Mail-Adresse %s zu bestätigen, klicke bitte auf die untenstehende Schaltfläche.",
+ "To enable the email address %s please click the button below." : "Um die E-Mailadresse %s zu bestätigen, auf die untenstehende Schaltfläche klicken.",
"Confirm" : "Bestätigen",
"Email was already removed from account and cannot be confirmed anymore." : "Diese E-Mail-Adresse wurde bereits aus dem Konto entfernt und kann nicht mehr bestätigt werden.",
- "Could not verify mail because the token is expired." : "Die E-Mail konnte nicht verifiziert werden, da die Frist des Tokens abgelaufen ist.",
- "Could not verify mail because the token is invalid." : "Die E-Mail konnte nicht verifiziert werden, da der Token ungültig ist.",
+ "Could not verify mail because the token is expired." : "Die E-Mailadresse konnte nicht verifiziert werden, da das Token abgelaufen ist.",
+ "Could not verify mail because the token is invalid." : "Die E-Mailadresse konnte nicht verifiziert werden, da der Token ungültig ist.",
"An unexpected error occurred. Please contact your admin." : "Es ist ein unerwarteter Fehler aufgetreten, bitte kontaktiere deine Administration.",
"Email confirmation successful" : "Die E-Mail Bestätigung war erfolgreich.",
"Provisioning API" : "Bereitstellungs-API",
diff --git a/apps/provisioning_api/l10n/ru.js b/apps/provisioning_api/l10n/ru.js
index 604a71392e7..7fa4c8d7e81 100644
--- a/apps/provisioning_api/l10n/ru.js
+++ b/apps/provisioning_api/l10n/ru.js
@@ -1,8 +1,33 @@
OC.L10N.register(
"provisioning_api",
{
- "Logged in user must be an administrator or have authorization to edit this setting." : "Вошедший пользователь должен быть администратором или иметь полномочия для редактирования этого параметра.",
+ "Logged in account must be an administrator or have authorization to edit this setting." : "Для изменения этого параметра необходимо быть администратором или иметь соответствующие права.",
+ "Could not create non-existing user ID" : "Невозможно создать несуществующий идентификатор пользователя",
"User already exists" : "Пользователь уже существует",
+ "Group %1$s does not exist" : "Группа %1$s не существует",
+ "Insufficient privileges for group %1$s" : "Недостаточно прав для группы %1$s",
+ "No group specified (required for sub-admins)" : "Группа не указана (обязательно для субадминистраторов)",
+ "Sub-admin group does not exist" : "Группа субадминистратора не существует",
+ "Cannot create sub-admins for admin group" : "Нельзя назначить субадминистраторов для группы администраторов",
+ "No permissions to promote sub-admins" : "Недостаточно прав для назначения субадминистраторов",
+ "Invalid password value" : "Некорректное значение пароля",
+ "An email address is required, to send a password link to the user." : "Требуется адрес электронной почты для отправки ссылки на установку пароля пользователю.",
+ "Required email address was not provided" : "Не указан обязательный адрес электронной почты",
+ "Invalid quota value: %1$s" : "Недопустимое значение квоты: %1$s",
+ "Invalid quota value. %1$s is exceeding the maximum quota" : "Недопустимое значение квоты.%1$s превышает максимальное значение",
+ "Unlimited quota is forbidden on this instance" : "Безлимитная квота запрещена в этом инстансе",
+ "Setting the password is not supported by the users backend" : "Установка пароля не поддерживается используемой системой управления пользователями",
+ "Invalid language" : "Недопустимый язык",
+ "Invalid locale" : "Недопустимая локаль",
+ "Invalid first day of week" : "Недопустимый первый день недели",
+ "Cannot remove yourself from the admin group" : "Нельзя удалить себя из группы администраторов",
+ "Cannot remove yourself from this group as you are a sub-admin" : "Нельзя удалить себя из этой группы, так как вы являетесь субадминистратором",
+ "Not viable to remove user from the last group you are sub-admin of" : "Нельзя удалить пользователя из последней группы, в которой вы являетесь субадминистратором",
+ "User does not exist" : "Пользователь не существует",
+ "Group does not exist" : "Группа не существует",
+ "User is not a sub-admin of this group" : "Пользователь не является субадминистратором этой группы",
+ "Email address not available" : "Адрес электронной почты недоступен",
+ "Sending email failed" : "Не удалось отправить письмо",
"Email confirmation" : "Подтверждение электронной почты",
"To enable the email address %s please click the button below." : "Чтобы включить адрес электронной почты %s, пожалуйста, нажмите на кнопку ниже.",
"Confirm" : "Подтвердить",
@@ -12,7 +37,7 @@ OC.L10N.register(
"An unexpected error occurred. Please contact your admin." : "Произошла неизвестная ошибка. Пожалуйста, свяжитесь с администратором.",
"Email confirmation successful" : "Электронная почта подтверждена",
"Provisioning API" : "Provisioning API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Это приложение предоставляет API, которое может использоваться внешними системами для управления пользователями, группами и приложениями.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API-интерфейсов, которые внешние системы могут использовать для создания, редактирования, удаления и запроса пользователя\n\t\tатрибуты, запрос, установка и удаление групп, установка квоты и запрос общего хранилища, используемого в Nextcloud. Пользователи-администраторы группы\n\t\tтакже может запрашивать Nextcloud и выполнять те же функции, что и администратор, для групп, которыми они управляют. API также позволяет\n\t\tадминистратору запрос активных приложений Nextcloud, информации о приложении, а также для удаленного включения или отключения приложения.\n\t\tПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любых функций.\n\t\tДополнительная информация доступна в документации по Provisioning API, включая примеры вызовов.\n\t\tи ответы сервера."
+ "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Это приложение предоставляет набор API, которые внешние системы могут использовать для управления учётными записями, группами и приложениями.",
+ "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API, которые внешние системы могут использовать для создания, редактирования, удаления и запроса атрибутов учетной записи, запроса, установки и удаления групп, установки квоты и запроса общего хранилища, используемого в Nextcloud. Учетные записи администратора группы\nтакже могут запрашивать Nextcloud и выполнять те же функции, что и администратор для групп, которыми они управляют. API также позволяет\nадминистратору запрашивать активные приложения Nextcloud, информацию о приложении и включать или отключать приложение удаленно.\nПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любой из функций,\nперечисленных выше. Дополнительная информация доступна в документации API Provisioning, включая примеры вызовов\nи ответы сервера."
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/provisioning_api/l10n/ru.json b/apps/provisioning_api/l10n/ru.json
index d2e5e4f12cc..41989b6ba29 100644
--- a/apps/provisioning_api/l10n/ru.json
+++ b/apps/provisioning_api/l10n/ru.json
@@ -1,6 +1,31 @@
{ "translations": {
- "Logged in user must be an administrator or have authorization to edit this setting." : "Вошедший пользователь должен быть администратором или иметь полномочия для редактирования этого параметра.",
+ "Logged in account must be an administrator or have authorization to edit this setting." : "Для изменения этого параметра необходимо быть администратором или иметь соответствующие права.",
+ "Could not create non-existing user ID" : "Невозможно создать несуществующий идентификатор пользователя",
"User already exists" : "Пользователь уже существует",
+ "Group %1$s does not exist" : "Группа %1$s не существует",
+ "Insufficient privileges for group %1$s" : "Недостаточно прав для группы %1$s",
+ "No group specified (required for sub-admins)" : "Группа не указана (обязательно для субадминистраторов)",
+ "Sub-admin group does not exist" : "Группа субадминистратора не существует",
+ "Cannot create sub-admins for admin group" : "Нельзя назначить субадминистраторов для группы администраторов",
+ "No permissions to promote sub-admins" : "Недостаточно прав для назначения субадминистраторов",
+ "Invalid password value" : "Некорректное значение пароля",
+ "An email address is required, to send a password link to the user." : "Требуется адрес электронной почты для отправки ссылки на установку пароля пользователю.",
+ "Required email address was not provided" : "Не указан обязательный адрес электронной почты",
+ "Invalid quota value: %1$s" : "Недопустимое значение квоты: %1$s",
+ "Invalid quota value. %1$s is exceeding the maximum quota" : "Недопустимое значение квоты.%1$s превышает максимальное значение",
+ "Unlimited quota is forbidden on this instance" : "Безлимитная квота запрещена в этом инстансе",
+ "Setting the password is not supported by the users backend" : "Установка пароля не поддерживается используемой системой управления пользователями",
+ "Invalid language" : "Недопустимый язык",
+ "Invalid locale" : "Недопустимая локаль",
+ "Invalid first day of week" : "Недопустимый первый день недели",
+ "Cannot remove yourself from the admin group" : "Нельзя удалить себя из группы администраторов",
+ "Cannot remove yourself from this group as you are a sub-admin" : "Нельзя удалить себя из этой группы, так как вы являетесь субадминистратором",
+ "Not viable to remove user from the last group you are sub-admin of" : "Нельзя удалить пользователя из последней группы, в которой вы являетесь субадминистратором",
+ "User does not exist" : "Пользователь не существует",
+ "Group does not exist" : "Группа не существует",
+ "User is not a sub-admin of this group" : "Пользователь не является субадминистратором этой группы",
+ "Email address not available" : "Адрес электронной почты недоступен",
+ "Sending email failed" : "Не удалось отправить письмо",
"Email confirmation" : "Подтверждение электронной почты",
"To enable the email address %s please click the button below." : "Чтобы включить адрес электронной почты %s, пожалуйста, нажмите на кнопку ниже.",
"Confirm" : "Подтвердить",
@@ -10,7 +35,7 @@
"An unexpected error occurred. Please contact your admin." : "Произошла неизвестная ошибка. Пожалуйста, свяжитесь с администратором.",
"Email confirmation successful" : "Электронная почта подтверждена",
"Provisioning API" : "Provisioning API",
- "This application enables a set of APIs that external systems can use to manage users, groups and apps." : "Это приложение предоставляет API, которое может использоваться внешними системами для управления пользователями, группами и приложениями.",
- "This application enables a set of APIs that external systems can use to create, edit, delete and query user\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin users\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API-интерфейсов, которые внешние системы могут использовать для создания, редактирования, удаления и запроса пользователя\n\t\tатрибуты, запрос, установка и удаление групп, установка квоты и запрос общего хранилища, используемого в Nextcloud. Пользователи-администраторы группы\n\t\tтакже может запрашивать Nextcloud и выполнять те же функции, что и администратор, для групп, которыми они управляют. API также позволяет\n\t\tадминистратору запрос активных приложений Nextcloud, информации о приложении, а также для удаленного включения или отключения приложения.\n\t\tПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любых функций.\n\t\tДополнительная информация доступна в документации по Provisioning API, включая примеры вызовов.\n\t\tи ответы сервера."
+ "This application enables a set of APIs that external systems can use to manage accounts, groups and apps." : "Это приложение предоставляет набор API, которые внешние системы могут использовать для управления учётными записями, группами и приложениями.",
+ "This application enables a set of APIs that external systems can use to create, edit, delete and query account\n\t\tattributes, query, set and remove groups, set quota and query total storage used in Nextcloud. Group admin accounts\n\t\tcan also query Nextcloud and perform the same functions as an admin for groups they manage. The API also enables\n\t\tan admin to query for active Nextcloud applications, application info, and to enable or disable an app remotely.\n\t\tOnce the app is enabled, HTTP requests can be used via a Basic Auth header to perform any of the functions\n\t\tlisted above. More information is available in the Provisioning API documentation, including example calls\n\t\tand server responses." : "Это приложение включает набор API, которые внешние системы могут использовать для создания, редактирования, удаления и запроса атрибутов учетной записи, запроса, установки и удаления групп, установки квоты и запроса общего хранилища, используемого в Nextcloud. Учетные записи администратора группы\nтакже могут запрашивать Nextcloud и выполнять те же функции, что и администратор для групп, которыми они управляют. API также позволяет\nадминистратору запрашивать активные приложения Nextcloud, информацию о приложении и включать или отключать приложение удаленно.\nПосле включения приложения HTTP-запросы можно использовать через заголовок Basic Auth для выполнения любой из функций,\nперечисленных выше. Дополнительная информация доступна в документации API Provisioning, включая примеры вызовов\nи ответы сервера."
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/et_EE.js b/apps/settings/l10n/et_EE.js
index e7fe29f42dd..82324a67341 100644
--- a/apps/settings/l10n/et_EE.js
+++ b/apps/settings/l10n/et_EE.js
@@ -33,8 +33,8 @@ OC.L10N.register(
"Your <strong>group memberships</strong> were modified" : "Sinu <strong>grupide liikmelisus</strong> on muutunud",
"{actor} changed your password" : "{actor} muutis sinu salasõna",
"You changed your password" : "Sa muutsid oma salasõna",
- "Your password was reset by an administrator" : "Administraator lähtestas sinu parooli",
- "Your password was reset" : "Sinu parool lähtestati",
+ "Your password was reset by an administrator" : "Peakasutaja lähtestas sinu salasõna",
+ "Your password was reset" : "Sinu salasõna on lähtestatud",
"{actor} changed your email address" : "{actor} muutis sinu e-posti aadressi",
"You changed your email address" : "Sa muutsid oma e-posti aadressi",
"Your email address was changed by an administrator" : "Administraator muutis sinu e-posti aadressi",
@@ -49,7 +49,7 @@ OC.L10N.register(
"A login attempt using two-factor authentication failed (%1$s)" : "Sisselogimiskatse kaheastmelise autentimisega ebaõnnestus (%1$s)",
"Remote wipe was started on %1$s" : "Kaugkustutamine algas: %1$s",
"Remote wipe has finished on %1$s" : "Kaugkustutamine lõppes: %1$s",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sinu <strong>parooli</strong> või <strong>e-posti aadressi</strong> muudeti",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sinu <strong>salasõna</strong> või <strong>e-posti aadress</strong> on muudetud",
"Settings" : "Seaded",
"Could not remove app." : "Rakenduse eemaldamine ei õnnestunud.",
"Could not update app." : "Rakenduse uuendamine ei õnnestunud.",
@@ -65,7 +65,7 @@ OC.L10N.register(
"Administrator documentation" : "Administraatori dokumentatsioon",
"User documentation" : "Kasutaja dokumentatsioon",
"Nextcloud help overview" : "Nextcloudi abiteabe ülevaade",
- "Invalid SMTP password." : "Vale SMTP parool.",
+ "Invalid SMTP password." : "Vale SMTP salasõna.",
"Email setting test" : "E-posti sätete kontroll",
"Well done, %s!" : "Hästi tehtud, %s!",
"If you received this email, the email configuration seems to be correct." : "Kui said selle kirja, näib e-posti seadistus õige.",
@@ -83,12 +83,13 @@ OC.L10N.register(
"Unable to set invalid website" : "Vigase veebisaidi lisamine pole võimalik",
"Some account data was invalid" : "Osa kasutajakonto andmeid olid vigased",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Selleks, et tuvastada, et tegemist tõesti on sinu X-i / Twitteri kasutajakontoga, palun postita oma kontole järgnev säuts (palun kontrolli, et sinna ei satuks reavahetusi):",
- "%1$s changed your password on %2$s." : "%1$s muutis su parooli %2$s.",
- "Your password on %s was changed." : "Sinu %s parool muudeti.",
- "Your password on %s was reset by an administrator." : "Administraator lähtestas sinu %s parooli.",
+ "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Sinu veebisaidi õigsuse kontrolliks palun salvesta järgnev sisu oma saiti asukohta „.well-known/CloudIdVerificationCode.txt“ (ning kontrolli, et järgnev tekst on seal failis ühel real):",
+ "%1$s changed your password on %2$s." : "%1$s muutis sinu salasõna teenuses %2$s.",
+ "Your password on %s was changed." : "Sinu %s salasõna on muudetud.",
+ "Your password on %s was reset by an administrator." : "Peakasutaja lähtestas sinu %s salasõna.",
"Your password on %s was reset." : "Sinu salasõna „%s“ sai lähtestatud.",
- "Password for %1$s changed on %2$s" : "%1$s parool muudetud %2$s",
- "Password changed for %s" : "%s parool muudetud",
+ "Password for %1$s changed on %2$s" : "%1$s salasõna teenuses %2$s on muutunud",
+ "Password changed for %s" : "%s salasõna on muudetud",
"If you did not request this, please contact an administrator." : "Kui sa pole seda taotlenud, võta ühendust administraatoriga.",
"Your email address on %s was changed." : "Sinu %s e-posti aadressi muudeti.",
"Your email address on %s was changed by an administrator." : "Administraator muutis sinu %s e-posti aadressi.",
@@ -100,7 +101,7 @@ OC.L10N.register(
"Welcome aboard %s" : "Tere tulemast %s",
"Welcome to your %s account, you can add, protect, and share your data." : "Tere tulemast oma %s kontole. Sa saad lisada, kaitsta ja jagada oma andmeid.",
"Your Login is: %s" : "Sinu kasutajanimi on: %s",
- "Set your password" : "Määra oma parool",
+ "Set your password" : "Sisesta oma salasõna",
"Go to %s" : "Mine %s",
"Install Client" : "Paigalda kliendiprogramm",
"Logged in account must be a sub admin" : "Sisselogitud kasutajakonto peab olema peakasutajate alamgrupi liige",
@@ -121,17 +122,22 @@ OC.L10N.register(
"Mobile & desktop" : "Mobiil ja töölaud",
"Email server" : "E-kirjade server",
"Mail Providers" : "E-posti teenusepakkujad",
- "User's email account" : "Kasutaja e-postikonto",
- "System email account" : "Süsteemi e-posti konto",
+ "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Lisaks järgnevale üldisele valikule on võimalik ka isikliku e-postiikonto kasutamine. Hetkel toimib see võimalus vaid Nextcloudi kalendrikutsete puhul ning eelduseks on Nextcloud Mail 4.1 või suurem ning seal seadistatud e-postikonto vastab kasutaja e-postiaadressile Nextcloudi profiilis.",
+ "Send emails using" : "E-kirjade saatmisel on kasutusel",
+ "User's email account" : "Kasutaja seadistatud e-postikonto",
+ "System email account" : "Süsteemis seadistatud e-postikonto",
"Security & setup checks" : "Turva- ja paigalduse kontrollid",
"Background jobs" : "Taustal toimivad haldustoimingud",
"Unlimited" : "Piiramatult",
"Verifying" : "Kontrollin",
- "Allowed admin IP ranges" : "Süsteemihalduseks lubatud IP-aadresside filtreerimine",
- "Admin IP filtering isn't applied." : "Süsteemihalduseks lubatud IP-aadresside filtreerimine pole kasutusel.",
+ "Allowed admin IP ranges" : "Süsteemihalduseks lubatud IP-aadresside vahemikus",
+ "Admin IP filtering isn't applied." : "Süsteemihalduseks lubatud IP-aadresside vahemikud pole seadistatud.",
"Configuration key \"%1$s\" expects an array (%2$s found). Admin IP range validation will not be applied." : "Seadistuste võtmes „%1$s“ peab olema kirjas massiiv ( aga leidsime „%2$s“). Süsteemihalduseks lubatud IP-aadresside filtreerimine hetkel ei toimi.",
"Configuration key \"%1$s\" contains invalid IP range(s): \"%2$s\"" : "Seadistuste võtmes „%1$s“ on vigane IP-aadressi(de) vahemik: „%2$s“",
"Admin IP filtering is correctly configured." : "Süsteemihalduseks lubatud IP-aadresside filtreerimine on korrektselt seadistatud.",
+ "App directories owner" : "Rakenduste kausta omanik",
+ "Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:\n%s" : "Mõnede rakenduste kaustade omanik erinev kogu Nextcloudi serveri omanikust. Nii võib juhtuda, kui rakendused on paigaldatud käsitsi. Palun kontrolli järgnevate rakenduste kaustade omanikke:\n%s",
+ "App directories have the correct owner \"%s\"" : "Rakenduste kaustadel on korrektne omanik: „%s“",
"Your remote address could not be determined." : "Sinu kaugaadressi tuvastamine ei õnnestunud.",
"No altered files" : "Muudetud faile pole",
"Database missing primary keys" : "Andmebaasis on puudu primaarvõtmed",
@@ -141,6 +147,7 @@ OC.L10N.register(
"Mail delivery is disabled by instance config \"%s\"." : "Selles serveris piirab e-kirjade edasisaatmist seadistus „%s“.",
"Email test was successfully sent" : "Testkirja saatmine õnnestus",
"Your \"trusted_proxies\" setting is not correctly set, it should be an array." : "Serveri „trusted_proxies“ seadistus pole korrektne - seal peab leiduma massiiv, aga hetkel on midagi muud.",
+ "This server has no working internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the internet to enjoy all features." : "Sellel serveril puudub toimiv internetiühendus: mitmete otspunktidega ei ole leitavad. See tähendab, et mõned funktsionaalsused, nagu näiteks väliste andmehoidlate ühendamine, uuenduste teavitused või kolmandate osapoolte rakenduste paigaldamine ei tööta. Ligipääs failidele eemalt ning teavistuste saatmine e-kirjaga ei pruugi samuti toimida. Kui soovid kasutada täielikku funktsionaalsust, siis palun taga toimiv internetiühendus.",
"Old server-side-encryption" : "Vana serveripoolne krüptimine",
"Disabled" : "Keelatud",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Vana serveripoolse krüptimise vorming on kasutusel. Mes soovitame, et lülitad selle välja.",
@@ -208,8 +215,8 @@ OC.L10N.register(
"Restrict users to only share with users in their groups" : "Luba kasutajatel jagada kasutajatega ainult oma grupi piires",
"Allow users to share via link and emails" : "Luba kasutajatel lingiga ja e-postiga jagamist",
"Allow public uploads" : "Luba avalikud üleslaadimised",
- "Always ask for a password" : "Alati küsi parooli",
- "Enforce password protection" : "Jõusta paroolikaitse",
+ "Always ask for a password" : "Alati küsi salasõna",
+ "Enforce password protection" : "Jõusta salasõnakaitse",
"Exclude groups from password requirements" : "Välista grupid salasõnareeglitest",
"Exclude groups from creating link shares" : "Välista grupid jagamislinkide loomisest",
"Limit sharing based on groups" : "Piira jagamist gruppide alusel",
@@ -217,9 +224,11 @@ OC.L10N.register(
"Exclude some groups from sharing" : "Välista mõned grupid jagamisest",
"Limit sharing to some groups" : "Piira jagamist mõnede gruppidega",
"Groups excluded from sharing" : "Jagamisest välistatud grupid",
+ "Set default expiration date for internal shares" : "Jagamisel selle serveri piires kasuta vaikimisi aegumist",
"Enforce expiration date" : "Sunnitud aegumise kuupäev",
"Default expiration time of new shares in days" : "Uue jaosmeedia vaikimisi aegumine päevades",
"Expire shares after x days" : "Jaosmeedia aegub x päeva möödudes",
+ "Set default expiration date for shares to other servers" : "Jagamisel teistesse serveritesse kasuta vaikimisi aegumist",
"Enforce expiration date for remote shares" : "Määra lingi kaugserverid asuva jaosmeedia vaikimisi aegumiskuupäev ",
"Default expiration time of remote shares in days" : "Kaugserveris asuva jaosmeedia vaikimisi aegumine päevades",
"Expire remote shares after x days" : "Jaosmeedia aegub x päeva möödudes",
@@ -229,6 +238,7 @@ OC.L10N.register(
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Kuva avaliku lingiga üleslaadimise lehel lahtiütluste tekst (vaid siis, kui failide loend on peidetud)",
"Disclaimer text" : "Vastutusest lahtiütluse tekst",
"This text will be shown on the public link upload page when the file list is hidden." : "Seda teksti näidatakse avaliku lingiga üleslaadimise lehel kui failide loend on peidetud.",
+ "Default share permissions" : "Vaikimisi õigusel jagamisel",
"Two-Factor Authentication" : "Kaheastmeline autentimine",
"Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Kaheastmelist autentimist on võimalik teha kohustuslikuks kas kõikidele kasutajakontodele või konkreetsete gruppide kaupa. Kui kaheastmelise autentimise kohustuslikkus on määratud, kuid on kasutajal seadistamata, siis ta ei saa siia serverisse sisse logida.",
"Enforce two-factor authentication" : "Tee kaheastmeline autentimine kohustuslikuks",
@@ -349,7 +359,7 @@ OC.L10N.register(
"Web, desktop and mobile clients currently logged in to your account." : "Sinu kontole hetkel sisse loginud veebi-, töölaua-, ja mobiilsed kliendid.",
"Error while creating device token" : "Tõrge seadme märke loomisel",
"App name" : "Rakenduse nimi",
- "Create new app password" : "Loo uus rakenduse parool",
+ "Create new app password" : "Loo uus rakenduse salasõna",
"App password copied!" : "Rakenduse salasõna on kopeeritud!",
"Copy app password" : "Kopeeri rakenduse salasõna",
"Login name copied!" : "Kasutajanimi on koeeritud!",
@@ -529,6 +539,7 @@ OC.L10N.register(
"Set account as admin for" : "Määra kasutajakonto peakasutajaks siin:",
"Select account quota" : "Määra kasutajakonto kvoot",
"Set the language" : "Vali keel",
+ "Toggle account actions menu" : "Lülita kasutajakonto tegevuste menüü sisse/välja",
"Done" : "Valmis",
"Edit" : "Muuda",
"Account management settings" : "Kasutajakontode halduse seadistused",
@@ -560,8 +571,13 @@ OC.L10N.register(
"No devices configured." : "Ühtegi seadet pole seadistatud.",
"The following devices are configured for your account:" : "Järgmised seadmed on seadistatud kasutama sinu kontot:",
"Your browser does not support WebAuthn." : "Sinu veebibrauseril puudub WebAuthni tugi.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saate jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saad jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
"You need to enable the File sharing App." : "Sa pead kasutusele võtma Failijagamise rakenduse.",
+ "App Store" : "Rakendustepood",
+ "Loading app list" : "Laadin rakenduste loendit",
+ "Loading categories" : "Laadin kategooriaid",
+ "Developer documentation ↗" : "Dokumentatsioon arendajatele ↗",
+ "Version {version}, {license}-licensed" : "Versioon {version}, avaldatud {license} litsentsi alusel",
"Version {version}" : "Versioon {version}",
"All accounts" : "Kõik kasutajakontod",
"Admins" : "Haldurid",
diff --git a/apps/settings/l10n/et_EE.json b/apps/settings/l10n/et_EE.json
index a27534910f2..d23ba11a232 100644
--- a/apps/settings/l10n/et_EE.json
+++ b/apps/settings/l10n/et_EE.json
@@ -31,8 +31,8 @@
"Your <strong>group memberships</strong> were modified" : "Sinu <strong>grupide liikmelisus</strong> on muutunud",
"{actor} changed your password" : "{actor} muutis sinu salasõna",
"You changed your password" : "Sa muutsid oma salasõna",
- "Your password was reset by an administrator" : "Administraator lähtestas sinu parooli",
- "Your password was reset" : "Sinu parool lähtestati",
+ "Your password was reset by an administrator" : "Peakasutaja lähtestas sinu salasõna",
+ "Your password was reset" : "Sinu salasõna on lähtestatud",
"{actor} changed your email address" : "{actor} muutis sinu e-posti aadressi",
"You changed your email address" : "Sa muutsid oma e-posti aadressi",
"Your email address was changed by an administrator" : "Administraator muutis sinu e-posti aadressi",
@@ -47,7 +47,7 @@
"A login attempt using two-factor authentication failed (%1$s)" : "Sisselogimiskatse kaheastmelise autentimisega ebaõnnestus (%1$s)",
"Remote wipe was started on %1$s" : "Kaugkustutamine algas: %1$s",
"Remote wipe has finished on %1$s" : "Kaugkustutamine lõppes: %1$s",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sinu <strong>parooli</strong> või <strong>e-posti aadressi</strong> muudeti",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Sinu <strong>salasõna</strong> või <strong>e-posti aadress</strong> on muudetud",
"Settings" : "Seaded",
"Could not remove app." : "Rakenduse eemaldamine ei õnnestunud.",
"Could not update app." : "Rakenduse uuendamine ei õnnestunud.",
@@ -63,7 +63,7 @@
"Administrator documentation" : "Administraatori dokumentatsioon",
"User documentation" : "Kasutaja dokumentatsioon",
"Nextcloud help overview" : "Nextcloudi abiteabe ülevaade",
- "Invalid SMTP password." : "Vale SMTP parool.",
+ "Invalid SMTP password." : "Vale SMTP salasõna.",
"Email setting test" : "E-posti sätete kontroll",
"Well done, %s!" : "Hästi tehtud, %s!",
"If you received this email, the email configuration seems to be correct." : "Kui said selle kirja, näib e-posti seadistus õige.",
@@ -81,12 +81,13 @@
"Unable to set invalid website" : "Vigase veebisaidi lisamine pole võimalik",
"Some account data was invalid" : "Osa kasutajakonto andmeid olid vigased",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Selleks, et tuvastada, et tegemist tõesti on sinu X-i / Twitteri kasutajakontoga, palun postita oma kontole järgnev säuts (palun kontrolli, et sinna ei satuks reavahetusi):",
- "%1$s changed your password on %2$s." : "%1$s muutis su parooli %2$s.",
- "Your password on %s was changed." : "Sinu %s parool muudeti.",
- "Your password on %s was reset by an administrator." : "Administraator lähtestas sinu %s parooli.",
+ "In order to verify your Website, store the following content in your web-root at '.well-known/CloudIdVerificationCode.txt' (please make sure that the complete text is in one line):" : "Sinu veebisaidi õigsuse kontrolliks palun salvesta järgnev sisu oma saiti asukohta „.well-known/CloudIdVerificationCode.txt“ (ning kontrolli, et järgnev tekst on seal failis ühel real):",
+ "%1$s changed your password on %2$s." : "%1$s muutis sinu salasõna teenuses %2$s.",
+ "Your password on %s was changed." : "Sinu %s salasõna on muudetud.",
+ "Your password on %s was reset by an administrator." : "Peakasutaja lähtestas sinu %s salasõna.",
"Your password on %s was reset." : "Sinu salasõna „%s“ sai lähtestatud.",
- "Password for %1$s changed on %2$s" : "%1$s parool muudetud %2$s",
- "Password changed for %s" : "%s parool muudetud",
+ "Password for %1$s changed on %2$s" : "%1$s salasõna teenuses %2$s on muutunud",
+ "Password changed for %s" : "%s salasõna on muudetud",
"If you did not request this, please contact an administrator." : "Kui sa pole seda taotlenud, võta ühendust administraatoriga.",
"Your email address on %s was changed." : "Sinu %s e-posti aadressi muudeti.",
"Your email address on %s was changed by an administrator." : "Administraator muutis sinu %s e-posti aadressi.",
@@ -98,7 +99,7 @@
"Welcome aboard %s" : "Tere tulemast %s",
"Welcome to your %s account, you can add, protect, and share your data." : "Tere tulemast oma %s kontole. Sa saad lisada, kaitsta ja jagada oma andmeid.",
"Your Login is: %s" : "Sinu kasutajanimi on: %s",
- "Set your password" : "Määra oma parool",
+ "Set your password" : "Sisesta oma salasõna",
"Go to %s" : "Mine %s",
"Install Client" : "Paigalda kliendiprogramm",
"Logged in account must be a sub admin" : "Sisselogitud kasutajakonto peab olema peakasutajate alamgrupi liige",
@@ -119,17 +120,22 @@
"Mobile & desktop" : "Mobiil ja töölaud",
"Email server" : "E-kirjade server",
"Mail Providers" : "E-posti teenusepakkujad",
- "User's email account" : "Kasutaja e-postikonto",
- "System email account" : "Süsteemi e-posti konto",
+ "Mail provider enables sending emails directly through the user's personal email account. At present, this functionality is limited to calendar invitations. It requires Nextcloud Mail 4.1 and an email account in Nextcloud Mail that matches the user's email address in Nextcloud." : "Lisaks järgnevale üldisele valikule on võimalik ka isikliku e-postiikonto kasutamine. Hetkel toimib see võimalus vaid Nextcloudi kalendrikutsete puhul ning eelduseks on Nextcloud Mail 4.1 või suurem ning seal seadistatud e-postikonto vastab kasutaja e-postiaadressile Nextcloudi profiilis.",
+ "Send emails using" : "E-kirjade saatmisel on kasutusel",
+ "User's email account" : "Kasutaja seadistatud e-postikonto",
+ "System email account" : "Süsteemis seadistatud e-postikonto",
"Security & setup checks" : "Turva- ja paigalduse kontrollid",
"Background jobs" : "Taustal toimivad haldustoimingud",
"Unlimited" : "Piiramatult",
"Verifying" : "Kontrollin",
- "Allowed admin IP ranges" : "Süsteemihalduseks lubatud IP-aadresside filtreerimine",
- "Admin IP filtering isn't applied." : "Süsteemihalduseks lubatud IP-aadresside filtreerimine pole kasutusel.",
+ "Allowed admin IP ranges" : "Süsteemihalduseks lubatud IP-aadresside vahemikus",
+ "Admin IP filtering isn't applied." : "Süsteemihalduseks lubatud IP-aadresside vahemikud pole seadistatud.",
"Configuration key \"%1$s\" expects an array (%2$s found). Admin IP range validation will not be applied." : "Seadistuste võtmes „%1$s“ peab olema kirjas massiiv ( aga leidsime „%2$s“). Süsteemihalduseks lubatud IP-aadresside filtreerimine hetkel ei toimi.",
"Configuration key \"%1$s\" contains invalid IP range(s): \"%2$s\"" : "Seadistuste võtmes „%1$s“ on vigane IP-aadressi(de) vahemik: „%2$s“",
"Admin IP filtering is correctly configured." : "Süsteemihalduseks lubatud IP-aadresside filtreerimine on korrektselt seadistatud.",
+ "App directories owner" : "Rakenduste kausta omanik",
+ "Some app directories are owned by a different user than the web server one. This may be the case if apps have been installed manually. Check the permissions of the following app directories:\n%s" : "Mõnede rakenduste kaustade omanik erinev kogu Nextcloudi serveri omanikust. Nii võib juhtuda, kui rakendused on paigaldatud käsitsi. Palun kontrolli järgnevate rakenduste kaustade omanikke:\n%s",
+ "App directories have the correct owner \"%s\"" : "Rakenduste kaustadel on korrektne omanik: „%s“",
"Your remote address could not be determined." : "Sinu kaugaadressi tuvastamine ei õnnestunud.",
"No altered files" : "Muudetud faile pole",
"Database missing primary keys" : "Andmebaasis on puudu primaarvõtmed",
@@ -139,6 +145,7 @@
"Mail delivery is disabled by instance config \"%s\"." : "Selles serveris piirab e-kirjade edasisaatmist seadistus „%s“.",
"Email test was successfully sent" : "Testkirja saatmine õnnestus",
"Your \"trusted_proxies\" setting is not correctly set, it should be an array." : "Serveri „trusted_proxies“ seadistus pole korrektne - seal peab leiduma massiiv, aga hetkel on midagi muud.",
+ "This server has no working internet connection: Multiple endpoints could not be reached. This means that some of the features like mounting external storage, notifications about updates or installation of third-party apps will not work. Accessing files remotely and sending of notification emails might not work, either. Establish a connection from this server to the internet to enjoy all features." : "Sellel serveril puudub toimiv internetiühendus: mitmete otspunktidega ei ole leitavad. See tähendab, et mõned funktsionaalsused, nagu näiteks väliste andmehoidlate ühendamine, uuenduste teavitused või kolmandate osapoolte rakenduste paigaldamine ei tööta. Ligipääs failidele eemalt ning teavistuste saatmine e-kirjaga ei pruugi samuti toimida. Kui soovid kasutada täielikku funktsionaalsust, siis palun taga toimiv internetiühendus.",
"Old server-side-encryption" : "Vana serveripoolne krüptimine",
"Disabled" : "Keelatud",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Vana serveripoolse krüptimise vorming on kasutusel. Mes soovitame, et lülitad selle välja.",
@@ -206,8 +213,8 @@
"Restrict users to only share with users in their groups" : "Luba kasutajatel jagada kasutajatega ainult oma grupi piires",
"Allow users to share via link and emails" : "Luba kasutajatel lingiga ja e-postiga jagamist",
"Allow public uploads" : "Luba avalikud üleslaadimised",
- "Always ask for a password" : "Alati küsi parooli",
- "Enforce password protection" : "Jõusta paroolikaitse",
+ "Always ask for a password" : "Alati küsi salasõna",
+ "Enforce password protection" : "Jõusta salasõnakaitse",
"Exclude groups from password requirements" : "Välista grupid salasõnareeglitest",
"Exclude groups from creating link shares" : "Välista grupid jagamislinkide loomisest",
"Limit sharing based on groups" : "Piira jagamist gruppide alusel",
@@ -215,9 +222,11 @@
"Exclude some groups from sharing" : "Välista mõned grupid jagamisest",
"Limit sharing to some groups" : "Piira jagamist mõnede gruppidega",
"Groups excluded from sharing" : "Jagamisest välistatud grupid",
+ "Set default expiration date for internal shares" : "Jagamisel selle serveri piires kasuta vaikimisi aegumist",
"Enforce expiration date" : "Sunnitud aegumise kuupäev",
"Default expiration time of new shares in days" : "Uue jaosmeedia vaikimisi aegumine päevades",
"Expire shares after x days" : "Jaosmeedia aegub x päeva möödudes",
+ "Set default expiration date for shares to other servers" : "Jagamisel teistesse serveritesse kasuta vaikimisi aegumist",
"Enforce expiration date for remote shares" : "Määra lingi kaugserverid asuva jaosmeedia vaikimisi aegumiskuupäev ",
"Default expiration time of remote shares in days" : "Kaugserveris asuva jaosmeedia vaikimisi aegumine päevades",
"Expire remote shares after x days" : "Jaosmeedia aegub x päeva möödudes",
@@ -227,6 +236,7 @@
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Kuva avaliku lingiga üleslaadimise lehel lahtiütluste tekst (vaid siis, kui failide loend on peidetud)",
"Disclaimer text" : "Vastutusest lahtiütluse tekst",
"This text will be shown on the public link upload page when the file list is hidden." : "Seda teksti näidatakse avaliku lingiga üleslaadimise lehel kui failide loend on peidetud.",
+ "Default share permissions" : "Vaikimisi õigusel jagamisel",
"Two-Factor Authentication" : "Kaheastmeline autentimine",
"Two-factor authentication can be enforced for all accounts and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Kaheastmelist autentimist on võimalik teha kohustuslikuks kas kõikidele kasutajakontodele või konkreetsete gruppide kaupa. Kui kaheastmelise autentimise kohustuslikkus on määratud, kuid on kasutajal seadistamata, siis ta ei saa siia serverisse sisse logida.",
"Enforce two-factor authentication" : "Tee kaheastmeline autentimine kohustuslikuks",
@@ -347,7 +357,7 @@
"Web, desktop and mobile clients currently logged in to your account." : "Sinu kontole hetkel sisse loginud veebi-, töölaua-, ja mobiilsed kliendid.",
"Error while creating device token" : "Tõrge seadme märke loomisel",
"App name" : "Rakenduse nimi",
- "Create new app password" : "Loo uus rakenduse parool",
+ "Create new app password" : "Loo uus rakenduse salasõna",
"App password copied!" : "Rakenduse salasõna on kopeeritud!",
"Copy app password" : "Kopeeri rakenduse salasõna",
"Login name copied!" : "Kasutajanimi on koeeritud!",
@@ -527,6 +537,7 @@
"Set account as admin for" : "Määra kasutajakonto peakasutajaks siin:",
"Select account quota" : "Määra kasutajakonto kvoot",
"Set the language" : "Vali keel",
+ "Toggle account actions menu" : "Lülita kasutajakonto tegevuste menüü sisse/välja",
"Done" : "Valmis",
"Edit" : "Muuda",
"Account management settings" : "Kasutajakontode halduse seadistused",
@@ -558,8 +569,13 @@
"No devices configured." : "Ühtegi seadet pole seadistatud.",
"The following devices are configured for your account:" : "Järgmised seadmed on seadistatud kasutama sinu kontot:",
"Your browser does not support WebAuthn." : "Sinu veebibrauseril puudub WebAuthni tugi.",
- "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saate jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
+ "As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Administraatorina saad jagamise valikuid täpselt seadistada. Lisateavet leiad dokumentatsioonist.",
"You need to enable the File sharing App." : "Sa pead kasutusele võtma Failijagamise rakenduse.",
+ "App Store" : "Rakendustepood",
+ "Loading app list" : "Laadin rakenduste loendit",
+ "Loading categories" : "Laadin kategooriaid",
+ "Developer documentation ↗" : "Dokumentatsioon arendajatele ↗",
+ "Version {version}, {license}-licensed" : "Versioon {version}, avaldatud {license} litsentsi alusel",
"Version {version}" : "Versioon {version}",
"All accounts" : "Kõik kasutajakontod",
"Admins" : "Haldurid",
diff --git a/apps/settings/l10n/fr.js b/apps/settings/l10n/fr.js
index 451d1ffc42f..8ce219a3633 100644
--- a/apps/settings/l10n/fr.js
+++ b/apps/settings/l10n/fr.js
@@ -131,6 +131,7 @@ OC.L10N.register(
"Unlimited" : "Illimité",
"Verifying" : "Vérification en cours",
"Allowed admin IP ranges" : "Plage d'adresses IP autorisées pour l'admin",
+ "Admin IP filtering isn't applied." : "Le filtrage IP admin n'est pas activé",
"Configuration key \"%1$s\" expects an array (%2$s found). Admin IP range validation will not be applied." : "La clé de configuration \"%1$s\" attends un tableau (trouver %2$s). La plage d'adresses IP de l'admin ne sera pas appliquée.",
"Configuration key \"%1$s\" contains invalid IP range(s): \"%2$s\"" : "La clé de configuration \"%1$s\" contient une ou plusieurs plages d'adresses IP invalides: \"%2$s\"",
"Admin IP filtering is correctly configured." : "Le filtrage IP admin est bien configuré.",
@@ -275,6 +276,7 @@ OC.L10N.register(
"The PHP OPcache module is not properly configured. %s." : "Le module PHP OPcache n'est pas correctement configuré. %s.",
"Correctly configured" : "Configuré correctement",
"PHP version" : "Version PHP",
+ "You are currently running PHP %1$s. PHP %2$s is deprecated since Nextcloud %3$s. Nextcloud %4$s may require at least PHP %5$s. Please upgrade to one of the officially supported PHP versions provided by the PHP Group as soon as possible." : "Vous utilisez actuellement PHP %1$s. PHP %2$s est obsolète depuis Nextcloud %3$s. Nextcloud %4$s peut nécessiter au moins PHP %5$s. Veuillez effectuer la mise à niveau vers l'une des versions PHP officiellement prises en charge par PHP Group dès que possible.",
"You are currently running PHP %s." : "Vous exécutez actuellement PHP %s.",
"PHP \"output_buffering\" option" : "l’option « output_buffering » de PHP",
"PHP configuration option \"output_buffering\" must be disabled" : "L’option de configuration PHP « output_buffering » doit être désactivée",
@@ -313,6 +315,10 @@ OC.L10N.register(
"Architecture" : "Architecture",
"64-bit" : "64 bits",
"It seems like you are running a 32-bit PHP version. Nextcloud needs 64-bit to run well. Please upgrade your OS and PHP to 64-bit!" : "Il semblerait que vous exécutiez une version 32 bits de PHP. Nextcloud nécessite 64 bits pour fonctionner correctement. Veuillez mettre votre système d'exploitation et PHP à niveau vers du 64 bits !",
+ "Task Processing pickup speed" : "Vitesse de récupération du traitement des tâches",
+ "_No scheduled tasks in the last %n hour._::_No scheduled tasks in the last %n hours._" : ["Aucune tâche planifiée au cours de la dernière heure.","Aucune tâche planifiée au cours des %n dernières heures.","Aucune tâche planifiée au cours des %n dernières heures."],
+ "_The task pickup speed has been ok in the last %n hour._::_The task pickup speed has been ok in the last %n hours._" : ["La vitesse de récupération des tâches a été correcte au cours de la dernière %n heure.","La vitesse de récupération des tâches a été correcte au cours des dernières %n heures.","La vitesse de récupération des tâches a été correcte au cours des dernières %n heures."],
+ "_The task pickup speed has been slow in the last %n hour. Many tasks took longer than 4 minutes to be picked up. Consider setting up a worker to process tasks in the background._::_The task pickup speed has been slow in the last %n hours. Many tasks took longer than 4 minutes to be picked up. Consider setting up a worker to process tasks in the background._" : ["La vitesse de récupération des tâches a été lente cette dernière %n heure. De nombreuses tâches ont mis plus de 4 minutes à être récupérées. Envisagez de configurer un worker pour traiter les tâches en arrière-plan.","La vitesse de récupération des tâches a été lente ces dernières %n heures. De nombreuses tâches ont mis plus de 4 minutes à être récupérées. Envisagez de configurer un worker pour traiter les tâches en arrière-plan.","La vitesse de récupération des tâches a été lente ces dernières %n heures. De nombreuses tâches ont mis plus de 4 minutes à être récupérées. Envisagez de configurer un worker pour traiter les tâches en arrière-plan."],
"Temporary space available" : "Espace temporaire disponible",
"Error while checking the temporary PHP path - it was not properly set to a directory. Returned value: %s" : "Erreur lors de la vérification du chemin PHP temporaire - il n'a pas été correctement défini sur un répertoire. Valeur retournée : %s",
"The PHP function \"disk_free_space\" is disabled, which prevents the check for enough space in the temporary directories." : "La fonction PHP \"disk_free_space\" est désactivée, ce qui empêche la vérification de l'espace suffisant dans les répertoires temporaires.",
@@ -433,6 +439,7 @@ OC.L10N.register(
"Group name" : "Nom du groupe",
"Please enter a valid group name" : "Merci de saisir un nom de groupe valide",
"Search groups…" : "Recherche de groupes…",
+ "List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list." : "Liste des groupes. Pour des raisons de performances, cette liste n'est pas entièrement chargée. Les groupes seront chargés au fur et à mesure de votre navigation ou de votre recherche.",
"Loading groups…" : "Chargement des groupes …",
"Could not load app discover section" : "Impossible de charger la section des applications à découvrir",
"Could not render element" : "Impossible de générer l’élément",
@@ -575,6 +582,7 @@ OC.L10N.register(
"Confirm enabling encryption" : "Confirmer l'activation du chiffrement",
"Please read carefully before activating server-side encryption:" : "Veuillez lire attentivement avant d’activer le chiffrement côté serveur :",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Une fois le chiffrement activé, les fichiers téléversés sur le serveur à partir de ce moment seront stockés sous forme chiffrée. Il n’est possible de désactiver le chiffrement que si le module utilisé le permet spécifiquement, et que toutes les conditions préalables sont réunies pour ce faire (par exemple la création d’une clé de récupération).",
+ "By default a master key for the whole instance will be generated. Please check if that level of access is compliant with your needs." : "Par défaut, une clé principale est générée pour l'ensemble de l'instance. Veuillez vérifier si ce niveau d'accès correspond à vos besoins.",
"Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Le chiffrement seul ne garantit pas la sécurité du système. Veuillez consulter la documentation pour plus d'informations à propos du fonctionnement de l'application de chiffrement, et des cas d'usage supportés.",
"Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n’oubliez pas de sauvegarder aussi les clés de chiffrement.",
@@ -582,6 +590,7 @@ OC.L10N.register(
"This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?",
"Failed to delete group \"{group}\"" : "Échec de la suppression du groupe \"{group}\"",
"Please confirm the group removal" : "Merci de confirmer la suppression du groupe",
+ "You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Vous êtes sur le point de supprimer le groupe \"{group}\". Les comptes associés ne seront pas supprimés.",
"Submit" : "Soumettre",
"Rename group" : "Renommer le groupe",
"Delete group" : "Supprimer le groupe",
@@ -714,6 +723,8 @@ OC.L10N.register(
"Remote wipe of devices" : "Effacer les appareils à distance",
"Wipe {userid}'s devices" : "Effacer les appareils de {userid}",
"Wiped {userid}'s devices" : "Les appareils de {userid} ont été effacés",
+ "Failed to load groups with details" : "Échec du chargement des groupes avec les détails",
+ "Failed to load sub admin groups with details" : "Échec du chargement du sous-administrateur de groupes avec les détails",
"Failed to update line manager" : "Échec de la mise à jour du responsable hiérarchique",
"Fully delete {userid}'s account including all their personal files, app data, etc." : "Supprime totalement le compte de {userid} et toutes ses données associées (fichiers personnels, données des applications, etc.)",
"Account deletion" : "Suppression de compte",
@@ -746,6 +757,7 @@ OC.L10N.register(
"Sorting" : "Trier",
"The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuration système impose le tri des groupes par nom. Ceci désactive également l’affichage du nombre de membres.",
"Group list sorting" : "Tri de la liste des groupes",
+ "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Pour des raisons de performances, le tri ne s'applique qu'aux groupes actuellement chargés. Les groupes seront chargés au fur et à mesure de votre navigation ou de votre recherche dans la liste.",
"By member count" : "Par nombre de membres",
"By name" : "Par nom",
"Send email" : "Envoyer un e-mail",
@@ -891,6 +903,7 @@ OC.L10N.register(
"Set default expiration date for shares" : "Définir par défaut une date d’expiration pour les partages",
"Your biography" : "Votre biographie",
"You are using <strong>{usage}</strong>" : "Vous utilisez <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Vous utilisez <strong>{usage}</strong> sur <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Vous utilisez <strong>{usage}</strong> sur <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
+ "Failed to load subadmin groups with details" : "Échec du chargement des sous-administrateurs de groupes avec les détails"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/settings/l10n/fr.json b/apps/settings/l10n/fr.json
index 1c4d36bd04e..3195d90f7cd 100644
--- a/apps/settings/l10n/fr.json
+++ b/apps/settings/l10n/fr.json
@@ -129,6 +129,7 @@
"Unlimited" : "Illimité",
"Verifying" : "Vérification en cours",
"Allowed admin IP ranges" : "Plage d'adresses IP autorisées pour l'admin",
+ "Admin IP filtering isn't applied." : "Le filtrage IP admin n'est pas activé",
"Configuration key \"%1$s\" expects an array (%2$s found). Admin IP range validation will not be applied." : "La clé de configuration \"%1$s\" attends un tableau (trouver %2$s). La plage d'adresses IP de l'admin ne sera pas appliquée.",
"Configuration key \"%1$s\" contains invalid IP range(s): \"%2$s\"" : "La clé de configuration \"%1$s\" contient une ou plusieurs plages d'adresses IP invalides: \"%2$s\"",
"Admin IP filtering is correctly configured." : "Le filtrage IP admin est bien configuré.",
@@ -273,6 +274,7 @@
"The PHP OPcache module is not properly configured. %s." : "Le module PHP OPcache n'est pas correctement configuré. %s.",
"Correctly configured" : "Configuré correctement",
"PHP version" : "Version PHP",
+ "You are currently running PHP %1$s. PHP %2$s is deprecated since Nextcloud %3$s. Nextcloud %4$s may require at least PHP %5$s. Please upgrade to one of the officially supported PHP versions provided by the PHP Group as soon as possible." : "Vous utilisez actuellement PHP %1$s. PHP %2$s est obsolète depuis Nextcloud %3$s. Nextcloud %4$s peut nécessiter au moins PHP %5$s. Veuillez effectuer la mise à niveau vers l'une des versions PHP officiellement prises en charge par PHP Group dès que possible.",
"You are currently running PHP %s." : "Vous exécutez actuellement PHP %s.",
"PHP \"output_buffering\" option" : "l’option « output_buffering » de PHP",
"PHP configuration option \"output_buffering\" must be disabled" : "L’option de configuration PHP « output_buffering » doit être désactivée",
@@ -311,6 +313,10 @@
"Architecture" : "Architecture",
"64-bit" : "64 bits",
"It seems like you are running a 32-bit PHP version. Nextcloud needs 64-bit to run well. Please upgrade your OS and PHP to 64-bit!" : "Il semblerait que vous exécutiez une version 32 bits de PHP. Nextcloud nécessite 64 bits pour fonctionner correctement. Veuillez mettre votre système d'exploitation et PHP à niveau vers du 64 bits !",
+ "Task Processing pickup speed" : "Vitesse de récupération du traitement des tâches",
+ "_No scheduled tasks in the last %n hour._::_No scheduled tasks in the last %n hours._" : ["Aucune tâche planifiée au cours de la dernière heure.","Aucune tâche planifiée au cours des %n dernières heures.","Aucune tâche planifiée au cours des %n dernières heures."],
+ "_The task pickup speed has been ok in the last %n hour._::_The task pickup speed has been ok in the last %n hours._" : ["La vitesse de récupération des tâches a été correcte au cours de la dernière %n heure.","La vitesse de récupération des tâches a été correcte au cours des dernières %n heures.","La vitesse de récupération des tâches a été correcte au cours des dernières %n heures."],
+ "_The task pickup speed has been slow in the last %n hour. Many tasks took longer than 4 minutes to be picked up. Consider setting up a worker to process tasks in the background._::_The task pickup speed has been slow in the last %n hours. Many tasks took longer than 4 minutes to be picked up. Consider setting up a worker to process tasks in the background._" : ["La vitesse de récupération des tâches a été lente cette dernière %n heure. De nombreuses tâches ont mis plus de 4 minutes à être récupérées. Envisagez de configurer un worker pour traiter les tâches en arrière-plan.","La vitesse de récupération des tâches a été lente ces dernières %n heures. De nombreuses tâches ont mis plus de 4 minutes à être récupérées. Envisagez de configurer un worker pour traiter les tâches en arrière-plan.","La vitesse de récupération des tâches a été lente ces dernières %n heures. De nombreuses tâches ont mis plus de 4 minutes à être récupérées. Envisagez de configurer un worker pour traiter les tâches en arrière-plan."],
"Temporary space available" : "Espace temporaire disponible",
"Error while checking the temporary PHP path - it was not properly set to a directory. Returned value: %s" : "Erreur lors de la vérification du chemin PHP temporaire - il n'a pas été correctement défini sur un répertoire. Valeur retournée : %s",
"The PHP function \"disk_free_space\" is disabled, which prevents the check for enough space in the temporary directories." : "La fonction PHP \"disk_free_space\" est désactivée, ce qui empêche la vérification de l'espace suffisant dans les répertoires temporaires.",
@@ -431,6 +437,7 @@
"Group name" : "Nom du groupe",
"Please enter a valid group name" : "Merci de saisir un nom de groupe valide",
"Search groups…" : "Recherche de groupes…",
+ "List of groups. This list is not fully populated for performance reasons. The groups will be loaded as you navigate or search through the list." : "Liste des groupes. Pour des raisons de performances, cette liste n'est pas entièrement chargée. Les groupes seront chargés au fur et à mesure de votre navigation ou de votre recherche.",
"Loading groups…" : "Chargement des groupes …",
"Could not load app discover section" : "Impossible de charger la section des applications à découvrir",
"Could not render element" : "Impossible de générer l’élément",
@@ -573,6 +580,7 @@
"Confirm enabling encryption" : "Confirmer l'activation du chiffrement",
"Please read carefully before activating server-side encryption:" : "Veuillez lire attentivement avant d’activer le chiffrement côté serveur :",
"Once encryption is enabled, all files uploaded to the server from that point forward will be encrypted at rest on the server. It will only be possible to disable encryption at a later date if the active encryption module supports that function, and all pre-conditions (e.g. setting a recover key) are met." : "Une fois le chiffrement activé, les fichiers téléversés sur le serveur à partir de ce moment seront stockés sous forme chiffrée. Il n’est possible de désactiver le chiffrement que si le module utilisé le permet spécifiquement, et que toutes les conditions préalables sont réunies pour ce faire (par exemple la création d’une clé de récupération).",
+ "By default a master key for the whole instance will be generated. Please check if that level of access is compliant with your needs." : "Par défaut, une clé principale est générée pour l'ensemble de l'instance. Veuillez vérifier si ce niveau d'accès correspond à vos besoins.",
"Encryption alone does not guarantee security of the system. Please see documentation for more information about how the encryption app works, and the supported use cases." : "Le chiffrement seul ne garantit pas la sécurité du système. Veuillez consulter la documentation pour plus d'informations à propos du fonctionnement de l'application de chiffrement, et des cas d'usage supportés.",
"Be aware that encryption always increases the file size." : "Veuillez noter que le chiffrement augmente toujours la taille des fichiers.",
"It is always good to create regular backups of your data, in case of encryption make sure to backup the encryption keys along with your data." : "Il est opportun de sauvegarder régulièrement vos données. Si ces données sont chiffrées, n’oubliez pas de sauvegarder aussi les clés de chiffrement.",
@@ -580,6 +588,7 @@
"This is the final warning: Do you really want to enable encryption?" : "Dernier avertissement : Voulez-vous vraiment activer le chiffrement ?",
"Failed to delete group \"{group}\"" : "Échec de la suppression du groupe \"{group}\"",
"Please confirm the group removal" : "Merci de confirmer la suppression du groupe",
+ "You are about to delete the group \"{group}\". The accounts will NOT be deleted." : "Vous êtes sur le point de supprimer le groupe \"{group}\". Les comptes associés ne seront pas supprimés.",
"Submit" : "Soumettre",
"Rename group" : "Renommer le groupe",
"Delete group" : "Supprimer le groupe",
@@ -712,6 +721,8 @@
"Remote wipe of devices" : "Effacer les appareils à distance",
"Wipe {userid}'s devices" : "Effacer les appareils de {userid}",
"Wiped {userid}'s devices" : "Les appareils de {userid} ont été effacés",
+ "Failed to load groups with details" : "Échec du chargement des groupes avec les détails",
+ "Failed to load sub admin groups with details" : "Échec du chargement du sous-administrateur de groupes avec les détails",
"Failed to update line manager" : "Échec de la mise à jour du responsable hiérarchique",
"Fully delete {userid}'s account including all their personal files, app data, etc." : "Supprime totalement le compte de {userid} et toutes ses données associées (fichiers personnels, données des applications, etc.)",
"Account deletion" : "Suppression de compte",
@@ -744,6 +755,7 @@
"Sorting" : "Trier",
"The system config enforces sorting the groups by name. This also disables showing the member count." : "La configuration système impose le tri des groupes par nom. Ceci désactive également l’affichage du nombre de membres.",
"Group list sorting" : "Tri de la liste des groupes",
+ "Sorting only applies to the currently loaded groups for performance reasons. Groups will be loaded as you navigate or search through the list." : "Pour des raisons de performances, le tri ne s'applique qu'aux groupes actuellement chargés. Les groupes seront chargés au fur et à mesure de votre navigation ou de votre recherche dans la liste.",
"By member count" : "Par nombre de membres",
"By name" : "Par nom",
"Send email" : "Envoyer un e-mail",
@@ -889,6 +901,7 @@
"Set default expiration date for shares" : "Définir par défaut une date d’expiration pour les partages",
"Your biography" : "Votre biographie",
"You are using <strong>{usage}</strong>" : "Vous utilisez <strong>{usage}</strong>",
- "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Vous utilisez <strong>{usage}</strong> sur <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)"
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Vous utilisez <strong>{usage}</strong> sur <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
+ "Failed to load subadmin groups with details" : "Échec du chargement des sous-administrateurs de groupes avec les détails"
},"pluralForm" :"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/settings/l10n/hu.js b/apps/settings/l10n/hu.js
index b7ddd874edb..83e96800c6b 100644
--- a/apps/settings/l10n/hu.js
+++ b/apps/settings/l10n/hu.js
@@ -249,7 +249,7 @@ OC.L10N.register(
"Unable to modify setting" : "A beállítás nem módosítható",
"None" : "Egyik sem",
"Allow apps to use the Share API" : "Engedélyezés, hogy az alkalmazások is használják a megosztási API-t",
- "Allow resharing" : "Megosztás továbbosztásának engedélyezése",
+ "Allow resharing" : "Továbbosztás engedélyezése",
"Allow sharing with groups" : "Csoportokkal való megosztás engedélyezése",
"Restrict users to only share with users in their groups" : "A felhasználók korlátozása, hogy csak a csoportjaikban lévő felhasználókkal oszthassanak meg dolgokat",
"Allow users to share via link and emails" : "Hivatkozásokon és e-mailen keresztül megosztás engedélyezése a felhasználók számára",
@@ -467,7 +467,7 @@ OC.L10N.register(
"Create" : "Létrehozás",
"Change" : "Módosítás",
"Delete" : "Törlés",
- "Reshare" : "Megosztás újra",
+ "Reshare" : "Továbbosztás",
"Default language" : "Alapértelmezett nyelv",
"Common languages" : "Alapvető nyelvek",
"Other languages" : "Más nyelvek",
diff --git a/apps/settings/l10n/hu.json b/apps/settings/l10n/hu.json
index e18c4deff92..60b787d6a42 100644
--- a/apps/settings/l10n/hu.json
+++ b/apps/settings/l10n/hu.json
@@ -247,7 +247,7 @@
"Unable to modify setting" : "A beállítás nem módosítható",
"None" : "Egyik sem",
"Allow apps to use the Share API" : "Engedélyezés, hogy az alkalmazások is használják a megosztási API-t",
- "Allow resharing" : "Megosztás továbbosztásának engedélyezése",
+ "Allow resharing" : "Továbbosztás engedélyezése",
"Allow sharing with groups" : "Csoportokkal való megosztás engedélyezése",
"Restrict users to only share with users in their groups" : "A felhasználók korlátozása, hogy csak a csoportjaikban lévő felhasználókkal oszthassanak meg dolgokat",
"Allow users to share via link and emails" : "Hivatkozásokon és e-mailen keresztül megosztás engedélyezése a felhasználók számára",
@@ -465,7 +465,7 @@
"Create" : "Létrehozás",
"Change" : "Módosítás",
"Delete" : "Törlés",
- "Reshare" : "Megosztás újra",
+ "Reshare" : "Továbbosztás",
"Default language" : "Alapértelmezett nyelv",
"Common languages" : "Alapvető nyelvek",
"Other languages" : "Más nyelvek",
diff --git a/apps/settings/l10n/lv.js b/apps/settings/l10n/lv.js
index f22d5e9ac96..0516783f8b2 100644
--- a/apps/settings/l10n/lv.js
+++ b/apps/settings/l10n/lv.js
@@ -122,7 +122,7 @@ OC.L10N.register(
"Create new app password" : "Izveidot jaunu lietotnes paroli",
"New app password" : "Jauna lietotnes parole",
"Use the credentials below to configure your app or device. For security reasons this password will only be shown once." : "Zemāk esošie piekļuves dati jāizmanto, lai konfigurētu lietotni vai ierīci. Drošības iemeslu dēļ šī parole tiks parādīta tikai vienu reizi.",
- "Login" : "Pieteikumvārds",
+ "Login" : "Pieteikties",
"Password" : "Parole",
"Show QR code for mobile apps" : "Parādīt kvadrātkodu tālruņa lietotnēm",
"Profile" : "Profils",
diff --git a/apps/settings/l10n/lv.json b/apps/settings/l10n/lv.json
index 5c87992b05b..11de016ba60 100644
--- a/apps/settings/l10n/lv.json
+++ b/apps/settings/l10n/lv.json
@@ -120,7 +120,7 @@
"Create new app password" : "Izveidot jaunu lietotnes paroli",
"New app password" : "Jauna lietotnes parole",
"Use the credentials below to configure your app or device. For security reasons this password will only be shown once." : "Zemāk esošie piekļuves dati jāizmanto, lai konfigurētu lietotni vai ierīci. Drošības iemeslu dēļ šī parole tiks parādīta tikai vienu reizi.",
- "Login" : "Pieteikumvārds",
+ "Login" : "Pieteikties",
"Password" : "Parole",
"Show QR code for mobile apps" : "Parādīt kvadrātkodu tālruņa lietotnēm",
"Profile" : "Profils",
diff --git a/apps/settings/l10n/mk.js b/apps/settings/l10n/mk.js
index bb21a77250c..ecc9c7a0fce 100644
--- a/apps/settings/l10n/mk.js
+++ b/apps/settings/l10n/mk.js
@@ -334,12 +334,16 @@ OC.L10N.register(
"Quota" : "Квота",
"Language" : "Јазик",
"Set default language" : "Постави стандарден јазик",
+ "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} сметка …","{userCount} сметки …"],
+ "_{userCount} account_::_{userCount} accounts_" : ["{userCount} сметка","{userCount} сметки"],
"Total rows summary" : "Резиме на вкупно редови",
"Scroll to load more rows" : "Одете надолу за да се вчитаат повеќе редови",
"Password or insufficient permissions message" : "Порака за лозинка или недоволна дозвола",
"Avatar" : "Аватар",
+ "Account name" : "Корисничко име",
"Group admin for" : "Администратор на група",
"Storage location" : "Локација на складиште",
+ "First login" : "Прво најавување",
"Last login" : "Последно најавување",
"{size} used" : "искористено {size}",
"Delete account" : "Избриши сметка",
@@ -355,6 +359,7 @@ OC.L10N.register(
"Set the language" : "Постави јазик",
"Done" : "Готово",
"Edit" : "Уреди",
+ "Account management settings" : "Параметри за кориснички менаџмент",
"Visibility" : "Видливост",
"Show language" : "Прикажи јазик",
"Show storage path" : "Прикажи патека на складиште",
@@ -376,6 +381,7 @@ OC.L10N.register(
"Your browser does not support WebAuthn." : "Вашиот прелистувач не поддржува WebAuthn.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Како администратор, можете детално да го прилагодите однесувањето на споделувањето. Погледнете ја документацијата за повеќе информации.",
"You need to enable the File sharing App." : "Треба да ја овозможите апликацијата Споделување на датотеки.",
+ "All accounts" : "Сите сметки",
"Admins" : "Администратори",
"Sending…" : "Испраќа…",
"Email sent" : "Е-порака пратена",
diff --git a/apps/settings/l10n/mk.json b/apps/settings/l10n/mk.json
index 8dc960d2b30..cd35dd2fe5b 100644
--- a/apps/settings/l10n/mk.json
+++ b/apps/settings/l10n/mk.json
@@ -332,12 +332,16 @@
"Quota" : "Квота",
"Language" : "Јазик",
"Set default language" : "Постави стандарден јазик",
+ "_{userCount} account …_::_{userCount} accounts …_" : ["{userCount} сметка …","{userCount} сметки …"],
+ "_{userCount} account_::_{userCount} accounts_" : ["{userCount} сметка","{userCount} сметки"],
"Total rows summary" : "Резиме на вкупно редови",
"Scroll to load more rows" : "Одете надолу за да се вчитаат повеќе редови",
"Password or insufficient permissions message" : "Порака за лозинка или недоволна дозвола",
"Avatar" : "Аватар",
+ "Account name" : "Корисничко име",
"Group admin for" : "Администратор на група",
"Storage location" : "Локација на складиште",
+ "First login" : "Прво најавување",
"Last login" : "Последно најавување",
"{size} used" : "искористено {size}",
"Delete account" : "Избриши сметка",
@@ -353,6 +357,7 @@
"Set the language" : "Постави јазик",
"Done" : "Готово",
"Edit" : "Уреди",
+ "Account management settings" : "Параметри за кориснички менаџмент",
"Visibility" : "Видливост",
"Show language" : "Прикажи јазик",
"Show storage path" : "Прикажи патека на складиште",
@@ -374,6 +379,7 @@
"Your browser does not support WebAuthn." : "Вашиот прелистувач не поддржува WebAuthn.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Како администратор, можете детално да го прилагодите однесувањето на споделувањето. Погледнете ја документацијата за повеќе информации.",
"You need to enable the File sharing App." : "Треба да ја овозможите апликацијата Споделување на датотеки.",
+ "All accounts" : "Сите сметки",
"Admins" : "Администратори",
"Sending…" : "Испраќа…",
"Email sent" : "Е-порака пратена",
diff --git a/apps/settings/l10n/nl.js b/apps/settings/l10n/nl.js
index 323b186621a..3505a5ce7b6 100644
--- a/apps/settings/l10n/nl.js
+++ b/apps/settings/l10n/nl.js
@@ -285,6 +285,7 @@ OC.L10N.register(
"Type" : "Type",
"Display Name" : "Weergavenaam",
"GPUs support" : "GPUs support",
+ "Compute device" : "Compute apparaat",
"Learn more" : "Meer weten",
"Confirm" : "Bevestigen",
"Cancel" : "Annuleren",
@@ -299,6 +300,8 @@ OC.L10N.register(
"Limit app usage to groups" : "Beperk appgebruik tot groepen",
"No results" : "Geen resultaten",
"Update to {version}" : "Update naar {version}",
+ "Default Deploy daemon is not accessible" : "Standaard Deploy Daemon niet toegankelijk",
+ "Delete data on remove" : "Bij verwijderen ook data verwijderen",
"This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Deze app heeft geen minimum Nextcloud versie toegewezen gekregen. In de toekomst wordt dit wordt een fout.",
"This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Deze app heeft geen maximum Nextcloud versie toegewezen gekregen. In de toekomst wordt dit wordt een fout.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Deze app kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld:",
@@ -307,6 +310,7 @@ OC.L10N.register(
"Categories" : "Categorieën",
"Resources" : "Bronnen",
"Documentation" : "Documentatie",
+ "Interact" : "Interacteren",
"Report a bug" : "Rapporteer een fout",
"Request feature" : "Vraag functionaliteit aan",
"Ask questions or discuss" : "Stel vragen of discussieer",
diff --git a/apps/settings/l10n/nl.json b/apps/settings/l10n/nl.json
index f3555c050ec..52c525faf22 100644
--- a/apps/settings/l10n/nl.json
+++ b/apps/settings/l10n/nl.json
@@ -283,6 +283,7 @@
"Type" : "Type",
"Display Name" : "Weergavenaam",
"GPUs support" : "GPUs support",
+ "Compute device" : "Compute apparaat",
"Learn more" : "Meer weten",
"Confirm" : "Bevestigen",
"Cancel" : "Annuleren",
@@ -297,6 +298,8 @@
"Limit app usage to groups" : "Beperk appgebruik tot groepen",
"No results" : "Geen resultaten",
"Update to {version}" : "Update naar {version}",
+ "Default Deploy daemon is not accessible" : "Standaard Deploy Daemon niet toegankelijk",
+ "Delete data on remove" : "Bij verwijderen ook data verwijderen",
"This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Deze app heeft geen minimum Nextcloud versie toegewezen gekregen. In de toekomst wordt dit wordt een fout.",
"This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Deze app heeft geen maximum Nextcloud versie toegewezen gekregen. In de toekomst wordt dit wordt een fout.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Deze app kan niet worden geïnstalleerd, omdat de volgende afhankelijkheden niet zijn ingevuld:",
@@ -305,6 +308,7 @@
"Categories" : "Categorieën",
"Resources" : "Bronnen",
"Documentation" : "Documentatie",
+ "Interact" : "Interacteren",
"Report a bug" : "Rapporteer een fout",
"Request feature" : "Vraag functionaliteit aan",
"Ask questions or discuss" : "Stel vragen of discussieer",
diff --git a/apps/settings/l10n/pt_BR.js b/apps/settings/l10n/pt_BR.js
index 1e292e866bf..a693eec2880 100644
--- a/apps/settings/l10n/pt_BR.js
+++ b/apps/settings/l10n/pt_BR.js
@@ -118,7 +118,7 @@ OC.L10N.register(
"Sharing" : "Compartilhamento",
"Availability" : "Disponibilidade",
"Calendar" : "Calendário",
- "Personal info" : "Informação pessoal",
+ "Personal info" : "Informações pessoais",
"Mobile & desktop" : "Móvel & desktop",
"Email server" : "Servidor de e-mail",
"Mail Providers" : "Provedores de E-mail",
diff --git a/apps/settings/l10n/pt_BR.json b/apps/settings/l10n/pt_BR.json
index 21486f98fd4..c0f1a073c9e 100644
--- a/apps/settings/l10n/pt_BR.json
+++ b/apps/settings/l10n/pt_BR.json
@@ -116,7 +116,7 @@
"Sharing" : "Compartilhamento",
"Availability" : "Disponibilidade",
"Calendar" : "Calendário",
- "Personal info" : "Informação pessoal",
+ "Personal info" : "Informações pessoais",
"Mobile & desktop" : "Móvel & desktop",
"Email server" : "Servidor de e-mail",
"Mail Providers" : "Provedores de E-mail",
diff --git a/apps/settings/l10n/uk.js b/apps/settings/l10n/uk.js
index 302839f148c..ba803cae542 100644
--- a/apps/settings/l10n/uk.js
+++ b/apps/settings/l10n/uk.js
@@ -477,6 +477,7 @@ OC.L10N.register(
"Please confirm the group removal" : "Підтвердіть вилучення групи",
"Submit" : "Продовжити",
"Rename group" : "Перейменувати групу",
+ "Delete group" : "Вилучити групу",
"Current password" : "Поточний пароль",
"New password" : "Новий пароль",
"Change password" : "Змінити пароль",
diff --git a/apps/settings/l10n/uk.json b/apps/settings/l10n/uk.json
index 3dca9c1cff4..ea360a0fcbd 100644
--- a/apps/settings/l10n/uk.json
+++ b/apps/settings/l10n/uk.json
@@ -475,6 +475,7 @@
"Please confirm the group removal" : "Підтвердіть вилучення групи",
"Submit" : "Продовжити",
"Rename group" : "Перейменувати групу",
+ "Delete group" : "Вилучити групу",
"Current password" : "Поточний пароль",
"New password" : "Новий пароль",
"Change password" : "Змінити пароль",
diff --git a/apps/sharebymail/l10n/et_EE.js b/apps/sharebymail/l10n/et_EE.js
index 47f81d56824..c47755cfca4 100644
--- a/apps/sharebymail/l10n/et_EE.js
+++ b/apps/sharebymail/l10n/et_EE.js
@@ -3,6 +3,8 @@ OC.L10N.register(
{
"Shared with {email}" : "Jagatud aadressile {email}",
"Shared with {email} by {actor}" : "Jagatud aadressile {email} {actor} poolt",
+ "Unshared from {email}" : "Jagamine {email} aadressile on lõpetatud",
+ "Unshared from {email} by {actor}" : "{actor} lõpetas jagamise {email} aadressile",
"Password for mail share sent to {email}" : "E-kirjaga jagamise salasõna on saadetud aadressile {email}",
"Password for mail share sent to you" : "Sulle saadetud e-kirjaga jagamise salasõna",
"Password to access {file} was sent to {email}" : "Salasõna ligipääsuks „{file}“ failile saadeti aadressile {email}",
@@ -10,6 +12,7 @@ OC.L10N.register(
"Share by mail" : "Jaga e-postiga",
"Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s jagamine ebaõnnestus, kuna seda üksust on juba jagatud kontoga %2$s",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Me ei saa sulle automaatselt loodud salasõna saata. Palun määra oma isiklikes seadistustes korrektne e-posti aadress ja proovi uuesti.",
+ "Failed to send share by email. Got an invalid email address" : "Jaosmeedia saatmine e-postiga ei õnnestunud. Ilmselt oli e-posti aadress vale.",
"Failed to send share by email" : "Jaosmeediat polnud võimalik e-kirjaga saata",
"%1$s shared %2$s with you" : "%1$s jagas sinuga: %2$s",
"Note:" : "Märkus:",
@@ -31,7 +34,8 @@ OC.L10N.register(
"You can choose a different password at any time in the share dialog." : "Salasõna saad alati jagamisvaatest muuta.",
"Could not find share" : "Jagamist ei leitud.",
"Share provider which allows you to share files by mail" : "Jagamisteenuse pakkuja, mis võimaldab sul meediat jagada e-posti vahendusel",
- "Send password by mail" : "Saada parool e-postiga",
+ "Unable to update share by mail config" : "E-postiga jagamise seadistuste uuendamine ei õnnestu.",
+ "Send password by mail" : "Saada salasõna e-postiga",
"Reply to initiator" : "Vasta algatajale"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/et_EE.json b/apps/sharebymail/l10n/et_EE.json
index ce01d8465ad..ad4029da1e0 100644
--- a/apps/sharebymail/l10n/et_EE.json
+++ b/apps/sharebymail/l10n/et_EE.json
@@ -1,6 +1,8 @@
{ "translations": {
"Shared with {email}" : "Jagatud aadressile {email}",
"Shared with {email} by {actor}" : "Jagatud aadressile {email} {actor} poolt",
+ "Unshared from {email}" : "Jagamine {email} aadressile on lõpetatud",
+ "Unshared from {email} by {actor}" : "{actor} lõpetas jagamise {email} aadressile",
"Password for mail share sent to {email}" : "E-kirjaga jagamise salasõna on saadetud aadressile {email}",
"Password for mail share sent to you" : "Sulle saadetud e-kirjaga jagamise salasõna",
"Password to access {file} was sent to {email}" : "Salasõna ligipääsuks „{file}“ failile saadeti aadressile {email}",
@@ -8,6 +10,7 @@
"Share by mail" : "Jaga e-postiga",
"Sharing %1$s failed, because this item is already shared with the account %2$s" : "%1$s jagamine ebaõnnestus, kuna seda üksust on juba jagatud kontoga %2$s",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Me ei saa sulle automaatselt loodud salasõna saata. Palun määra oma isiklikes seadistustes korrektne e-posti aadress ja proovi uuesti.",
+ "Failed to send share by email. Got an invalid email address" : "Jaosmeedia saatmine e-postiga ei õnnestunud. Ilmselt oli e-posti aadress vale.",
"Failed to send share by email" : "Jaosmeediat polnud võimalik e-kirjaga saata",
"%1$s shared %2$s with you" : "%1$s jagas sinuga: %2$s",
"Note:" : "Märkus:",
@@ -29,7 +32,8 @@
"You can choose a different password at any time in the share dialog." : "Salasõna saad alati jagamisvaatest muuta.",
"Could not find share" : "Jagamist ei leitud.",
"Share provider which allows you to share files by mail" : "Jagamisteenuse pakkuja, mis võimaldab sul meediat jagada e-posti vahendusel",
- "Send password by mail" : "Saada parool e-postiga",
+ "Unable to update share by mail config" : "E-postiga jagamise seadistuste uuendamine ei õnnestu.",
+ "Send password by mail" : "Saada salasõna e-postiga",
"Reply to initiator" : "Vasta algatajale"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/nl.js b/apps/sharebymail/l10n/nl.js
index 3bdb8e2a505..c2b96958a58 100644
--- a/apps/sharebymail/l10n/nl.js
+++ b/apps/sharebymail/l10n/nl.js
@@ -14,16 +14,32 @@ OC.L10N.register(
"Password to access {file} was sent to {email}" : "Wachtwoord voor toegang tot {file} is gestuurd naar {email}",
"Password to access {file} was sent to you" : "Wachtwoord voor toegang tot {file} is naar je verstuurd",
"Share by mail" : "Delen via email",
+ "Sharing %1$s failed, because this item is already shared with the account %2$s" : "Het delen van%1$s is mislukt, omdat dit item al gedeeld wordt met het account %2$s",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "We kunnen je geen automatisch gegenereerd wachtwoord toesturen. Vermeld een geldig e-mailadres in je persoonlijke instellingen en probeer het nogmaals.",
"Failed to send share by email. Got an invalid email address" : "Het delen van het bestand per e-mail is mislukt. Ongeldig e-mailadres",
"Failed to send share by email" : "Versturen share per e-mail is mislukt",
+ "%1$s shared %2$s with you" : "%1$s deelde %2$s met jou",
"Note:" : "Notitie:",
+ "This share is valid until %s at midnight" : "Deze share is geldig tot %s middernacht",
+ "Expiration:" : "Vervaldatum:",
+ "Open %s" : "%s openen",
"%1$s via %2$s" : "%1$s via %2$s",
+ "%1$s shared %2$s with you. You should have already received a separate mail with a link to access it." : "%1$s deelde %2$s met jou. Je zou een aparte e-mail hebben moeten ontvangen met een link om er toegang toe te krijgen.",
+ "Password to access %1$s shared to you by %2$s" : "Wachtwoord om toegang te krijgen tot %1$sdat met jou gedeeld werd door %2$s",
+ "Password to access %s" : "Wachtwoord om toegang te krijgen tot %s",
"It is protected with the following password:" : "Het is beveiligd met het volgende wachtwoord:",
+ "This password will expire at %s" : "Dit wachtwoord verloopt op %s",
+ "%1$s shared %2$s with you and wants to add:" : "%1$s deelde %2$s met jou en wil toevoegen:",
+ "%1$s shared %2$s with you and wants to add" : "%1$s deelde %2$s met jou en wil toevoegen",
+ "%s added a note to a file shared with you" : "%s heeft een notitie toegevoegd aan een bestand dat met jou werd gedeeld",
+ "You just shared %1$s with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Je deelde %1$s met %2$s. Het deling werd al naar de ontvanger gestuurd. Vanwege het beveiligingsbeleid dat is gedefinieerd door de beheerder van %3$s moet elke share worden beveiligd met een wachtwoord en het is niet toegestaan het wachtwoord rechtstreeks naar de ontvanger te sturen. Daarom moet je het wachtwoord handmatig doorsturen naar de ontvanger.",
+ "Password to access %1$s shared by you with %2$s" : "Wachtwoord om toegang te krijgen tot %1$s door jou gedeeld met %2$s",
"This is the password:" : "Dit is het wachtwoord:",
"You can choose a different password at any time in the share dialog." : "Je kunt in de Delen-dialoog altijd een ander wachtwoord kiezen.",
"Could not find share" : "Kon gedeeld niet vinden",
"Share provider which allows you to share files by mail" : "Share provider waarmee je bestanden via de mail kunt delen",
+ "Unable to update share by mail config" : "Kan share niet bijwerken via mailconfiguratie",
+ "Allows people to share a personalized link to a file or folder by putting in an email address." : "Hiermee kunnen mensen een gepersonaliseerde link naar een bestand of map delen door een e-mailadres in te voeren.",
"Send password by mail" : "Wachtwoord per email verzenden",
"Reply to initiator" : "Antwoord aan oproeper"
},
diff --git a/apps/sharebymail/l10n/nl.json b/apps/sharebymail/l10n/nl.json
index a51f91d308a..260dd9c4912 100644
--- a/apps/sharebymail/l10n/nl.json
+++ b/apps/sharebymail/l10n/nl.json
@@ -12,16 +12,32 @@
"Password to access {file} was sent to {email}" : "Wachtwoord voor toegang tot {file} is gestuurd naar {email}",
"Password to access {file} was sent to you" : "Wachtwoord voor toegang tot {file} is naar je verstuurd",
"Share by mail" : "Delen via email",
+ "Sharing %1$s failed, because this item is already shared with the account %2$s" : "Het delen van%1$s is mislukt, omdat dit item al gedeeld wordt met het account %2$s",
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "We kunnen je geen automatisch gegenereerd wachtwoord toesturen. Vermeld een geldig e-mailadres in je persoonlijke instellingen en probeer het nogmaals.",
"Failed to send share by email. Got an invalid email address" : "Het delen van het bestand per e-mail is mislukt. Ongeldig e-mailadres",
"Failed to send share by email" : "Versturen share per e-mail is mislukt",
+ "%1$s shared %2$s with you" : "%1$s deelde %2$s met jou",
"Note:" : "Notitie:",
+ "This share is valid until %s at midnight" : "Deze share is geldig tot %s middernacht",
+ "Expiration:" : "Vervaldatum:",
+ "Open %s" : "%s openen",
"%1$s via %2$s" : "%1$s via %2$s",
+ "%1$s shared %2$s with you. You should have already received a separate mail with a link to access it." : "%1$s deelde %2$s met jou. Je zou een aparte e-mail hebben moeten ontvangen met een link om er toegang toe te krijgen.",
+ "Password to access %1$s shared to you by %2$s" : "Wachtwoord om toegang te krijgen tot %1$sdat met jou gedeeld werd door %2$s",
+ "Password to access %s" : "Wachtwoord om toegang te krijgen tot %s",
"It is protected with the following password:" : "Het is beveiligd met het volgende wachtwoord:",
+ "This password will expire at %s" : "Dit wachtwoord verloopt op %s",
+ "%1$s shared %2$s with you and wants to add:" : "%1$s deelde %2$s met jou en wil toevoegen:",
+ "%1$s shared %2$s with you and wants to add" : "%1$s deelde %2$s met jou en wil toevoegen",
+ "%s added a note to a file shared with you" : "%s heeft een notitie toegevoegd aan een bestand dat met jou werd gedeeld",
+ "You just shared %1$s with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Je deelde %1$s met %2$s. Het deling werd al naar de ontvanger gestuurd. Vanwege het beveiligingsbeleid dat is gedefinieerd door de beheerder van %3$s moet elke share worden beveiligd met een wachtwoord en het is niet toegestaan het wachtwoord rechtstreeks naar de ontvanger te sturen. Daarom moet je het wachtwoord handmatig doorsturen naar de ontvanger.",
+ "Password to access %1$s shared by you with %2$s" : "Wachtwoord om toegang te krijgen tot %1$s door jou gedeeld met %2$s",
"This is the password:" : "Dit is het wachtwoord:",
"You can choose a different password at any time in the share dialog." : "Je kunt in de Delen-dialoog altijd een ander wachtwoord kiezen.",
"Could not find share" : "Kon gedeeld niet vinden",
"Share provider which allows you to share files by mail" : "Share provider waarmee je bestanden via de mail kunt delen",
+ "Unable to update share by mail config" : "Kan share niet bijwerken via mailconfiguratie",
+ "Allows people to share a personalized link to a file or folder by putting in an email address." : "Hiermee kunnen mensen een gepersonaliseerde link naar een bestand of map delen door een e-mailadres in te voeren.",
"Send password by mail" : "Wachtwoord per email verzenden",
"Reply to initiator" : "Antwoord aan oproeper"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/sharebymail/l10n/ru.js b/apps/sharebymail/l10n/ru.js
index 3f59ad6b900..0ee054c416f 100644
--- a/apps/sharebymail/l10n/ru.js
+++ b/apps/sharebymail/l10n/ru.js
@@ -18,12 +18,22 @@ OC.L10N.register(
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Мы не можем отправить вам автоматически сгенерированный пароль. Укажите действующий адрес электронной почты в личных настройках и повторите попытку.",
"Failed to send share by email. Got an invalid email address" : "Не удалось отправить ссылку общего доступа по электронной почте. Получен неверный адрес электронной почты",
"Failed to send share by email" : "Не удалось предоставить общий доступ по адресу электронной почты",
+ "%1$s shared %2$s with you" : "%1$s поделился(ась) %2$s с вами",
"Note:" : "Примечание:",
+ "This share is valid until %s at midnight" : "Общий ресурс будет действителен до полуночи %s",
+ "Expiration:" : "Срок действия:",
"Open %s" : "Открыть %s",
"%1$s via %2$s" : "%1$s через %2$s",
+ "%1$s shared %2$s with you. You should have already received a separate mail with a link to access it." : "%1$s поделился(ась) с вами %2$s. Вы должны были получить отдельное письмо со ссылкой для доступа.",
+ "Password to access %1$s shared to you by %2$s" : "Пароль для доступа к %1$s, предоставленному вам пользователем %2$s",
"Password to access %s" : "Пароль для доступа к %s",
"It is protected with the following password:" : "Доступ защищён следующим паролем: ",
"This password will expire at %s" : "Срок действия этого пароля завершится %s",
+ "%1$s shared %2$s with you and wants to add:" : "%1$s поделился(ась) %2$s с вами и хочет добавить:",
+ "%1$s shared %2$s with you and wants to add" : "%1$s поделился(ась) %2$s с вами и хочет добавить",
+ "%s added a note to a file shared with you" : "%s добавил(а) заметку к файлу, которым поделился(ась) с вами",
+ "You just shared %1$s with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Вы только что поделились %1$s с %2$s. Ссылка на доступ уже отправлена получателю. Согласно политике безопасности, установленной администратором %3$s, каждый общий ресурс должен быть защищён паролем, и его запрещено отправлять пароль напрямую получателю. Пожалуйста, передайте пароль самостоятельно.",
+ "Password to access %1$s shared by you with %2$s" : "Пароль для доступа к %1$s, которым вы поделились с %2$s",
"This is the password:" : "Пароль: ",
"You can choose a different password at any time in the share dialog." : "В любой момент можно выбрать другой пароль в диалоге «Общий доступ».",
"Could not find share" : "Не удалось найти общий ресурс",
diff --git a/apps/sharebymail/l10n/ru.json b/apps/sharebymail/l10n/ru.json
index b0b3cf028dd..d7bf86c5657 100644
--- a/apps/sharebymail/l10n/ru.json
+++ b/apps/sharebymail/l10n/ru.json
@@ -16,12 +16,22 @@
"We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "Мы не можем отправить вам автоматически сгенерированный пароль. Укажите действующий адрес электронной почты в личных настройках и повторите попытку.",
"Failed to send share by email. Got an invalid email address" : "Не удалось отправить ссылку общего доступа по электронной почте. Получен неверный адрес электронной почты",
"Failed to send share by email" : "Не удалось предоставить общий доступ по адресу электронной почты",
+ "%1$s shared %2$s with you" : "%1$s поделился(ась) %2$s с вами",
"Note:" : "Примечание:",
+ "This share is valid until %s at midnight" : "Общий ресурс будет действителен до полуночи %s",
+ "Expiration:" : "Срок действия:",
"Open %s" : "Открыть %s",
"%1$s via %2$s" : "%1$s через %2$s",
+ "%1$s shared %2$s with you. You should have already received a separate mail with a link to access it." : "%1$s поделился(ась) с вами %2$s. Вы должны были получить отдельное письмо со ссылкой для доступа.",
+ "Password to access %1$s shared to you by %2$s" : "Пароль для доступа к %1$s, предоставленному вам пользователем %2$s",
"Password to access %s" : "Пароль для доступа к %s",
"It is protected with the following password:" : "Доступ защищён следующим паролем: ",
"This password will expire at %s" : "Срок действия этого пароля завершится %s",
+ "%1$s shared %2$s with you and wants to add:" : "%1$s поделился(ась) %2$s с вами и хочет добавить:",
+ "%1$s shared %2$s with you and wants to add" : "%1$s поделился(ась) %2$s с вами и хочет добавить",
+ "%s added a note to a file shared with you" : "%s добавил(а) заметку к файлу, которым поделился(ась) с вами",
+ "You just shared %1$s with %2$s. The share was already sent to the recipient. Due to the security policies defined by the administrator of %3$s each share needs to be protected by password and it is not allowed to send the password directly to the recipient. Therefore you need to forward the password manually to the recipient." : "Вы только что поделились %1$s с %2$s. Ссылка на доступ уже отправлена получателю. Согласно политике безопасности, установленной администратором %3$s, каждый общий ресурс должен быть защищён паролем, и его запрещено отправлять пароль напрямую получателю. Пожалуйста, передайте пароль самостоятельно.",
+ "Password to access %1$s shared by you with %2$s" : "Пароль для доступа к %1$s, которым вы поделились с %2$s",
"This is the password:" : "Пароль: ",
"You can choose a different password at any time in the share dialog." : "В любой момент можно выбрать другой пароль в диалоге «Общий доступ».",
"Could not find share" : "Не удалось найти общий ресурс",
diff --git a/apps/systemtags/l10n/ru.js b/apps/systemtags/l10n/ru.js
index 0a63f20736e..527a2c47aad 100644
--- a/apps/systemtags/l10n/ru.js
+++ b/apps/systemtags/l10n/ru.js
@@ -65,18 +65,39 @@ OC.L10N.register(
"Delete" : "Удалить",
"Reset" : "Сбросить",
"Loading …" : "Загрузка…",
+ "_{tag1} will be set and {tag2} will be removed from 1 file._::_{tag1} will be set and {tag2} will be removed from {count} files._" : ["{tag1} будет добавлен, а {tag2} будет удалён из 1 файла.","{tag1} будет добавлен, а {tag2} будет удалён из {count} файлов.","{tag1} будет добавлен, а {tag2} будет удалён из {count} файлов.","{tag1} будет добавлен, а {tag2} будет удалён из {count} файлов."],
+ "_{tag} will be set to 1 file._::_{tag} will be set to {count} files._" : ["{tag}будет добавлен к 1 файлу.","{tag} будет добавлен к {count} файлам.","{tag} будет добавлен к {count} файлов.","{tag} будет добавлен к {count} файлов."],
+ "_{tag} will be removed from 1 file._::_{tag} will be removed from {count} files._" : ["{tag} будет удалён из 1 файла.","{tag} будет удалён из {count} файлов.","{tag} будет удалён из {count} файлов.","{tag} будет удалён из {count} файлов."],
+ "_{tags} and {lastTag} will be set to 1 file._::_{tags} and {lastTag} will be set to {count} files._" : ["{tags} и {lastTag} будут добавлены к 1 файлу.","{tags} и {lastTag} будут добавлены к {count} файлам.","{tags} и {lastTag} будут добавлены к {count}файлам.","{tags} и {lastTag} будут добавлены к {count} файлам."],
+ "_{tags} and {lastTag} will be removed from 1 file._::_{tags} and {lastTag} will be removed from {count} files._" : ["{tags} и {lastTag} будут удалены из 1 файла.","{tags} и {lastTag} будут удалены из {count} файлов.","{tags} и {lastTag} будут удалены из {count} файлов.","{tags} и {lastTag} будут удалены из {count} файлов."],
+ "{displayName} (hidden)" : "{displayName} (скрыто)",
+ "{displayName} (restricted)" : "{displayName} (ограничено)",
+ "Only admins can create new tags" : "Только администраторы могут создать новые метки",
"Failed to apply tags changes" : "Не удалось применить изменения тегов",
+ "File tags modification canceled" : "Изменение меток отменено",
"Manage tags" : "Управление метками",
+ "Applying tags changes…" : "Изменение меток…",
"Search or create tag" : "Найти или создать тег",
+ "Search tag" : "Найти метку",
+ "Change tag color" : "Изменить цвет метки",
"Create new tag" : "Создать новый тег",
+ "Select or create tags to apply to all selected files" : "Выберите или создайте метки для применения ко всем выбранным файлам",
+ "Select tags to apply to all selected files" : "Выберите метки для применения ко всем выбранным файлам",
"Cancel" : "Отмена",
"Apply changes" : "Применить изменения",
"Failed to load tags" : "Не удалось загрузить метки",
"Failed to load selected tags" : "Не удалось загрузить выбранный тег",
"Failed to select tag" : "Не удалось выбрать тег",
+ "System admin disabled tag creation. You can only use existing ones." : "Создание меток отключено системным администратором. Вы можете использовать только существующие.",
"Loading collaborative tags …" : "Загрузка совместных тегов ...",
"Search or create collaborative tags" : "Поиск или создание совместных тегов",
"No tags to select, type to create a new tag" : "Нет тегов для выбора. Введите что-нибудь для создания нового тега",
+ "Unable to update setting" : "Не удалось обновить настройку",
+ "System tag creation is now restricted to administrators" : "Создание системных меток теперь разрешено только администраторам",
+ "System tag creation is now allowed for everybody" : "Создание системных меток теперь разрешено всем пользователям",
+ "System tag management" : "Управление системными метками",
+ "If enabled, only administrators can create and edit tags. Accounts can still assign and remove them from files." : "Если включено, только администраторы смогут создавать и редактировать метки. Пользователи всё ещё смогут назначать и удалять их с файлов.",
+ "Restrict tag creation and editing to administrators" : "Разрешить создание и редактирование меток только администраторам",
"Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Совместные теги доступны для всех пользователей. Ограниченные теги видны пользователям, но не могут быть назначены ими. Невидимые теги предназначены для внутреннего использования, поскольку пользователи не могут их видеть или назначать.",
"Assigned collaborative tags" : "Присвоенные теги для совместной работы",
"Open in Files" : "Открыть в приложении «Файлы»",
@@ -86,6 +107,7 @@ OC.L10N.register(
"Failed to load tag" : "Не удалось загрузить тег",
"Failed to load last used tags" : "Не удалось загрузить последние использованные метки",
"Missing \"Content-Location\" header" : "Отсутствует заголовок «Content-Location»",
+ "A tag with the same name already exists" : "Метка с таким именем уже существует",
"Failed to load tags for file" : "Не удалось загрузить метки для файла",
"Failed to set tag for file" : "Не удалось поставить метку файлу",
"Failed to delete tag for file" : "Не удалось удалить метку у файла"
diff --git a/apps/systemtags/l10n/ru.json b/apps/systemtags/l10n/ru.json
index a94c3a94a2e..1b74ab93bc1 100644
--- a/apps/systemtags/l10n/ru.json
+++ b/apps/systemtags/l10n/ru.json
@@ -63,18 +63,39 @@
"Delete" : "Удалить",
"Reset" : "Сбросить",
"Loading …" : "Загрузка…",
+ "_{tag1} will be set and {tag2} will be removed from 1 file._::_{tag1} will be set and {tag2} will be removed from {count} files._" : ["{tag1} будет добавлен, а {tag2} будет удалён из 1 файла.","{tag1} будет добавлен, а {tag2} будет удалён из {count} файлов.","{tag1} будет добавлен, а {tag2} будет удалён из {count} файлов.","{tag1} будет добавлен, а {tag2} будет удалён из {count} файлов."],
+ "_{tag} will be set to 1 file._::_{tag} will be set to {count} files._" : ["{tag}будет добавлен к 1 файлу.","{tag} будет добавлен к {count} файлам.","{tag} будет добавлен к {count} файлов.","{tag} будет добавлен к {count} файлов."],
+ "_{tag} will be removed from 1 file._::_{tag} will be removed from {count} files._" : ["{tag} будет удалён из 1 файла.","{tag} будет удалён из {count} файлов.","{tag} будет удалён из {count} файлов.","{tag} будет удалён из {count} файлов."],
+ "_{tags} and {lastTag} will be set to 1 file._::_{tags} and {lastTag} will be set to {count} files._" : ["{tags} и {lastTag} будут добавлены к 1 файлу.","{tags} и {lastTag} будут добавлены к {count} файлам.","{tags} и {lastTag} будут добавлены к {count}файлам.","{tags} и {lastTag} будут добавлены к {count} файлам."],
+ "_{tags} and {lastTag} will be removed from 1 file._::_{tags} and {lastTag} will be removed from {count} files._" : ["{tags} и {lastTag} будут удалены из 1 файла.","{tags} и {lastTag} будут удалены из {count} файлов.","{tags} и {lastTag} будут удалены из {count} файлов.","{tags} и {lastTag} будут удалены из {count} файлов."],
+ "{displayName} (hidden)" : "{displayName} (скрыто)",
+ "{displayName} (restricted)" : "{displayName} (ограничено)",
+ "Only admins can create new tags" : "Только администраторы могут создать новые метки",
"Failed to apply tags changes" : "Не удалось применить изменения тегов",
+ "File tags modification canceled" : "Изменение меток отменено",
"Manage tags" : "Управление метками",
+ "Applying tags changes…" : "Изменение меток…",
"Search or create tag" : "Найти или создать тег",
+ "Search tag" : "Найти метку",
+ "Change tag color" : "Изменить цвет метки",
"Create new tag" : "Создать новый тег",
+ "Select or create tags to apply to all selected files" : "Выберите или создайте метки для применения ко всем выбранным файлам",
+ "Select tags to apply to all selected files" : "Выберите метки для применения ко всем выбранным файлам",
"Cancel" : "Отмена",
"Apply changes" : "Применить изменения",
"Failed to load tags" : "Не удалось загрузить метки",
"Failed to load selected tags" : "Не удалось загрузить выбранный тег",
"Failed to select tag" : "Не удалось выбрать тег",
+ "System admin disabled tag creation. You can only use existing ones." : "Создание меток отключено системным администратором. Вы можете использовать только существующие.",
"Loading collaborative tags …" : "Загрузка совместных тегов ...",
"Search or create collaborative tags" : "Поиск или создание совместных тегов",
"No tags to select, type to create a new tag" : "Нет тегов для выбора. Введите что-нибудь для создания нового тега",
+ "Unable to update setting" : "Не удалось обновить настройку",
+ "System tag creation is now restricted to administrators" : "Создание системных меток теперь разрешено только администраторам",
+ "System tag creation is now allowed for everybody" : "Создание системных меток теперь разрешено всем пользователям",
+ "System tag management" : "Управление системными метками",
+ "If enabled, only administrators can create and edit tags. Accounts can still assign and remove them from files." : "Если включено, только администраторы смогут создавать и редактировать метки. Пользователи всё ещё смогут назначать и удалять их с файлов.",
+ "Restrict tag creation and editing to administrators" : "Разрешить создание и редактирование меток только администраторам",
"Collaborative tags are available for all users. Restricted tags are visible to users but cannot be assigned by them. Invisible tags are for internal use, since users cannot see or assign them." : "Совместные теги доступны для всех пользователей. Ограниченные теги видны пользователям, но не могут быть назначены ими. Невидимые теги предназначены для внутреннего использования, поскольку пользователи не могут их видеть или назначать.",
"Assigned collaborative tags" : "Присвоенные теги для совместной работы",
"Open in Files" : "Открыть в приложении «Файлы»",
@@ -84,6 +105,7 @@
"Failed to load tag" : "Не удалось загрузить тег",
"Failed to load last used tags" : "Не удалось загрузить последние использованные метки",
"Missing \"Content-Location\" header" : "Отсутствует заголовок «Content-Location»",
+ "A tag with the same name already exists" : "Метка с таким именем уже существует",
"Failed to load tags for file" : "Не удалось загрузить метки для файла",
"Failed to set tag for file" : "Не удалось поставить метку файлу",
"Failed to delete tag for file" : "Не удалось удалить метку у файла"
diff --git a/apps/theming/l10n/fr.js b/apps/theming/l10n/fr.js
index 5827c084230..074ab2a9cdf 100644
--- a/apps/theming/l10n/fr.js
+++ b/apps/theming/l10n/fr.js
@@ -75,6 +75,7 @@ OC.L10N.register(
"Background and login image" : "Image d'arrière-plan et de connexion",
"Advanced options" : "Options avancées",
"Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installez l'extension PHP ImageMagick qui prend en charge les images SVG pour générer automatiquement des favicons à partir du logo téléversé et de la couleur indiquée.",
+ "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {linkstart}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L’accès universel est très important pour nous. Nous suivons les standards du web et nous assurons que tout soit également utilisable sans souris et avec des logiciels d’assistance technique tels que les lecteurs d’écran. Nous visons à respecter les {linkstart}Règles pour l’accessibilité des contenus Web{linkend} 2.1 de niveau AA et même de niveau AAA avec le thème à fort contraste.",
"If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si vous rencontrez des problèmes, n'hésitez pas à les signaler sur {issuetracker}notre outil de suivi des problèmes{linkend}. Et si vous voulez vous impliquer, venez rejoindre {designteam}notre équipe de design{linkend} !",
"Unable to apply the setting." : "Impossible d'appliquer le réglage.",
"Appearance and accessibility settings" : "Paramètres d’apparence et d’accessibilité",
diff --git a/apps/theming/l10n/fr.json b/apps/theming/l10n/fr.json
index 4212fb59560..8daa7ef3e89 100644
--- a/apps/theming/l10n/fr.json
+++ b/apps/theming/l10n/fr.json
@@ -73,6 +73,7 @@
"Background and login image" : "Image d'arrière-plan et de connexion",
"Advanced options" : "Options avancées",
"Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installez l'extension PHP ImageMagick qui prend en charge les images SVG pour générer automatiquement des favicons à partir du logo téléversé et de la couleur indiquée.",
+ "Universal access is very important to us. We follow web standards and check to make everything usable also without mouse, and assistive software such as screenreaders. We aim to be compliant with the {linkstart}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L’accès universel est très important pour nous. Nous suivons les standards du web et nous assurons que tout soit également utilisable sans souris et avec des logiciels d’assistance technique tels que les lecteurs d’écran. Nous visons à respecter les {linkstart}Règles pour l’accessibilité des contenus Web{linkend} 2.1 de niveau AA et même de niveau AAA avec le thème à fort contraste.",
"If you find any issues, do not hesitate to report them on {issuetracker}our issue tracker{linkend}. And if you want to get involved, come join {designteam}our design team{linkend}!" : "Si vous rencontrez des problèmes, n'hésitez pas à les signaler sur {issuetracker}notre outil de suivi des problèmes{linkend}. Et si vous voulez vous impliquer, venez rejoindre {designteam}notre équipe de design{linkend} !",
"Unable to apply the setting." : "Impossible d'appliquer le réglage.",
"Appearance and accessibility settings" : "Paramètres d’apparence et d’accessibilité",
diff --git a/apps/user_ldap/ajax/deleteConfiguration.php b/apps/user_ldap/ajax/deleteConfiguration.php
index f09295355ac..68bce69f982 100644
--- a/apps/user_ldap/ajax/deleteConfiguration.php
+++ b/apps/user_ldap/ajax/deleteConfiguration.php
@@ -1,8 +1,6 @@
<?php
use OCA\User_LDAP\Helper;
-use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\Server;
use OCP\Util;
@@ -17,7 +15,7 @@ use OCP\Util;
\OC_JSON::callCheck();
$prefix = (string)$_POST['ldap_serverconfig_chooser'];
-$helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+$helper = Server::get(Helper::class);
if ($helper->deleteServerConfiguration($prefix)) {
\OC_JSON::success();
} else {
diff --git a/apps/user_ldap/ajax/getNewServerConfigPrefix.php b/apps/user_ldap/ajax/getNewServerConfigPrefix.php
index e8746a7c1b1..e5ba6375c73 100644
--- a/apps/user_ldap/ajax/getNewServerConfigPrefix.php
+++ b/apps/user_ldap/ajax/getNewServerConfigPrefix.php
@@ -2,8 +2,6 @@
use OCA\User_LDAP\Configuration;
use OCA\User_LDAP\Helper;
-use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\Server;
/**
@@ -16,7 +14,7 @@ use OCP\Server;
\OC_JSON::checkAppEnabled('user_ldap');
\OC_JSON::callCheck();
-$helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+$helper = Server::get(Helper::class);
$serverConnections = $helper->getServerConfigurationPrefixes();
sort($serverConnections);
$lk = array_pop($serverConnections);
diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js
index cf6df1a9362..8f5aaf91239 100644
--- a/apps/user_ldap/l10n/fr.js
+++ b/apps/user_ldap/l10n/fr.js
@@ -6,10 +6,12 @@ OC.L10N.register(
"Invalid configuration: Anonymous binding is not allowed." : "Configuration non valable : Le lien anonyme n'est pas autorisé.",
"Valid configuration, connection established!" : "Configuration valide, connexion établie !",
"Valid configuration, but binding failed. Please check the server settings and credentials." : "Configuration valide, mais le lien a échoué. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.",
+ "Invalid configuration: %s" : "Configuration non valide : %s",
"No action specified" : "Aucune action spécifiée",
"No configuration specified" : "Aucune configuration spécifiée",
"No data specified" : "Aucune donnée spécifiée",
"Invalid data specified" : "Données spécifiées invalides",
+ "Could not set configuration %1$s to %2$s" : "Impossible de changer la configuration %1$s pour %2$s",
"Action does not exist" : "L'action n'existe pas",
"Renewing …" : "Renouvellement en cours...",
"Very weak password" : "Mot de passe très faible",
@@ -52,6 +54,14 @@ OC.L10N.register(
"The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "La chaîne \"%uid\" est manquante. Cette chaîne est remplacée par l'identifiant de connexion lors des requêtes LDAP/AD.",
"Please provide a login name to test against" : "Veuillez indiquer un identifiant de connexion avec lequel tester.",
"The group box was disabled, because the LDAP/AD server does not support memberOf." : "Les groupes sont désactivés car le serveur LDAP/AD ne prend pas en charge memberOf.",
+ "Password change rejected. Hint: %s" : "Changement du mot de passe rejetée. Astuce : %s",
+ "Mandatory field \"%s\" left empty" : "Le champ obligatoire \"%s\" n'est pas renseigné",
+ "A password is given, but not an LDAP agent" : "Un mot de passe est indiqué, mais pas un agent LDAP",
+ "No password is given for the user agent" : "Aucun mot de passe n'est indiqué pour l'agent utilisateur",
+ "No LDAP base DN was given" : "Aucun DN de base LDAP n'a été indiqué",
+ "User base DN is not a subnode of global base DN" : "Le DN de base utilisateur n'est pas un sous-noeud du DN de base global",
+ "Group base DN is not a subnode of global base DN" : "Le DN de base du groupe n'est pas un sous-noeud du DN de base global",
+ "Login filter does not contain %s placeholder." : "Le filtre de connexion ne doit pas contenir l'élément de substitution %s",
"Please login with the new password" : "Veuillez vous connecter avec le nouveau mot de passe",
"LDAP User backend" : "Infrastructure utilisateur LDAP",
"Your password will expire tomorrow." : "Votre mot de passe expirera demain",
diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json
index 1b3111a060c..666b4fac5b4 100644
--- a/apps/user_ldap/l10n/fr.json
+++ b/apps/user_ldap/l10n/fr.json
@@ -4,10 +4,12 @@
"Invalid configuration: Anonymous binding is not allowed." : "Configuration non valable : Le lien anonyme n'est pas autorisé.",
"Valid configuration, connection established!" : "Configuration valide, connexion établie !",
"Valid configuration, but binding failed. Please check the server settings and credentials." : "Configuration valide, mais le lien a échoué. Veuillez vérifier les paramètres du serveur ainsi que vos identifiants de connexion.",
+ "Invalid configuration: %s" : "Configuration non valide : %s",
"No action specified" : "Aucune action spécifiée",
"No configuration specified" : "Aucune configuration spécifiée",
"No data specified" : "Aucune donnée spécifiée",
"Invalid data specified" : "Données spécifiées invalides",
+ "Could not set configuration %1$s to %2$s" : "Impossible de changer la configuration %1$s pour %2$s",
"Action does not exist" : "L'action n'existe pas",
"Renewing …" : "Renouvellement en cours...",
"Very weak password" : "Mot de passe très faible",
@@ -50,6 +52,14 @@
"The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "La chaîne \"%uid\" est manquante. Cette chaîne est remplacée par l'identifiant de connexion lors des requêtes LDAP/AD.",
"Please provide a login name to test against" : "Veuillez indiquer un identifiant de connexion avec lequel tester.",
"The group box was disabled, because the LDAP/AD server does not support memberOf." : "Les groupes sont désactivés car le serveur LDAP/AD ne prend pas en charge memberOf.",
+ "Password change rejected. Hint: %s" : "Changement du mot de passe rejetée. Astuce : %s",
+ "Mandatory field \"%s\" left empty" : "Le champ obligatoire \"%s\" n'est pas renseigné",
+ "A password is given, but not an LDAP agent" : "Un mot de passe est indiqué, mais pas un agent LDAP",
+ "No password is given for the user agent" : "Aucun mot de passe n'est indiqué pour l'agent utilisateur",
+ "No LDAP base DN was given" : "Aucun DN de base LDAP n'a été indiqué",
+ "User base DN is not a subnode of global base DN" : "Le DN de base utilisateur n'est pas un sous-noeud du DN de base global",
+ "Group base DN is not a subnode of global base DN" : "Le DN de base du groupe n'est pas un sous-noeud du DN de base global",
+ "Login filter does not contain %s placeholder." : "Le filtre de connexion ne doit pas contenir l'élément de substitution %s",
"Please login with the new password" : "Veuillez vous connecter avec le nouveau mot de passe",
"LDAP User backend" : "Infrastructure utilisateur LDAP",
"Your password will expire tomorrow." : "Votre mot de passe expirera demain",
diff --git a/apps/user_ldap/l10n/gl.js b/apps/user_ldap/l10n/gl.js
index d97ec49e13c..a39e92ab1f8 100644
--- a/apps/user_ldap/l10n/gl.js
+++ b/apps/user_ldap/l10n/gl.js
@@ -61,6 +61,7 @@ OC.L10N.register(
"No LDAP base DN was given" : "Non se indicou un DN base de LDAP",
"User base DN is not a subnode of global base DN" : "O DN base do usuario non é un subnodo do DN base global",
"Group base DN is not a subnode of global base DN" : "O DN base de grupo non é un subnodo do DN base global",
+ "Login filter does not contain %s placeholder." : "O filtro de inicio de sesión non contén o marcador de substitución %s.",
"Please login with the new password" : "Acceda co novo contrasinal",
"LDAP User backend" : "Infraestrutura do usuario LDAP",
"Your password will expire tomorrow." : "O seu contrasinal caduca mañá.",
diff --git a/apps/user_ldap/l10n/gl.json b/apps/user_ldap/l10n/gl.json
index 952066b7994..58b0658ebf0 100644
--- a/apps/user_ldap/l10n/gl.json
+++ b/apps/user_ldap/l10n/gl.json
@@ -59,6 +59,7 @@
"No LDAP base DN was given" : "Non se indicou un DN base de LDAP",
"User base DN is not a subnode of global base DN" : "O DN base do usuario non é un subnodo do DN base global",
"Group base DN is not a subnode of global base DN" : "O DN base de grupo non é un subnodo do DN base global",
+ "Login filter does not contain %s placeholder." : "O filtro de inicio de sesión non contén o marcador de substitución %s.",
"Please login with the new password" : "Acceda co novo contrasinal",
"LDAP User backend" : "Infraestrutura do usuario LDAP",
"Your password will expire tomorrow." : "O seu contrasinal caduca mañá.",
diff --git a/apps/user_ldap/lib/Command/Search.php b/apps/user_ldap/lib/Command/Search.php
index ad13c94c84a..85906b20e9a 100644
--- a/apps/user_ldap/lib/Command/Search.php
+++ b/apps/user_ldap/lib/Command/Search.php
@@ -12,7 +12,6 @@ use OCA\User_LDAP\Helper;
use OCA\User_LDAP\LDAP;
use OCA\User_LDAP\User_Proxy;
use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\Server;
use Symfony\Component\Console\Command\Command;
@@ -83,7 +82,7 @@ class Search extends Command {
}
protected function execute(InputInterface $input, OutputInterface $output): int {
- $helper = new Helper($this->ocConfig, Server::get(IDBConnection::class));
+ $helper = Server::get(Helper::class);
$configPrefixes = $helper->getServerConfigurationPrefixes(true);
$ldapWrapper = new LDAP();
diff --git a/apps/user_ldap/lib/Command/SetConfig.php b/apps/user_ldap/lib/Command/SetConfig.php
index 5a0b65a2c3e..7e9efcf34d0 100644
--- a/apps/user_ldap/lib/Command/SetConfig.php
+++ b/apps/user_ldap/lib/Command/SetConfig.php
@@ -11,8 +11,6 @@ use OCA\User_LDAP\Configuration;
use OCA\User_LDAP\ConnectionFactory;
use OCA\User_LDAP\Helper;
use OCA\User_LDAP\LDAP;
-use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\Server;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
@@ -43,7 +41,7 @@ class SetConfig extends Command {
}
protected function execute(InputInterface $input, OutputInterface $output): int {
- $helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+ $helper = Server::get(Helper::class);
$availableConfigs = $helper->getServerConfigurationPrefixes();
$configID = $input->getArgument('configID');
if (!in_array($configID, $availableConfigs)) {
diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php
index 78a5f93d29e..b25a2e72b2b 100644
--- a/apps/user_ldap/lib/Connection.php
+++ b/apps/user_ldap/lib/Connection.php
@@ -11,8 +11,6 @@ use OC\ServerNotAvailableException;
use OCA\User_LDAP\Exceptions\ConfigurationIssueException;
use OCP\ICache;
use OCP\ICacheFactory;
-use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\IL10N;
use OCP\Server;
use OCP\Util;
@@ -156,7 +154,7 @@ class Connection extends LDAPUtility {
if ($memcache->isAvailable()) {
$this->cache = $memcache->createDistributed();
}
- $helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+ $helper = Server::get(Helper::class);
$this->doNotValidate = !in_array($this->configPrefix,
$helper->getServerConfigurationPrefixes());
$this->logger = Server::get(LoggerInterface::class);
diff --git a/apps/user_ldap/lib/Helper.php b/apps/user_ldap/lib/Helper.php
index 27c19e6c4f5..d3abf04fd1e 100644
--- a/apps/user_ldap/lib/Helper.php
+++ b/apps/user_ldap/lib/Helper.php
@@ -9,7 +9,7 @@ namespace OCA\User_LDAP;
use OCP\Cache\CappedMemoryCache;
use OCP\DB\QueryBuilder\IQueryBuilder;
-use OCP\IConfig;
+use OCP\IAppConfig;
use OCP\IDBConnection;
use OCP\Server;
@@ -18,7 +18,7 @@ class Helper {
protected CappedMemoryCache $sanitizeDnCache;
public function __construct(
- private IConfig $config,
+ private IAppConfig $appConfig,
private IDBConnection $connection,
) {
$this->sanitizeDnCache = new CappedMemoryCache(10000);
@@ -45,21 +45,37 @@ class Helper {
* except the default (first) server shall be connected to.
*
*/
- public function getServerConfigurationPrefixes($activeConfigurations = false): array {
+ public function getServerConfigurationPrefixes(bool $activeConfigurations = false): array {
+ $all = $this->getAllServerConfigurationPrefixes();
+ if (!$activeConfigurations) {
+ return $all;
+ }
+ return array_values(array_filter(
+ $all,
+ fn (string $prefix): bool => ($this->appConfig->getValueString('user_ldap', $prefix . 'ldap_configuration_active') === '1')
+ ));
+ }
+
+ protected function getAllServerConfigurationPrefixes(): array {
+ $unfilled = ['UNFILLED'];
+ $prefixes = $this->appConfig->getValueArray('user_ldap', 'configuration_prefixes', $unfilled);
+ if ($prefixes !== $unfilled) {
+ return $prefixes;
+ }
+
+ /* Fallback to browsing key for migration from Nextcloud<32 */
$referenceConfigkey = 'ldap_configuration_active';
$keys = $this->getServersConfig($referenceConfigkey);
$prefixes = [];
foreach ($keys as $key) {
- if ($activeConfigurations && $this->config->getAppValue('user_ldap', $key, '0') !== '1') {
- continue;
- }
-
$len = strlen($key) - strlen($referenceConfigkey);
$prefixes[] = substr($key, 0, $len);
}
- asort($prefixes);
+ sort($prefixes);
+
+ $this->appConfig->setValueArray('user_ldap', 'configuration_prefixes', $prefixes);
return $prefixes;
}
@@ -68,46 +84,45 @@ class Helper {
*
* determines the host for every configured connection
*
- * @return array an array with configprefix as keys
+ * @return array<string,string> an array with configprefix as keys
*
*/
- public function getServerConfigurationHosts() {
- $referenceConfigkey = 'ldap_host';
-
- $keys = $this->getServersConfig($referenceConfigkey);
+ public function getServerConfigurationHosts(): array {
+ $prefixes = $this->getServerConfigurationPrefixes();
+ $referenceConfigkey = 'ldap_host';
$result = [];
- foreach ($keys as $key) {
- $len = strlen($key) - strlen($referenceConfigkey);
- $prefix = substr($key, 0, $len);
- $result[$prefix] = $this->config->getAppValue('user_ldap', $key);
+ foreach ($prefixes as $prefix) {
+ $result[$prefix] = $this->appConfig->getValueString('user_ldap', $prefix . $referenceConfigkey);
}
return $result;
}
/**
- * return the next available configuration prefix
- *
- * @return string
+ * return the next available configuration prefix and register it as used
*/
- public function getNextServerConfigurationPrefix() {
- $serverConnections = $this->getServerConfigurationPrefixes();
-
- if (count($serverConnections) === 0) {
- return 's01';
+ public function getNextServerConfigurationPrefix(): string {
+ $prefixes = $this->getServerConfigurationPrefixes();
+
+ if (count($prefixes) === 0) {
+ $prefix = 's01';
+ } else {
+ sort($prefixes);
+ $lastKey = array_pop($prefixes);
+ $lastNumber = (int)str_replace('s', '', $lastKey);
+ $prefix = 's' . str_pad((string)($lastNumber + 1), 2, '0', STR_PAD_LEFT);
}
- sort($serverConnections);
- $lastKey = array_pop($serverConnections);
- $lastNumber = (int)str_replace('s', '', $lastKey);
- return 's' . str_pad((string)($lastNumber + 1), 2, '0', STR_PAD_LEFT);
+ $prefixes[] = $prefix;
+ $this->appConfig->setValueArray('user_ldap', 'configuration_prefixes', $prefixes);
+ return $prefix;
}
private function getServersConfig(string $value): array {
$regex = '/' . $value . '$/S';
- $keys = $this->config->getAppKeys('user_ldap');
+ $keys = $this->appConfig->getKeys('user_ldap');
$result = [];
foreach ($keys as $key) {
if (preg_match($regex, $key) === 1) {
@@ -125,7 +140,9 @@ class Helper {
* @return bool true on success, false otherwise
*/
public function deleteServerConfiguration($prefix) {
- if (!in_array($prefix, self::getServerConfigurationPrefixes())) {
+ $prefixes = $this->getServerConfigurationPrefixes();
+ $index = array_search($prefix, $prefixes);
+ if ($index === false) {
return false;
}
@@ -144,7 +161,11 @@ class Helper {
$query->andWhere($query->expr()->notLike('configkey', $query->createNamedParameter('s%')));
}
- $deletedRows = $query->execute();
+ $deletedRows = $query->executeStatement();
+
+ unset($prefixes[$index]);
+ $this->appConfig->setValueArray('user_ldap', 'configuration_prefixes', array_values($prefixes));
+
return $deletedRows !== 0;
}
@@ -152,10 +173,13 @@ class Helper {
* checks whether there is one or more disabled LDAP configurations
*/
public function haveDisabledConfigurations(): bool {
- $all = $this->getServerConfigurationPrefixes(false);
- $active = $this->getServerConfigurationPrefixes(true);
-
- return count($all) !== count($active) || count($all) === 0;
+ $all = $this->getServerConfigurationPrefixes();
+ foreach ($all as $prefix) {
+ if ($this->appConfig->getValueString('user_ldap', $prefix . 'ldap_configuration_active') !== '1') {
+ return true;
+ }
+ }
+ return false;
}
/**
diff --git a/apps/user_ldap/lib/Jobs/CleanUp.php b/apps/user_ldap/lib/Jobs/CleanUp.php
index 7cfc473c950..a1309c0c463 100644
--- a/apps/user_ldap/lib/Jobs/CleanUp.php
+++ b/apps/user_ldap/lib/Jobs/CleanUp.php
@@ -67,7 +67,7 @@ class CleanUp extends TimedJob {
if (isset($arguments['helper'])) {
$this->ldapHelper = $arguments['helper'];
} else {
- $this->ldapHelper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+ $this->ldapHelper = Server::get(Helper::class);
}
if (isset($arguments['ocConfig'])) {
diff --git a/apps/user_ldap/lib/Settings/Admin.php b/apps/user_ldap/lib/Settings/Admin.php
index 014210ca8f0..49868eb68c7 100644
--- a/apps/user_ldap/lib/Settings/Admin.php
+++ b/apps/user_ldap/lib/Settings/Admin.php
@@ -8,8 +8,6 @@ namespace OCA\User_LDAP\Settings;
use OCA\User_LDAP\Configuration;
use OCA\User_LDAP\Helper;
use OCP\AppFramework\Http\TemplateResponse;
-use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\IL10N;
use OCP\Server;
use OCP\Settings\IDelegatedSettings;
@@ -26,7 +24,7 @@ class Admin implements IDelegatedSettings {
* @return TemplateResponse
*/
public function getForm() {
- $helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+ $helper = Server::get(Helper::class);
$prefixes = $helper->getServerConfigurationPrefixes();
if (count($prefixes) === 0) {
$newPrefix = $helper->getNextServerConfigurationPrefix();
diff --git a/apps/user_ldap/tests/AccessTest.php b/apps/user_ldap/tests/AccessTest.php
index 86ce2aff854..eafaeb76403 100644
--- a/apps/user_ldap/tests/AccessTest.php
+++ b/apps/user_ldap/tests/AccessTest.php
@@ -25,7 +25,6 @@ use OCP\HintException;
use OCP\IAppConfig;
use OCP\IAvatarManager;
use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\Image;
use OCP\IUserManager;
use OCP\Notification\IManager as INotificationManager;
@@ -110,7 +109,7 @@ class AccessTest extends TestCase {
$this->createMock(INotificationManager::class),
$this->shareManager])
->getMock();
- $helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+ $helper = Server::get(Helper::class);
return [$lw, $connector, $um, $helper];
}
diff --git a/apps/user_ldap/tests/HelperTest.php b/apps/user_ldap/tests/HelperTest.php
index 470b67c5531..adea600d900 100644
--- a/apps/user_ldap/tests/HelperTest.php
+++ b/apps/user_ldap/tests/HelperTest.php
@@ -8,7 +8,7 @@ declare(strict_types=1);
namespace OCA\User_LDAP\Tests;
use OCA\User_LDAP\Helper;
-use OCP\IConfig;
+use OCP\IAppConfig;
use OCP\IDBConnection;
use OCP\Server;
use PHPUnit\Framework\MockObject\MockObject;
@@ -17,45 +17,53 @@ use PHPUnit\Framework\MockObject\MockObject;
* @group DB
*/
class HelperTest extends \Test\TestCase {
- private IConfig&MockObject $config;
+ private IAppConfig&MockObject $appConfig;
private Helper $helper;
protected function setUp(): void {
parent::setUp();
- $this->config = $this->createMock(IConfig::class);
- $this->helper = new Helper($this->config, Server::get(IDBConnection::class));
+ $this->appConfig = $this->createMock(IAppConfig::class);
+ $this->helper = new Helper(
+ $this->appConfig,
+ Server::get(IDBConnection::class)
+ );
}
public function testGetServerConfigurationPrefixes(): void {
- $this->config->method('getAppKeys')
- ->with($this->equalTo('user_ldap'))
+ $this->appConfig->method('getKeys')
+ ->with('user_ldap')
->willReturn([
'foo',
'ldap_configuration_active',
's1ldap_configuration_active',
]);
+ $this->appConfig->method('getValueArray')
+ ->with('user_ldap', 'configuration_prefixes')
+ -> willReturnArgument(2);
+
$result = $this->helper->getServerConfigurationPrefixes(false);
$this->assertEquals(['', 's1'], $result);
}
public function testGetServerConfigurationPrefixesActive(): void {
- $this->config->method('getAppKeys')
- ->with($this->equalTo('user_ldap'))
+ $this->appConfig->method('getKeys')
+ ->with('user_ldap')
->willReturn([
'foo',
'ldap_configuration_active',
's1ldap_configuration_active',
]);
- $this->config->method('getAppValue')
+ $this->appConfig->method('getValueArray')
+ ->with('user_ldap', 'configuration_prefixes')
+ -> willReturnArgument(2);
+
+ $this->appConfig->method('getValueString')
->willReturnCallback(function ($app, $key, $default) {
- if ($app !== 'user_ldap') {
- $this->fail('wrong app');
- }
if ($key === 's1ldap_configuration_active') {
return '1';
}
@@ -67,21 +75,58 @@ class HelperTest extends \Test\TestCase {
$this->assertEquals(['s1'], $result);
}
- public function testGetServerConfigurationHost(): void {
- $this->config->method('getAppKeys')
- ->with($this->equalTo('user_ldap'))
+ public function testGetServerConfigurationHostFromAppKeys(): void {
+ $this->appConfig->method('getKeys')
+ ->with('user_ldap')
->willReturn([
'foo',
'ldap_host',
's1ldap_host',
's02ldap_host',
+ 'ldap_configuration_active',
+ 's1ldap_configuration_active',
+ 's02ldap_configuration_active',
]);
- $this->config->method('getAppValue')
+ $this->appConfig->method('getValueArray')
+ ->with('user_ldap', 'configuration_prefixes')
+ -> willReturnArgument(2);
+
+ $this->appConfig->method('getValueString')
->willReturnCallback(function ($app, $key, $default) {
- if ($app !== 'user_ldap') {
- $this->fail('wrong app');
+ if ($key === 'ldap_host') {
+ return 'example.com';
}
+ if ($key === 's1ldap_host') {
+ return 'foo.bar.com';
+ }
+ return $default;
+ });
+
+ $result = $this->helper->getServerConfigurationHosts();
+
+ $this->assertEquals([
+ '' => 'example.com',
+ 's1' => 'foo.bar.com',
+ 's02' => '',
+ ], $result);
+ }
+
+ public function testGetServerConfigurationHost(): void {
+ $this->appConfig
+ ->expects(self::never())
+ ->method('getKeys');
+
+ $this->appConfig->method('getValueArray')
+ ->with('user_ldap', 'configuration_prefixes')
+ -> willReturn([
+ '',
+ 's1',
+ 's02',
+ ]);
+
+ $this->appConfig->method('getValueString')
+ ->willReturnCallback(function ($app, $key, $default) {
if ($key === 'ldap_host') {
return 'example.com';
}
diff --git a/apps/user_ldap/tests/Integration/AbstractIntegrationTest.php b/apps/user_ldap/tests/Integration/AbstractIntegrationTest.php
index be8d7702cd1..00f8be18586 100644
--- a/apps/user_ldap/tests/Integration/AbstractIntegrationTest.php
+++ b/apps/user_ldap/tests/Integration/AbstractIntegrationTest.php
@@ -16,7 +16,6 @@ use OCA\User_LDAP\User\Manager;
use OCA\User_LDAP\UserPluginManager;
use OCP\IAvatarManager;
use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\Image;
use OCP\IUserManager;
use OCP\Server;
@@ -125,7 +124,7 @@ abstract class AbstractIntegrationTest {
* initializes the test Helper
*/
protected function initHelper() {
- $this->helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+ $this->helper = Server::get(Helper::class);
}
/**
diff --git a/apps/user_ldap/tests/LDAPProviderTest.php b/apps/user_ldap/tests/LDAPProviderTest.php
index a4da4a91948..57323e374aa 100644
--- a/apps/user_ldap/tests/LDAPProviderTest.php
+++ b/apps/user_ldap/tests/LDAPProviderTest.php
@@ -21,7 +21,6 @@ use OCA\User_LDAP\User_LDAP;
use OCP\EventDispatcher\IEventDispatcher;
use OCP\ICacheFactory;
use OCP\IConfig;
-use OCP\IDBConnection;
use OCP\IServerContainer;
use OCP\Server;
use Psr\Log\LoggerInterface;
@@ -199,7 +198,7 @@ class LDAPProviderTest extends \Test\TestCase {
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
- $helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+ $helper = Server::get(Helper::class);
$ldapProvider = $this->getLDAPProvider($server);
$this->assertEquals(
@@ -212,7 +211,7 @@ class LDAPProviderTest extends \Test\TestCase {
$server = $this->getServerMock($userBackend, $this->getDefaultGroupBackendMock());
- $helper = new Helper(Server::get(IConfig::class), Server::get(IDBConnection::class));
+ $helper = Server::get(Helper::class);
$ldapProvider = $this->getLDAPProvider($server);
$this->assertEquals(
diff --git a/apps/user_status/l10n/nl.js b/apps/user_status/l10n/nl.js
index 1f9f157d3a1..99655a094fc 100644
--- a/apps/user_status/l10n/nl.js
+++ b/apps/user_status/l10n/nl.js
@@ -17,11 +17,17 @@ OC.L10N.register(
"Predefined statuses" : "Voorgedefinieerde statussen",
"Previously set" : "Eerder ingesteld",
"Reset status" : "Reset status",
+ "Reset status to \"{icon} {message}\"" : "Status terugzetten naar \"{icon} {message}\"",
+ "Reset status to \"{message}\"" : "Status terugzetten naar \"{message}\"",
+ "Reset status to \"{icon}\"" : "Status terugzetten naar \"{icon}\"",
"There was an error saving the status" : "Er is een fout opgetreden bij het bewaren van de status",
"There was an error clearing the status" : "Er is een fout opgetreden bij het leegmaken van de status",
+ "There was an error reverting the status" : "Er was een fout bij het terugdraaien van de status",
"Set status" : "Status instellen",
"Online status" : "Online status",
"Status message" : "Statusbericht",
+ "Set absence period" : "Afwezigheidsperiode instellen",
+ "Set absence period and replacement" : "Afwezigheidsperiode en vervanging instellen",
"Your status was set automatically" : "Uw status is automatisch ingesteld",
"Clear status message" : "Statusbericht wissen",
"Set status message" : "Statusbericht instellen",
diff --git a/apps/user_status/l10n/nl.json b/apps/user_status/l10n/nl.json
index 58cfe0c305e..f345b68c6ef 100644
--- a/apps/user_status/l10n/nl.json
+++ b/apps/user_status/l10n/nl.json
@@ -15,11 +15,17 @@
"Predefined statuses" : "Voorgedefinieerde statussen",
"Previously set" : "Eerder ingesteld",
"Reset status" : "Reset status",
+ "Reset status to \"{icon} {message}\"" : "Status terugzetten naar \"{icon} {message}\"",
+ "Reset status to \"{message}\"" : "Status terugzetten naar \"{message}\"",
+ "Reset status to \"{icon}\"" : "Status terugzetten naar \"{icon}\"",
"There was an error saving the status" : "Er is een fout opgetreden bij het bewaren van de status",
"There was an error clearing the status" : "Er is een fout opgetreden bij het leegmaken van de status",
+ "There was an error reverting the status" : "Er was een fout bij het terugdraaien van de status",
"Set status" : "Status instellen",
"Online status" : "Online status",
"Status message" : "Statusbericht",
+ "Set absence period" : "Afwezigheidsperiode instellen",
+ "Set absence period and replacement" : "Afwezigheidsperiode en vervanging instellen",
"Your status was set automatically" : "Uw status is automatisch ingesteld",
"Clear status message" : "Statusbericht wissen",
"Set status message" : "Statusbericht instellen",
diff --git a/apps/weather_status/l10n/nl.js b/apps/weather_status/l10n/nl.js
index cc1d6f74cd7..44c10c74402 100644
--- a/apps/weather_status/l10n/nl.js
+++ b/apps/weather_status/l10n/nl.js
@@ -7,12 +7,21 @@ OC.L10N.register(
"Error" : "Fout",
"Weather status" : "Weerstatus",
"Weather status in your dashboard" : "Weerstatus in je dashboard",
+ "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Weerstatus geïntegreerd in de Dashboard-app.\n De geografische locatie kan automatisch worden bepaald of handmatig worden gedefinieerd. Vervolgens wordt een voorspelling van 6 uur weergegeven.\n Deze status kan ook op andere plaatsen worden geïntegreerd, zoals de Agenda-app.",
"{temperature} {unit} clear sky later today" : "{temperature}{unit} later vandaag onbewolkt ",
"{temperature} {unit} clear sky" : "{temperature}{unit} onbewolkt",
"{temperature} {unit} cloudy later today" : "{temperature} {unit} bewolkt later vandaag",
"{temperature} {unit} cloudy" : "{temperature} {unit} bewolkt",
"{temperature} {unit} snow and thunder later today" : "{temperature}{unit} sneeuw en onweer later vandaag",
"{temperature} {unit} snow and thunder" : "{temperature}{unit} sneeuw en onweer",
+ "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} sneeuwbuien en onweer later vandaag",
+ "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} sneeuwbuien en onweer",
+ "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} sneeuwbuien, onweer en poolschemering later vandaag",
+ "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} sneeuwbuien, onweer en poolschemering",
+ "{temperature} {unit} snow showers later today" : "{temperature} {unit} snow showers later today",
+ "{temperature} {unit} snow showers" : "{temperature} {unit} sneeuwbuien",
+ "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} sneeuwbuien en poolschemering later vandaag",
+ "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} sneeuwbuien en poolschemering",
"{temperature} {unit} snow later today" : "{temperature}{unit} sneeuw later vandaag",
"{temperature} {unit} snow" : "{temperature}{unit}sneeuw",
"{temperature} {unit} fair weather later today" : "{temperature} {unit} lekker weer later vandaag",
@@ -46,6 +55,7 @@ OC.L10N.register(
"There was an error setting the location." : "Er is een fout opgetreden bij het vastleggen van de locatie.",
"There was an error saving the mode." : "Er was een fout in het vastleggen van de modus.",
"There was an error using personal address." : "Er was een fout bij het gebruiken van je persoonlijke adres.",
+ "Unknown weather code" : "Onbekende weercode",
"Detect location" : "Locatie detecteren",
"Set custom address" : "Aangepast adres instellen",
"Favorites" : "Favorieten"
diff --git a/apps/weather_status/l10n/nl.json b/apps/weather_status/l10n/nl.json
index 231859c70ee..2786990bf5c 100644
--- a/apps/weather_status/l10n/nl.json
+++ b/apps/weather_status/l10n/nl.json
@@ -5,12 +5,21 @@
"Error" : "Fout",
"Weather status" : "Weerstatus",
"Weather status in your dashboard" : "Weerstatus in je dashboard",
+ "Weather status integrated in the Dashboard app.\n The geographic location can be automatically determined or manually defined. A 6 hours forecast is then displayed.\n This status can also be integrated in other places like the Calendar app." : "Weerstatus geïntegreerd in de Dashboard-app.\n De geografische locatie kan automatisch worden bepaald of handmatig worden gedefinieerd. Vervolgens wordt een voorspelling van 6 uur weergegeven.\n Deze status kan ook op andere plaatsen worden geïntegreerd, zoals de Agenda-app.",
"{temperature} {unit} clear sky later today" : "{temperature}{unit} later vandaag onbewolkt ",
"{temperature} {unit} clear sky" : "{temperature}{unit} onbewolkt",
"{temperature} {unit} cloudy later today" : "{temperature} {unit} bewolkt later vandaag",
"{temperature} {unit} cloudy" : "{temperature} {unit} bewolkt",
"{temperature} {unit} snow and thunder later today" : "{temperature}{unit} sneeuw en onweer later vandaag",
"{temperature} {unit} snow and thunder" : "{temperature}{unit} sneeuw en onweer",
+ "{temperature} {unit} snow showers and thunder later today" : "{temperature} {unit} sneeuwbuien en onweer later vandaag",
+ "{temperature} {unit} snow showers and thunder" : "{temperature} {unit} sneeuwbuien en onweer",
+ "{temperature} {unit} snow showers, thunder and polar twilight later today" : "{temperature} {unit} sneeuwbuien, onweer en poolschemering later vandaag",
+ "{temperature} {unit} snow showers, thunder and polar twilight" : "{temperature} {unit} sneeuwbuien, onweer en poolschemering",
+ "{temperature} {unit} snow showers later today" : "{temperature} {unit} snow showers later today",
+ "{temperature} {unit} snow showers" : "{temperature} {unit} sneeuwbuien",
+ "{temperature} {unit} snow showers and polar twilight later today" : "{temperature} {unit} sneeuwbuien en poolschemering later vandaag",
+ "{temperature} {unit} snow showers and polar twilight" : "{temperature} {unit} sneeuwbuien en poolschemering",
"{temperature} {unit} snow later today" : "{temperature}{unit} sneeuw later vandaag",
"{temperature} {unit} snow" : "{temperature}{unit}sneeuw",
"{temperature} {unit} fair weather later today" : "{temperature} {unit} lekker weer later vandaag",
@@ -44,6 +53,7 @@
"There was an error setting the location." : "Er is een fout opgetreden bij het vastleggen van de locatie.",
"There was an error saving the mode." : "Er was een fout in het vastleggen van de modus.",
"There was an error using personal address." : "Er was een fout bij het gebruiken van je persoonlijke adres.",
+ "Unknown weather code" : "Onbekende weercode",
"Detect location" : "Locatie detecteren",
"Set custom address" : "Aangepast adres instellen",
"Favorites" : "Favorieten"
diff --git a/apps/workflowengine/l10n/nl.js b/apps/workflowengine/l10n/nl.js
index abcf9e7bd0c..a86b92ea72c 100644
--- a/apps/workflowengine/l10n/nl.js
+++ b/apps/workflowengine/l10n/nl.js
@@ -69,6 +69,7 @@ OC.L10N.register(
"Select a user agent" : "Selecteer een 'user agent'",
"Select groups" : "Selecteer groepen",
"Groups" : "Groepen",
+ "Type to search for group …" : "Type om groep te zoeken …",
"Select a trigger" : "Selecteer een trigger",
"At least one event must be selected" : "Er moet minimaal één gebeurtenis worden geselecteerd",
"Add new flow" : "Nieuwe flow toevoegen",
@@ -82,12 +83,15 @@ OC.L10N.register(
"Delete" : "Verwijderen",
"Available flows" : "Beschikbare flows",
"For details on how to write your own flow, check out the development documentation." : "Raadpleeg de ontwikkeldocumentatie voor meer informatie over het ontwikkelen van je eigen flow.",
+ "No flows installed" : "Geen flows geïnstalleerd",
+ "Ask your administrator to install new flows." : "Vraag de beheerder om nieuwe flows te installeren.",
"More flows" : "Meer flows",
"Browse the App Store" : "Blader door de App Store",
"Show less" : "Toon minder",
"Show more" : "Toon meer",
"Configured flows" : "Geconfigureerde flows",
"Your flows" : "Jouw flows",
+ "No flows configured" : "Geen flows geconfigureerd",
"matches" : "komt overeen",
"does not match" : "komt niet overeen",
"is" : "is",
@@ -112,6 +116,7 @@ OC.L10N.register(
"between" : "tussen",
"not between" : "niet tussen",
"Request user agent" : "Useragent aanvraag",
+ "Group membership" : "Groepslidmaatschap",
"is member of" : "is lid van",
"is not member of" : "is geen lid van"
},
diff --git a/apps/workflowengine/l10n/nl.json b/apps/workflowengine/l10n/nl.json
index 065cb70e943..d2679c172d3 100644
--- a/apps/workflowengine/l10n/nl.json
+++ b/apps/workflowengine/l10n/nl.json
@@ -67,6 +67,7 @@
"Select a user agent" : "Selecteer een 'user agent'",
"Select groups" : "Selecteer groepen",
"Groups" : "Groepen",
+ "Type to search for group …" : "Type om groep te zoeken …",
"Select a trigger" : "Selecteer een trigger",
"At least one event must be selected" : "Er moet minimaal één gebeurtenis worden geselecteerd",
"Add new flow" : "Nieuwe flow toevoegen",
@@ -80,12 +81,15 @@
"Delete" : "Verwijderen",
"Available flows" : "Beschikbare flows",
"For details on how to write your own flow, check out the development documentation." : "Raadpleeg de ontwikkeldocumentatie voor meer informatie over het ontwikkelen van je eigen flow.",
+ "No flows installed" : "Geen flows geïnstalleerd",
+ "Ask your administrator to install new flows." : "Vraag de beheerder om nieuwe flows te installeren.",
"More flows" : "Meer flows",
"Browse the App Store" : "Blader door de App Store",
"Show less" : "Toon minder",
"Show more" : "Toon meer",
"Configured flows" : "Geconfigureerde flows",
"Your flows" : "Jouw flows",
+ "No flows configured" : "Geen flows geconfigureerd",
"matches" : "komt overeen",
"does not match" : "komt niet overeen",
"is" : "is",
@@ -110,6 +114,7 @@
"between" : "tussen",
"not between" : "niet tussen",
"Request user agent" : "Useragent aanvraag",
+ "Group membership" : "Groepslidmaatschap",
"is member of" : "is lid van",
"is not member of" : "is geen lid van"
},"pluralForm" :"nplurals=2; plural=(n != 1);"