summaryrefslogtreecommitdiffstats
path: root/apps
diff options
context:
space:
mode:
Diffstat (limited to 'apps')
-rw-r--r--apps/admin_audit/composer/autoload.php17
-rw-r--r--apps/admin_audit/composer/composer/installed.php4
-rw-r--r--apps/admin_audit/l10n/fr.js4
-rw-r--r--apps/admin_audit/l10n/fr.json4
-rw-r--r--apps/admin_audit/lib/BackgroundJobs/Rotate.php10
-rw-r--r--apps/cloud_federation_api/composer/autoload.php17
-rw-r--r--apps/cloud_federation_api/composer/composer/installed.php4
-rw-r--r--apps/comments/composer/autoload.php17
-rw-r--r--apps/comments/composer/composer/installed.php4
-rw-r--r--apps/comments/l10n/ca.js4
-rw-r--r--apps/comments/l10n/ca.json4
-rw-r--r--apps/comments/l10n/en_GB.js10
-rw-r--r--apps/comments/l10n/en_GB.json10
-rw-r--r--apps/comments/l10n/he.js2
-rw-r--r--apps/comments/l10n/he.json2
-rw-r--r--apps/comments/l10n/uk.js2
-rw-r--r--apps/comments/l10n/uk.json2
-rw-r--r--apps/comments/lib/Activity/Provider.php12
-rw-r--r--apps/comments/lib/Notification/Notifier.php19
-rw-r--r--apps/comments/src/comments-tab.js5
-rw-r--r--apps/comments/src/components/Comment.vue1
-rw-r--r--apps/comments/src/views/Comments.vue39
-rw-r--r--apps/comments/tests/Unit/Notification/NotifierTest.php26
-rw-r--r--apps/contactsinteraction/composer/autoload.php17
-rw-r--r--apps/contactsinteraction/composer/composer/installed.php4
-rw-r--r--apps/contactsinteraction/lib/AddressBook.php19
-rw-r--r--apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php4
-rw-r--r--apps/contactsinteraction/lib/Card.php11
-rw-r--r--apps/contactsinteraction/lib/Db/CardSearchDao.php4
-rw-r--r--apps/contactsinteraction/lib/Db/RecentContact.php24
-rw-r--r--apps/contactsinteraction/lib/Db/RecentContactMapper.php19
-rw-r--r--apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php24
-rw-r--r--apps/dashboard/l10n/ca.js4
-rw-r--r--apps/dashboard/l10n/ca.json4
-rw-r--r--apps/dashboard/l10n/en_GB.js32
-rw-r--r--apps/dashboard/l10n/en_GB.json30
-rw-r--r--apps/dashboard/l10n/hu.js2
-rw-r--r--apps/dashboard/l10n/hu.json2
-rw-r--r--apps/dashboard/l10n/uk.js4
-rw-r--r--apps/dashboard/l10n/uk.json4
-rw-r--r--apps/dav/appinfo/v1/publicwebdav.php7
-rw-r--r--apps/dav/composer/autoload.php17
-rw-r--r--apps/dav/composer/composer/installed.php4
-rw-r--r--apps/dav/l10n/ca.js86
-rw-r--r--apps/dav/l10n/ca.json86
-rw-r--r--apps/dav/l10n/da.js1
-rw-r--r--apps/dav/l10n/da.json1
-rw-r--r--apps/dav/l10n/el.js6
-rw-r--r--apps/dav/l10n/el.json6
-rw-r--r--apps/dav/l10n/en_GB.js160
-rw-r--r--apps/dav/l10n/en_GB.json160
-rw-r--r--apps/dav/l10n/gl.js1
-rw-r--r--apps/dav/l10n/gl.json1
-rw-r--r--apps/dav/l10n/mk.js3
-rw-r--r--apps/dav/l10n/mk.json3
-rw-r--r--apps/dav/l10n/sv.js31
-rw-r--r--apps/dav/l10n/sv.json31
-rw-r--r--apps/dav/lib/CalDAV/Activity/Provider/Base.php18
-rw-r--r--apps/dav/lib/CalDAV/CalendarImpl.php25
-rw-r--r--apps/dav/lib/CalDAV/InvitationResponse/InvitationResponseServer.php7
-rw-r--r--apps/dav/lib/CardDAV/Activity/Provider/Base.php16
-rw-r--r--apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php11
-rw-r--r--apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php2
-rw-r--r--apps/dav/lib/Connector/Sabre/Directory.php6
-rw-r--r--apps/dav/lib/Connector/Sabre/File.php14
-rw-r--r--apps/dav/lib/Connector/Sabre/QuotaPlugin.php39
-rw-r--r--apps/dav/lib/Server.php5
-rw-r--r--apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php8
-rw-r--r--apps/dav/tests/unit/CalDAV/CalendarImplTest.php144
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php4
-rw-r--r--apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php15
-rw-r--r--apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php2
-rw-r--r--apps/encryption/appinfo/info.xml1
-rw-r--r--apps/encryption/composer/autoload.php17
-rw-r--r--apps/encryption/composer/composer/autoload_classmap.php1
-rw-r--r--apps/encryption/composer/composer/autoload_static.php1
-rw-r--r--apps/encryption/composer/composer/installed.php4
-rw-r--r--apps/encryption/l10n/ca.js48
-rw-r--r--apps/encryption/l10n/ca.json48
-rw-r--r--apps/encryption/l10n/da.js4
-rw-r--r--apps/encryption/l10n/da.json4
-rw-r--r--apps/encryption/l10n/fr.js2
-rw-r--r--apps/encryption/l10n/fr.json2
-rw-r--r--apps/encryption/lib/Command/FixEncryptedVersion.php58
-rw-r--r--apps/encryption/lib/Command/FixKeyLocation.php186
-rw-r--r--apps/encryption/lib/Crypto/Crypt.php6
-rw-r--r--apps/encryption/tests/Command/FixEncryptedVersionTest.php2
-rw-r--r--apps/encryption/tests/Crypto/CryptTest.php10
-rw-r--r--apps/federatedfilesharing/composer/autoload.php17
-rw-r--r--apps/federatedfilesharing/composer/composer/installed.php4
-rw-r--r--apps/federatedfilesharing/l10n/ca.js28
-rw-r--r--apps/federatedfilesharing/l10n/ca.json28
-rw-r--r--apps/federatedfilesharing/l10n/el.js1
-rw-r--r--apps/federatedfilesharing/l10n/el.json1
-rw-r--r--apps/federatedfilesharing/l10n/en_GB.js17
-rw-r--r--apps/federatedfilesharing/l10n/en_GB.json17
-rw-r--r--apps/federatedfilesharing/l10n/fa.js36
-rw-r--r--apps/federatedfilesharing/l10n/fa.json36
-rw-r--r--apps/federatedfilesharing/lib/Notifier.php9
-rw-r--r--apps/federation/composer/autoload.php17
-rw-r--r--apps/federation/composer/composer/installed.php4
-rw-r--r--apps/files/composer/autoload.php17
-rw-r--r--apps/files/composer/composer/installed.php4
-rw-r--r--apps/files/css/detailsView.css12
-rw-r--r--apps/files/css/detailsView.css.map2
-rw-r--r--apps/files/css/files.css15
-rw-r--r--apps/files/css/files.css.map2
-rw-r--r--apps/files/css/files.scss5
-rw-r--r--apps/files/css/merged.css51
-rw-r--r--apps/files/css/merged.css.map2
-rw-r--r--apps/files/css/mobile.css19
-rw-r--r--apps/files/css/mobile.css.map2
-rw-r--r--apps/files/css/upload.css5
-rw-r--r--apps/files/css/upload.css.map2
-rw-r--r--apps/files/css/upload.scss2
-rw-r--r--apps/files/js/file-upload.js9
-rw-r--r--apps/files/js/filelist.js8
-rw-r--r--apps/files/l10n/ca.js13
-rw-r--r--apps/files/l10n/ca.json13
-rw-r--r--apps/files/l10n/da.js4
-rw-r--r--apps/files/l10n/da.json4
-rw-r--r--apps/files/l10n/el.js1
-rw-r--r--apps/files/l10n/el.json1
-rw-r--r--apps/files/l10n/en_GB.js73
-rw-r--r--apps/files/l10n/en_GB.json73
-rw-r--r--apps/files/l10n/fa.js1
-rw-r--r--apps/files/l10n/fa.json1
-rw-r--r--apps/files/l10n/fr.js2
-rw-r--r--apps/files/l10n/fr.json2
-rw-r--r--apps/files/l10n/gl.js14
-rw-r--r--apps/files/l10n/gl.json14
-rw-r--r--apps/files/l10n/mk.js4
-rw-r--r--apps/files/l10n/mk.json4
-rw-r--r--apps/files/l10n/nb.js1
-rw-r--r--apps/files/l10n/nb.json1
-rw-r--r--apps/files/l10n/nl.js9
-rw-r--r--apps/files/l10n/nl.json9
-rw-r--r--apps/files/l10n/pt_BR.js4
-rw-r--r--apps/files/l10n/pt_BR.json4
-rw-r--r--apps/files/l10n/ru.js6
-rw-r--r--apps/files/l10n/ru.json6
-rw-r--r--apps/files/l10n/sv.js4
-rw-r--r--apps/files/l10n/sv.json4
-rw-r--r--apps/files/l10n/uk.js5
-rw-r--r--apps/files/l10n/uk.json5
-rw-r--r--apps/files/lib/Activity/FavoriteProvider.php3
-rw-r--r--apps/files/lib/Activity/Provider.php17
-rw-r--r--apps/files/lib/BackgroundJob/CleanupDirectEditingTokens.php15
-rw-r--r--apps/files/lib/BackgroundJob/CleanupFileLocks.php8
-rw-r--r--apps/files/lib/BackgroundJob/DeleteOrphanedItems.php6
-rw-r--r--apps/files/lib/Notification/Notifier.php33
-rw-r--r--apps/files/src/components/SidebarTab.vue5
-rw-r--r--apps/files/src/models/Tab.js24
-rw-r--r--apps/files/src/views/Sidebar.vue15
-rw-r--r--apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php13
-rw-r--r--apps/files_external/css/settings.css4
-rw-r--r--apps/files_external/css/settings.css.map2
-rw-r--r--apps/files_external/css/settings.scss4
-rw-r--r--apps/files_external/l10n/ca.js18
-rw-r--r--apps/files_external/l10n/ca.json18
-rw-r--r--apps/files_external/l10n/el.js2
-rw-r--r--apps/files_external/l10n/el.json2
-rw-r--r--apps/files_external/l10n/en_GB.js19
-rw-r--r--apps/files_external/l10n/en_GB.json19
-rw-r--r--apps/files_external/l10n/fr.js7
-rw-r--r--apps/files_external/l10n/fr.json7
-rw-r--r--apps/files_external/lib/Lib/Auth/PublicKey/RSA.php6
-rw-r--r--apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php6
-rw-r--r--apps/files_sharing/composer/autoload.php17
-rw-r--r--apps/files_sharing/composer/composer/installed.php4
-rw-r--r--apps/files_sharing/css/icons.css7
-rw-r--r--apps/files_sharing/css/icons.css.map2
-rw-r--r--apps/files_sharing/css/icons.scss6
-rw-r--r--apps/files_sharing/css/mobile.css16
-rw-r--r--apps/files_sharing/css/mobile.css.map2
-rw-r--r--apps/files_sharing/css/publicView.css16
-rw-r--r--apps/files_sharing/css/publicView.css.map2
-rw-r--r--apps/files_sharing/l10n/ar.js2
-rw-r--r--apps/files_sharing/l10n/ar.json2
-rw-r--r--apps/files_sharing/l10n/bg.js9
-rw-r--r--apps/files_sharing/l10n/bg.json9
-rw-r--r--apps/files_sharing/l10n/ca.js15
-rw-r--r--apps/files_sharing/l10n/ca.json15
-rw-r--r--apps/files_sharing/l10n/cs.js9
-rw-r--r--apps/files_sharing/l10n/cs.json9
-rw-r--r--apps/files_sharing/l10n/da.js2
-rw-r--r--apps/files_sharing/l10n/da.json2
-rw-r--r--apps/files_sharing/l10n/de.js9
-rw-r--r--apps/files_sharing/l10n/de.json9
-rw-r--r--apps/files_sharing/l10n/de_DE.js9
-rw-r--r--apps/files_sharing/l10n/de_DE.json9
-rw-r--r--apps/files_sharing/l10n/el.js3
-rw-r--r--apps/files_sharing/l10n/el.json3
-rw-r--r--apps/files_sharing/l10n/en_GB.js126
-rw-r--r--apps/files_sharing/l10n/en_GB.json126
-rw-r--r--apps/files_sharing/l10n/eo.js2
-rw-r--r--apps/files_sharing/l10n/eo.json2
-rw-r--r--apps/files_sharing/l10n/es.js9
-rw-r--r--apps/files_sharing/l10n/es.json9
-rw-r--r--apps/files_sharing/l10n/es_AR.js2
-rw-r--r--apps/files_sharing/l10n/es_AR.json2
-rw-r--r--apps/files_sharing/l10n/es_CO.js2
-rw-r--r--apps/files_sharing/l10n/es_CO.json2
-rw-r--r--apps/files_sharing/l10n/es_MX.js3
-rw-r--r--apps/files_sharing/l10n/es_MX.json3
-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/eu.js2
-rw-r--r--apps/files_sharing/l10n/eu.json2
-rw-r--r--apps/files_sharing/l10n/fa.js2
-rw-r--r--apps/files_sharing/l10n/fa.json2
-rw-r--r--apps/files_sharing/l10n/fi.js4
-rw-r--r--apps/files_sharing/l10n/fi.json4
-rw-r--r--apps/files_sharing/l10n/fr.js13
-rw-r--r--apps/files_sharing/l10n/fr.json13
-rw-r--r--apps/files_sharing/l10n/gl.js4
-rw-r--r--apps/files_sharing/l10n/gl.json4
-rw-r--r--apps/files_sharing/l10n/he.js2
-rw-r--r--apps/files_sharing/l10n/he.json2
-rw-r--r--apps/files_sharing/l10n/hr.js2
-rw-r--r--apps/files_sharing/l10n/hr.json2
-rw-r--r--apps/files_sharing/l10n/hu.js4
-rw-r--r--apps/files_sharing/l10n/hu.json4
-rw-r--r--apps/files_sharing/l10n/is.js2
-rw-r--r--apps/files_sharing/l10n/is.json2
-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/ko.js2
-rw-r--r--apps/files_sharing/l10n/ko.json2
-rw-r--r--apps/files_sharing/l10n/lt_LT.js2
-rw-r--r--apps/files_sharing/l10n/lt_LT.json2
-rw-r--r--apps/files_sharing/l10n/lv.js2
-rw-r--r--apps/files_sharing/l10n/lv.json2
-rw-r--r--apps/files_sharing/l10n/mk.js9
-rw-r--r--apps/files_sharing/l10n/mk.json9
-rw-r--r--apps/files_sharing/l10n/nb.js2
-rw-r--r--apps/files_sharing/l10n/nb.json2
-rw-r--r--apps/files_sharing/l10n/nl.js4
-rw-r--r--apps/files_sharing/l10n/nl.json4
-rw-r--r--apps/files_sharing/l10n/pl.js9
-rw-r--r--apps/files_sharing/l10n/pl.json9
-rw-r--r--apps/files_sharing/l10n/pt_BR.js12
-rw-r--r--apps/files_sharing/l10n/pt_BR.json12
-rw-r--r--apps/files_sharing/l10n/pt_PT.js2
-rw-r--r--apps/files_sharing/l10n/pt_PT.json2
-rw-r--r--apps/files_sharing/l10n/ru.js6
-rw-r--r--apps/files_sharing/l10n/ru.json6
-rw-r--r--apps/files_sharing/l10n/sc.js2
-rw-r--r--apps/files_sharing/l10n/sc.json2
-rw-r--r--apps/files_sharing/l10n/sk.js4
-rw-r--r--apps/files_sharing/l10n/sk.json4
-rw-r--r--apps/files_sharing/l10n/sl.js2
-rw-r--r--apps/files_sharing/l10n/sl.json2
-rw-r--r--apps/files_sharing/l10n/sq.js2
-rw-r--r--apps/files_sharing/l10n/sq.json2
-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.js9
-rw-r--r--apps/files_sharing/l10n/sv.json9
-rw-r--r--apps/files_sharing/l10n/tr.js15
-rw-r--r--apps/files_sharing/l10n/tr.json15
-rw-r--r--apps/files_sharing/l10n/uk.js6
-rw-r--r--apps/files_sharing/l10n/uk.json6
-rw-r--r--apps/files_sharing/l10n/zh_CN.js2
-rw-r--r--apps/files_sharing/l10n/zh_CN.json2
-rw-r--r--apps/files_sharing/l10n/zh_HK.js9
-rw-r--r--apps/files_sharing/l10n/zh_HK.json9
-rw-r--r--apps/files_sharing/l10n/zh_TW.js9
-rw-r--r--apps/files_sharing/l10n/zh_TW.json9
-rw-r--r--apps/files_sharing/lib/Activity/Providers/Base.php20
-rw-r--r--apps/files_sharing/lib/AppInfo/Application.php3
-rw-r--r--apps/files_sharing/lib/BackgroundJob/FederatedSharesDiscoverJob.php7
-rw-r--r--apps/files_sharing/lib/DeleteOrphanedSharesJob.php8
-rw-r--r--apps/files_sharing/lib/Notification/Notifier.php10
-rw-r--r--apps/files_sharing/lib/SharedStorage.php8
-rw-r--r--apps/files_sharing/src/components/SharingEntryInternal.vue9
-rw-r--r--apps/files_sharing/src/components/SharingEntryLink.vue12
-rw-r--r--apps/files_sharing/src/components/SharingInput.vue92
-rw-r--r--apps/files_sharing/src/files_sharing_tab.js15
-rw-r--r--apps/files_sharing/src/mixins/SharesMixin.js6
-rw-r--r--apps/files_sharing/tests/DeleteOrphanedSharesJobTest.php4
-rw-r--r--apps/files_trashbin/composer/autoload.php17
-rw-r--r--apps/files_trashbin/composer/composer/installed.php4
-rw-r--r--apps/files_trashbin/l10n/en_GB.js6
-rw-r--r--apps/files_trashbin/l10n/en_GB.json6
-rw-r--r--apps/files_versions/composer/autoload.php17
-rw-r--r--apps/files_versions/composer/composer/installed.php4
-rw-r--r--apps/files_versions/l10n/bg.js10
-rw-r--r--apps/files_versions/l10n/bg.json10
-rw-r--r--apps/files_versions/l10n/br.js5
-rw-r--r--apps/files_versions/l10n/br.json5
-rw-r--r--apps/files_versions/l10n/ca.js12
-rw-r--r--apps/files_versions/l10n/ca.json12
-rw-r--r--apps/files_versions/l10n/cs.js10
-rw-r--r--apps/files_versions/l10n/cs.json10
-rw-r--r--apps/files_versions/l10n/da.js5
-rw-r--r--apps/files_versions/l10n/da.json5
-rw-r--r--apps/files_versions/l10n/de.js5
-rw-r--r--apps/files_versions/l10n/de.json5
-rw-r--r--apps/files_versions/l10n/de_DE.js10
-rw-r--r--apps/files_versions/l10n/de_DE.json10
-rw-r--r--apps/files_versions/l10n/el.js5
-rw-r--r--apps/files_versions/l10n/el.json5
-rw-r--r--apps/files_versions/l10n/en_GB.js11
-rw-r--r--apps/files_versions/l10n/en_GB.json11
-rw-r--r--apps/files_versions/l10n/eo.js5
-rw-r--r--apps/files_versions/l10n/eo.json5
-rw-r--r--apps/files_versions/l10n/es.js10
-rw-r--r--apps/files_versions/l10n/es.json10
-rw-r--r--apps/files_versions/l10n/es_MX.js5
-rw-r--r--apps/files_versions/l10n/es_MX.json5
-rw-r--r--apps/files_versions/l10n/et_EE.js5
-rw-r--r--apps/files_versions/l10n/et_EE.json5
-rw-r--r--apps/files_versions/l10n/eu.js5
-rw-r--r--apps/files_versions/l10n/eu.json5
-rw-r--r--apps/files_versions/l10n/fa.js5
-rw-r--r--apps/files_versions/l10n/fa.json5
-rw-r--r--apps/files_versions/l10n/fi.js1
-rw-r--r--apps/files_versions/l10n/fi.json1
-rw-r--r--apps/files_versions/l10n/fr.js10
-rw-r--r--apps/files_versions/l10n/fr.json10
-rw-r--r--apps/files_versions/l10n/gl.js5
-rw-r--r--apps/files_versions/l10n/gl.json5
-rw-r--r--apps/files_versions/l10n/he.js5
-rw-r--r--apps/files_versions/l10n/he.json5
-rw-r--r--apps/files_versions/l10n/hr.js5
-rw-r--r--apps/files_versions/l10n/hr.json5
-rw-r--r--apps/files_versions/l10n/hu.js10
-rw-r--r--apps/files_versions/l10n/hu.json10
-rw-r--r--apps/files_versions/l10n/id.js5
-rw-r--r--apps/files_versions/l10n/id.json5
-rw-r--r--apps/files_versions/l10n/is.js1
-rw-r--r--apps/files_versions/l10n/is.json1
-rw-r--r--apps/files_versions/l10n/it.js5
-rw-r--r--apps/files_versions/l10n/it.json5
-rw-r--r--apps/files_versions/l10n/ja.js5
-rw-r--r--apps/files_versions/l10n/ja.json5
-rw-r--r--apps/files_versions/l10n/ko.js5
-rw-r--r--apps/files_versions/l10n/ko.json5
-rw-r--r--apps/files_versions/l10n/lt_LT.js5
-rw-r--r--apps/files_versions/l10n/lt_LT.json5
-rw-r--r--apps/files_versions/l10n/lv.js1
-rw-r--r--apps/files_versions/l10n/lv.json1
-rw-r--r--apps/files_versions/l10n/mk.js10
-rw-r--r--apps/files_versions/l10n/mk.json10
-rw-r--r--apps/files_versions/l10n/nb.js5
-rw-r--r--apps/files_versions/l10n/nb.json5
-rw-r--r--apps/files_versions/l10n/nl.js5
-rw-r--r--apps/files_versions/l10n/nl.json5
-rw-r--r--apps/files_versions/l10n/pl.js10
-rw-r--r--apps/files_versions/l10n/pl.json10
-rw-r--r--apps/files_versions/l10n/pt_BR.js10
-rw-r--r--apps/files_versions/l10n/pt_BR.json10
-rw-r--r--apps/files_versions/l10n/ro.js5
-rw-r--r--apps/files_versions/l10n/ro.json5
-rw-r--r--apps/files_versions/l10n/ru.js5
-rw-r--r--apps/files_versions/l10n/ru.json5
-rw-r--r--apps/files_versions/l10n/sc.js5
-rw-r--r--apps/files_versions/l10n/sc.json5
-rw-r--r--apps/files_versions/l10n/sk.js10
-rw-r--r--apps/files_versions/l10n/sk.json10
-rw-r--r--apps/files_versions/l10n/sl.js5
-rw-r--r--apps/files_versions/l10n/sl.json5
-rw-r--r--apps/files_versions/l10n/sr.js5
-rw-r--r--apps/files_versions/l10n/sr.json5
-rw-r--r--apps/files_versions/l10n/sv.js10
-rw-r--r--apps/files_versions/l10n/sv.json10
-rw-r--r--apps/files_versions/l10n/tr.js10
-rw-r--r--apps/files_versions/l10n/tr.json10
-rw-r--r--apps/files_versions/l10n/uk.js5
-rw-r--r--apps/files_versions/l10n/uk.json5
-rw-r--r--apps/files_versions/l10n/zh_CN.js5
-rw-r--r--apps/files_versions/l10n/zh_CN.json5
-rw-r--r--apps/files_versions/l10n/zh_HK.js10
-rw-r--r--apps/files_versions/l10n/zh_HK.json10
-rw-r--r--apps/files_versions/l10n/zh_TW.js10
-rw-r--r--apps/files_versions/l10n/zh_TW.json10
-rw-r--r--apps/files_versions/lib/Storage.php18
-rw-r--r--apps/files_versions/src/css/versions.css74
-rw-r--r--apps/files_versions/src/files_versions_tab.js70
-rw-r--r--apps/files_versions/src/templates/item.handlebars22
-rw-r--r--apps/files_versions/src/templates/template.handlebars10
-rw-r--r--apps/files_versions/src/utils/davClient.js (renamed from apps/files_versions/src/files_versions.js)23
-rw-r--r--apps/files_versions/src/utils/davRequest.js33
-rw-r--r--apps/files_versions/src/utils/logger.js (renamed from apps/theming/src/helpers/prefixWithBaseUrl.js)12
-rw-r--r--apps/files_versions/src/utils/versions.js124
-rw-r--r--apps/files_versions/src/versioncollection.js97
-rw-r--r--apps/files_versions/src/versionmodel.js86
-rw-r--r--apps/files_versions/src/versionstabview.js231
-rw-r--r--apps/files_versions/src/views/VersionTab.vue182
-rw-r--r--apps/files_versions/tests/js/versioncollectionSpec.js48
-rw-r--r--apps/files_versions/tests/js/versionmodelSpec.js124
-rw-r--r--apps/files_versions/tests/js/versionstabviewSpec.js193
-rw-r--r--apps/lookup_server_connector/composer/autoload.php17
-rw-r--r--apps/lookup_server_connector/composer/composer/installed.php4
-rw-r--r--apps/oauth2/composer/autoload.php17
-rw-r--r--apps/oauth2/composer/composer/installed.php4
-rw-r--r--apps/oauth2/src/App.vue2
-rw-r--r--apps/provisioning_api/composer/autoload.php17
-rw-r--r--apps/provisioning_api/composer/composer/installed.php4
-rw-r--r--apps/provisioning_api/l10n/en_GB.js18
-rw-r--r--apps/provisioning_api/l10n/en_GB.json16
-rw-r--r--apps/provisioning_api/lib/Controller/AUserData.php3
-rw-r--r--apps/provisioning_api/lib/Controller/UsersController.php6
-rw-r--r--apps/provisioning_api/tests/Controller/UsersControllerTest.php14
-rw-r--r--apps/settings/composer/composer/installed.php4
-rw-r--r--apps/settings/css/settings.css93
-rw-r--r--apps/settings/css/settings.css.map2
-rw-r--r--apps/settings/css/settings.scss107
-rw-r--r--apps/settings/l10n/af.js10
-rw-r--r--apps/settings/l10n/af.json10
-rw-r--r--apps/settings/l10n/ar.js12
-rw-r--r--apps/settings/l10n/ar.json12
-rw-r--r--apps/settings/l10n/ast.js10
-rw-r--r--apps/settings/l10n/ast.json10
-rw-r--r--apps/settings/l10n/bg.js16
-rw-r--r--apps/settings/l10n/bg.json16
-rw-r--r--apps/settings/l10n/br.js14
-rw-r--r--apps/settings/l10n/br.json14
-rw-r--r--apps/settings/l10n/ca.js21
-rw-r--r--apps/settings/l10n/ca.json21
-rw-r--r--apps/settings/l10n/cs.js16
-rw-r--r--apps/settings/l10n/cs.json16
-rw-r--r--apps/settings/l10n/da.js38
-rw-r--r--apps/settings/l10n/da.json38
-rw-r--r--apps/settings/l10n/de.js16
-rw-r--r--apps/settings/l10n/de.json16
-rw-r--r--apps/settings/l10n/de_DE.js18
-rw-r--r--apps/settings/l10n/de_DE.json18
-rw-r--r--apps/settings/l10n/el.js33
-rw-r--r--apps/settings/l10n/el.json33
-rw-r--r--apps/settings/l10n/en_GB.js287
-rw-r--r--apps/settings/l10n/en_GB.json287
-rw-r--r--apps/settings/l10n/eo.js12
-rw-r--r--apps/settings/l10n/eo.json12
-rw-r--r--apps/settings/l10n/es.js16
-rw-r--r--apps/settings/l10n/es.json16
-rw-r--r--apps/settings/l10n/es_419.js10
-rw-r--r--apps/settings/l10n/es_419.json10
-rw-r--r--apps/settings/l10n/es_AR.js10
-rw-r--r--apps/settings/l10n/es_AR.json10
-rw-r--r--apps/settings/l10n/es_CL.js10
-rw-r--r--apps/settings/l10n/es_CL.json10
-rw-r--r--apps/settings/l10n/es_CO.js10
-rw-r--r--apps/settings/l10n/es_CO.json10
-rw-r--r--apps/settings/l10n/es_CR.js10
-rw-r--r--apps/settings/l10n/es_CR.json10
-rw-r--r--apps/settings/l10n/es_DO.js10
-rw-r--r--apps/settings/l10n/es_DO.json10
-rw-r--r--apps/settings/l10n/es_EC.js10
-rw-r--r--apps/settings/l10n/es_EC.json10
-rw-r--r--apps/settings/l10n/es_GT.js10
-rw-r--r--apps/settings/l10n/es_GT.json10
-rw-r--r--apps/settings/l10n/es_HN.js10
-rw-r--r--apps/settings/l10n/es_HN.json10
-rw-r--r--apps/settings/l10n/es_MX.js10
-rw-r--r--apps/settings/l10n/es_MX.json10
-rw-r--r--apps/settings/l10n/es_NI.js10
-rw-r--r--apps/settings/l10n/es_NI.json10
-rw-r--r--apps/settings/l10n/es_PA.js10
-rw-r--r--apps/settings/l10n/es_PA.json10
-rw-r--r--apps/settings/l10n/es_PE.js10
-rw-r--r--apps/settings/l10n/es_PE.json10
-rw-r--r--apps/settings/l10n/es_PR.js10
-rw-r--r--apps/settings/l10n/es_PR.json10
-rw-r--r--apps/settings/l10n/es_PY.js10
-rw-r--r--apps/settings/l10n/es_PY.json10
-rw-r--r--apps/settings/l10n/es_SV.js10
-rw-r--r--apps/settings/l10n/es_SV.json10
-rw-r--r--apps/settings/l10n/es_UY.js10
-rw-r--r--apps/settings/l10n/es_UY.json10
-rw-r--r--apps/settings/l10n/et_EE.js10
-rw-r--r--apps/settings/l10n/et_EE.json10
-rw-r--r--apps/settings/l10n/eu.js16
-rw-r--r--apps/settings/l10n/eu.json16
-rw-r--r--apps/settings/l10n/fa.js209
-rw-r--r--apps/settings/l10n/fa.json209
-rw-r--r--apps/settings/l10n/fi.js14
-rw-r--r--apps/settings/l10n/fi.json14
-rw-r--r--apps/settings/l10n/fr.js96
-rw-r--r--apps/settings/l10n/fr.json96
-rw-r--r--apps/settings/l10n/gl.js163
-rw-r--r--apps/settings/l10n/gl.json163
-rw-r--r--apps/settings/l10n/he.js14
-rw-r--r--apps/settings/l10n/he.json14
-rw-r--r--apps/settings/l10n/hr.js14
-rw-r--r--apps/settings/l10n/hr.json14
-rw-r--r--apps/settings/l10n/hu.js16
-rw-r--r--apps/settings/l10n/hu.json16
-rw-r--r--apps/settings/l10n/ia.js4
-rw-r--r--apps/settings/l10n/ia.json4
-rw-r--r--apps/settings/l10n/id.js12
-rw-r--r--apps/settings/l10n/id.json12
-rw-r--r--apps/settings/l10n/is.js12
-rw-r--r--apps/settings/l10n/is.json12
-rw-r--r--apps/settings/l10n/it.js14
-rw-r--r--apps/settings/l10n/it.json14
-rw-r--r--apps/settings/l10n/ja.js14
-rw-r--r--apps/settings/l10n/ja.json14
-rw-r--r--apps/settings/l10n/ka_GE.js10
-rw-r--r--apps/settings/l10n/ka_GE.json10
-rw-r--r--apps/settings/l10n/ko.js15
-rw-r--r--apps/settings/l10n/ko.json15
-rw-r--r--apps/settings/l10n/lt_LT.js14
-rw-r--r--apps/settings/l10n/lt_LT.json14
-rw-r--r--apps/settings/l10n/lv.js6
-rw-r--r--apps/settings/l10n/lv.json6
-rw-r--r--apps/settings/l10n/mk.js15
-rw-r--r--apps/settings/l10n/mk.json15
-rw-r--r--apps/settings/l10n/nb.js14
-rw-r--r--apps/settings/l10n/nb.json14
-rw-r--r--apps/settings/l10n/nl.js14
-rw-r--r--apps/settings/l10n/nl.json14
-rw-r--r--apps/settings/l10n/nn_NO.js4
-rw-r--r--apps/settings/l10n/nn_NO.json4
-rw-r--r--apps/settings/l10n/oc.js8
-rw-r--r--apps/settings/l10n/oc.json8
-rw-r--r--apps/settings/l10n/pl.js16
-rw-r--r--apps/settings/l10n/pl.json16
-rw-r--r--apps/settings/l10n/pt_BR.js15
-rw-r--r--apps/settings/l10n/pt_BR.json15
-rw-r--r--apps/settings/l10n/pt_PT.js11
-rw-r--r--apps/settings/l10n/pt_PT.json11
-rw-r--r--apps/settings/l10n/ro.js8
-rw-r--r--apps/settings/l10n/ro.json8
-rw-r--r--apps/settings/l10n/ru.js26
-rw-r--r--apps/settings/l10n/ru.json26
-rw-r--r--apps/settings/l10n/sc.js14
-rw-r--r--apps/settings/l10n/sc.json14
-rw-r--r--apps/settings/l10n/sk.js14
-rw-r--r--apps/settings/l10n/sk.json14
-rw-r--r--apps/settings/l10n/sl.js14
-rw-r--r--apps/settings/l10n/sl.json14
-rw-r--r--apps/settings/l10n/sq.js12
-rw-r--r--apps/settings/l10n/sq.json12
-rw-r--r--apps/settings/l10n/sr.js14
-rw-r--r--apps/settings/l10n/sr.json14
-rw-r--r--apps/settings/l10n/sv.js93
-rw-r--r--apps/settings/l10n/sv.json93
-rw-r--r--apps/settings/l10n/th.js14
-rw-r--r--apps/settings/l10n/th.json14
-rw-r--r--apps/settings/l10n/tr.js16
-rw-r--r--apps/settings/l10n/tr.json16
-rw-r--r--apps/settings/l10n/uk.js26
-rw-r--r--apps/settings/l10n/uk.json26
-rw-r--r--apps/settings/l10n/vi.js14
-rw-r--r--apps/settings/l10n/vi.json14
-rw-r--r--apps/settings/l10n/zh_CN.js14
-rw-r--r--apps/settings/l10n/zh_CN.json14
-rw-r--r--apps/settings/l10n/zh_HK.js16
-rw-r--r--apps/settings/l10n/zh_HK.json16
-rw-r--r--apps/settings/l10n/zh_TW.js16
-rw-r--r--apps/settings/l10n/zh_TW.json16
-rw-r--r--apps/settings/lib/Activity/GroupProvider.php13
-rw-r--r--apps/settings/lib/Activity/Provider.php13
-rw-r--r--apps/settings/lib/Controller/AppSettingsController.php14
-rw-r--r--apps/settings/lib/Controller/CommonSettingsTrait.php1
-rw-r--r--apps/settings/lib/Controller/HelpController.php11
-rw-r--r--apps/settings/lib/Controller/UsersController.php11
-rw-r--r--apps/settings/lib/Settings/Personal/PersonalInfo.php1
-rw-r--r--apps/settings/src/admin.js10
-rw-r--r--apps/settings/src/components/AuthToken.vue5
-rw-r--r--apps/settings/src/components/PersonalInfo/AvatarSection.vue5
-rw-r--r--apps/settings/src/components/PersonalInfo/FediverseSection.vue50
-rw-r--r--apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue7
-rw-r--r--apps/settings/src/constants/AccountPropertyConstants.js5
-rw-r--r--apps/settings/src/constants/AppsConstants.js (renamed from apps/files_versions/src/filesplugin.js)36
-rw-r--r--apps/settings/src/main-personal-info.js3
-rw-r--r--apps/settings/src/router.js53
-rw-r--r--apps/settings/src/store/apps.js31
-rw-r--r--apps/settings/src/views/Apps.vue18
-rw-r--r--apps/settings/templates/settings/frame.php7
-rw-r--r--apps/settings/templates/settings/personal/personal.info.php95
-rw-r--r--apps/settings/tests/Controller/UsersControllerTest.php43
-rw-r--r--apps/settings/tests/UserMigration/assets/account-complex-config.json2
-rw-r--r--apps/settings/tests/UserMigration/assets/account-complex.json2
-rw-r--r--apps/settings/tests/UserMigration/assets/account-config.json2
-rw-r--r--apps/settings/tests/UserMigration/assets/account.json2
-rw-r--r--apps/sharebymail/composer/autoload.php17
-rw-r--r--apps/sharebymail/composer/composer/installed.php4
-rw-r--r--apps/sharebymail/l10n/de.js2
-rw-r--r--apps/sharebymail/l10n/de.json2
-rw-r--r--apps/sharebymail/l10n/de_DE.js2
-rw-r--r--apps/sharebymail/l10n/de_DE.json2
-rw-r--r--apps/sharebymail/l10n/en_GB.js26
-rw-r--r--apps/sharebymail/l10n/en_GB.json26
-rw-r--r--apps/sharebymail/l10n/ko.js3
-rw-r--r--apps/sharebymail/l10n/ko.json3
-rw-r--r--apps/sharebymail/l10n/sv.js4
-rw-r--r--apps/sharebymail/l10n/sv.json4
-rw-r--r--apps/sharebymail/lib/Activity.php93
-rw-r--r--apps/systemtags/composer/autoload.php17
-rw-r--r--apps/systemtags/composer/composer/installed.php4
-rw-r--r--apps/systemtags/l10n/en_GB.js10
-rw-r--r--apps/systemtags/l10n/en_GB.json10
-rw-r--r--apps/systemtags/l10n/he.js2
-rw-r--r--apps/systemtags/l10n/he.json2
-rw-r--r--apps/systemtags/l10n/uk.js2
-rw-r--r--apps/systemtags/l10n/uk.json2
-rw-r--r--apps/systemtags/lib/Activity/Provider.php1
-rw-r--r--apps/systemtags/src/systemtagsfilelist.js1
-rw-r--r--apps/testing/composer/autoload.php17
-rw-r--r--apps/testing/composer/composer/installed.php4
-rw-r--r--apps/theming/appinfo/routes.php10
-rw-r--r--apps/theming/css/default.css26
-rw-r--r--apps/theming/l10n/ar.js10
-rw-r--r--apps/theming/l10n/ar.json10
-rw-r--r--apps/theming/l10n/bg.js15
-rw-r--r--apps/theming/l10n/bg.json15
-rw-r--r--apps/theming/l10n/ca.js11
-rw-r--r--apps/theming/l10n/ca.json11
-rw-r--r--apps/theming/l10n/cs.js15
-rw-r--r--apps/theming/l10n/cs.json15
-rw-r--r--apps/theming/l10n/da.js12
-rw-r--r--apps/theming/l10n/da.json12
-rw-r--r--apps/theming/l10n/de.js12
-rw-r--r--apps/theming/l10n/de.json12
-rw-r--r--apps/theming/l10n/de_DE.js19
-rw-r--r--apps/theming/l10n/de_DE.json19
-rw-r--r--apps/theming/l10n/el.js28
-rw-r--r--apps/theming/l10n/el.json28
-rw-r--r--apps/theming/l10n/en_GB.js43
-rw-r--r--apps/theming/l10n/en_GB.json43
-rw-r--r--apps/theming/l10n/es.js15
-rw-r--r--apps/theming/l10n/es.json15
-rw-r--r--apps/theming/l10n/eu.js13
-rw-r--r--apps/theming/l10n/eu.json13
-rw-r--r--apps/theming/l10n/fa.js94
-rw-r--r--apps/theming/l10n/fa.json92
-rw-r--r--apps/theming/l10n/fi.js13
-rw-r--r--apps/theming/l10n/fi.json13
-rw-r--r--apps/theming/l10n/fr.js17
-rw-r--r--apps/theming/l10n/fr.json17
-rw-r--r--apps/theming/l10n/gl.js46
-rw-r--r--apps/theming/l10n/gl.json46
-rw-r--r--apps/theming/l10n/he.js11
-rw-r--r--apps/theming/l10n/he.json11
-rw-r--r--apps/theming/l10n/hr.js11
-rw-r--r--apps/theming/l10n/hr.json11
-rw-r--r--apps/theming/l10n/hu.js15
-rw-r--r--apps/theming/l10n/hu.json15
-rw-r--r--apps/theming/l10n/is.js5
-rw-r--r--apps/theming/l10n/is.json5
-rw-r--r--apps/theming/l10n/it.js11
-rw-r--r--apps/theming/l10n/it.json11
-rw-r--r--apps/theming/l10n/ja.js11
-rw-r--r--apps/theming/l10n/ja.json11
-rw-r--r--apps/theming/l10n/ko.js19
-rw-r--r--apps/theming/l10n/ko.json19
-rw-r--r--apps/theming/l10n/lt_LT.js13
-rw-r--r--apps/theming/l10n/lt_LT.json13
-rw-r--r--apps/theming/l10n/mk.js30
-rw-r--r--apps/theming/l10n/mk.json30
-rw-r--r--apps/theming/l10n/nb.js11
-rw-r--r--apps/theming/l10n/nb.json11
-rw-r--r--apps/theming/l10n/nl.js11
-rw-r--r--apps/theming/l10n/nl.json11
-rw-r--r--apps/theming/l10n/pl.js15
-rw-r--r--apps/theming/l10n/pl.json15
-rw-r--r--apps/theming/l10n/pt_BR.js19
-rw-r--r--apps/theming/l10n/pt_BR.json19
-rw-r--r--apps/theming/l10n/pt_PT.js8
-rw-r--r--apps/theming/l10n/pt_PT.json8
-rw-r--r--apps/theming/l10n/ru.js11
-rw-r--r--apps/theming/l10n/ru.json11
-rw-r--r--apps/theming/l10n/sc.js11
-rw-r--r--apps/theming/l10n/sc.json11
-rw-r--r--apps/theming/l10n/sk.js13
-rw-r--r--apps/theming/l10n/sk.json13
-rw-r--r--apps/theming/l10n/sl.js11
-rw-r--r--apps/theming/l10n/sl.json11
-rw-r--r--apps/theming/l10n/sr.js1
-rw-r--r--apps/theming/l10n/sr.json1
-rw-r--r--apps/theming/l10n/sv.js40
-rw-r--r--apps/theming/l10n/sv.json40
-rw-r--r--apps/theming/l10n/tr.js15
-rw-r--r--apps/theming/l10n/tr.json15
-rw-r--r--apps/theming/l10n/uk.js24
-rw-r--r--apps/theming/l10n/uk.json24
-rw-r--r--apps/theming/l10n/vi.js4
-rw-r--r--apps/theming/l10n/vi.json4
-rw-r--r--apps/theming/l10n/zh_CN.js13
-rw-r--r--apps/theming/l10n/zh_CN.json13
-rw-r--r--apps/theming/l10n/zh_HK.js15
-rw-r--r--apps/theming/l10n/zh_HK.json15
-rw-r--r--apps/theming/l10n/zh_TW.js15
-rw-r--r--apps/theming/l10n/zh_TW.json15
-rw-r--r--apps/theming/lib/Command/UpdateConfig.php10
-rw-r--r--apps/theming/lib/Controller/IconController.php7
-rw-r--r--apps/theming/lib/Controller/ThemingController.php21
-rw-r--r--apps/theming/lib/Controller/UserThemeController.php51
-rw-r--r--apps/theming/lib/ImageManager.php37
-rw-r--r--apps/theming/lib/Jobs/MigrateBackgroundImages.php168
-rw-r--r--apps/theming/lib/Listener/BeforeTemplateRenderedListener.php20
-rw-r--r--apps/theming/lib/Migration/InitBackgroundImagesMigration.php2
-rw-r--r--apps/theming/lib/Service/BackgroundService.php40
-rw-r--r--apps/theming/lib/Service/JSDataService.php2
-rw-r--r--apps/theming/lib/Service/ThemeInjectionService.php17
-rw-r--r--apps/theming/lib/Themes/CommonThemeTrait.php59
-rw-r--r--apps/theming/lib/Themes/DarkTheme.php1
-rw-r--r--apps/theming/lib/Themes/DefaultTheme.php6
-rw-r--r--apps/theming/lib/ThemingDefaults.php35
-rw-r--r--apps/theming/lib/Util.php17
-rw-r--r--apps/theming/src/AdminTheming.vue46
-rw-r--r--apps/theming/src/UserThemes.vue28
-rw-r--r--apps/theming/src/components/BackgroundSettings.vue304
-rw-r--r--apps/theming/src/components/admin/ColorPickerField.vue4
-rw-r--r--apps/theming/src/components/admin/FileInputField.vue3
-rw-r--r--apps/theming/src/components/admin/TextField.vue2
-rw-r--r--apps/theming/src/helpers/getBackgroundUrl.js49
-rw-r--r--apps/theming/tests/Themes/DefaultThemeTest.php7
-rw-r--r--apps/theming/tests/ThemingDefaultsTest.php41
-rw-r--r--apps/twofactor_backupcodes/composer/autoload.php17
-rw-r--r--apps/twofactor_backupcodes/composer/composer/installed.php4
-rw-r--r--apps/twofactor_backupcodes/l10n/pt_PT.js16
-rw-r--r--apps/twofactor_backupcodes/l10n/pt_PT.json14
-rw-r--r--apps/updatenotification/composer/autoload.php17
-rw-r--r--apps/updatenotification/composer/composer/installed.php4
-rw-r--r--apps/updatenotification/l10n/de_DE.js2
-rw-r--r--apps/updatenotification/l10n/de_DE.json2
-rw-r--r--apps/updatenotification/l10n/en_GB.js16
-rw-r--r--apps/updatenotification/l10n/en_GB.json16
-rw-r--r--apps/updatenotification/l10n/hu.js2
-rw-r--r--apps/updatenotification/l10n/hu.json2
-rw-r--r--apps/updatenotification/l10n/ko.js3
-rw-r--r--apps/updatenotification/l10n/ko.json3
-rw-r--r--apps/updatenotification/l10n/sv.js4
-rw-r--r--apps/updatenotification/l10n/sv.json4
-rw-r--r--apps/updatenotification/lib/Controller/APIController.php14
-rw-r--r--apps/updatenotification/lib/Notification/BackgroundJob.php7
-rw-r--r--apps/updatenotification/lib/Notification/Notifier.php16
-rw-r--r--apps/updatenotification/tests/Notification/BackgroundJobTest.php26
-rw-r--r--apps/user_ldap/composer/autoload.php17
-rw-r--r--apps/user_ldap/composer/composer/installed.php4
-rw-r--r--apps/user_ldap/js/wizard/view.js6
-rw-r--r--apps/user_ldap/l10n/el.js2
-rw-r--r--apps/user_ldap/l10n/el.json2
-rw-r--r--apps/user_ldap/l10n/en_GB.js19
-rw-r--r--apps/user_ldap/l10n/en_GB.json19
-rw-r--r--apps/user_ldap/l10n/fr.js2
-rw-r--r--apps/user_ldap/l10n/fr.json2
-rw-r--r--apps/user_ldap/l10n/sv.js2
-rw-r--r--apps/user_ldap/l10n/sv.json2
-rw-r--r--apps/user_ldap/l10n/uk.js6
-rw-r--r--apps/user_ldap/l10n/uk.json6
-rw-r--r--apps/user_ldap/lib/Configuration.php10
-rw-r--r--apps/user_ldap/lib/Connection.php32
-rw-r--r--apps/user_ldap/lib/Group_LDAP.php7
-rw-r--r--apps/user_ldap/lib/Jobs/CleanUp.php10
-rw-r--r--apps/user_ldap/lib/LDAP.php2
-rw-r--r--apps/user_ldap/lib/Wizard.php158
-rw-r--r--apps/user_ldap/tests/Jobs/CleanUpTest.php4
-rw-r--r--apps/user_status/composer/autoload.php17
-rw-r--r--apps/user_status/composer/composer/installed.php4
-rw-r--r--apps/user_status/css/user-status-menu.css3
-rw-r--r--apps/user_status/css/user-status-menu.css.map2
-rw-r--r--apps/user_status/css/user-status-menu.scss2
-rw-r--r--apps/user_status/l10n/en_GB.js17
-rw-r--r--apps/user_status/l10n/en_GB.json17
-rw-r--r--apps/user_status/src/components/OnlineStatusSelect.vue4
-rw-r--r--apps/user_status/src/components/PredefinedStatus.vue4
-rw-r--r--apps/user_status/src/components/SetStatusModal.vue7
-rw-r--r--apps/weather_status/l10n/el.js2
-rw-r--r--apps/weather_status/l10n/el.json2
-rw-r--r--apps/weather_status/l10n/en_GB.js62
-rw-r--r--apps/weather_status/l10n/en_GB.json60
-rw-r--r--apps/workflowengine/composer/autoload.php17
-rw-r--r--apps/workflowengine/composer/composer/installed.php4
-rw-r--r--apps/workflowengine/l10n/en_GB.js55
-rw-r--r--apps/workflowengine/l10n/en_GB.json55
-rw-r--r--apps/workflowengine/l10n/fr.js2
-rw-r--r--apps/workflowengine/l10n/fr.json2
-rw-r--r--apps/workflowengine/l10n/pt_PT.js12
-rw-r--r--apps/workflowengine/l10n/pt_PT.json12
-rw-r--r--apps/workflowengine/l10n/ru.js1
-rw-r--r--apps/workflowengine/l10n/ru.json1
-rw-r--r--apps/workflowengine/lib/BackgroundJobs/Rotate.php6
779 files changed, 9024 insertions, 4455 deletions
diff --git a/apps/admin_audit/composer/autoload.php b/apps/admin_audit/composer/autoload.php
index d316fe42c51..f208c9a23a0 100644
--- a/apps/admin_audit/composer/autoload.php
+++ b/apps/admin_audit/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/admin_audit/composer/composer/installed.php b/apps/admin_audit/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/admin_audit/composer/composer/installed.php
+++ b/apps/admin_audit/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/admin_audit/l10n/fr.js b/apps/admin_audit/l10n/fr.js
index 5c4fe63048f..e5e18cbeab3 100644
--- a/apps/admin_audit/l10n/fr.js
+++ b/apps/admin_audit/l10n/fr.js
@@ -1,7 +1,7 @@
OC.L10N.register(
"admin_audit",
{
- "Auditing / Logging" : "Vérification / Connexion",
- "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de traçage pour NextCloud tels que l'accès au fichier de connexions ou d'autres actions sensibles."
+ "Auditing / Logging" : "Audit / Journalisation",
+ "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de traçage pour NextCloud tels que les accès aux fichiers ou d'autres actions sensibles."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/admin_audit/l10n/fr.json b/apps/admin_audit/l10n/fr.json
index 38de798dce5..6790b813d6e 100644
--- a/apps/admin_audit/l10n/fr.json
+++ b/apps/admin_audit/l10n/fr.json
@@ -1,5 +1,5 @@
{ "translations": {
- "Auditing / Logging" : "Vérification / Connexion",
- "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de traçage pour NextCloud tels que l'accès au fichier de connexions ou d'autres actions sensibles."
+ "Auditing / Logging" : "Audit / Journalisation",
+ "Provides logging abilities for Nextcloud such as logging file accesses or otherwise sensitive actions." : "Fournit des capacités de traçage pour NextCloud tels que les accès aux fichiers ou d'autres actions sensibles."
},"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/admin_audit/lib/BackgroundJobs/Rotate.php b/apps/admin_audit/lib/BackgroundJobs/Rotate.php
index 27d5109fd3f..9526be6f7b1 100644
--- a/apps/admin_audit/lib/BackgroundJobs/Rotate.php
+++ b/apps/admin_audit/lib/BackgroundJobs/Rotate.php
@@ -27,7 +27,8 @@ declare(strict_types=1);
*/
namespace OCA\AdminAudit\BackgroundJobs;
-use OC\BackgroundJob\TimedJob;
+use OCP\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
use OCP\Log\RotationTrait;
@@ -37,13 +38,16 @@ class Rotate extends TimedJob {
/** @var IConfig */
private $config;
- public function __construct(IConfig $config) {
+ public function __construct(ITimeFactory $time,
+ IConfig $config) {
+ parent::__construct($time);
+
$this->config = $config;
$this->setInterval(60 * 60 * 3);
}
- protected function run($argument) {
+ protected function run($argument): void {
$default = $this->config->getSystemValue('datadirectory', \OC::$SERVERROOT . '/data') . '/audit.log';
$this->filePath = $this->config->getAppValue('admin_audit', 'logfile', $default);
diff --git a/apps/cloud_federation_api/composer/autoload.php b/apps/cloud_federation_api/composer/autoload.php
index fc52f01bfaf..0c261b9233d 100644
--- a/apps/cloud_federation_api/composer/autoload.php
+++ b/apps/cloud_federation_api/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/cloud_federation_api/composer/composer/installed.php b/apps/cloud_federation_api/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/cloud_federation_api/composer/composer/installed.php
+++ b/apps/cloud_federation_api/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/comments/composer/autoload.php b/apps/comments/composer/autoload.php
index 46d800ddaa8..2bbfd4fbebe 100644
--- a/apps/comments/composer/autoload.php
+++ b/apps/comments/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/comments/composer/composer/installed.php b/apps/comments/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/comments/composer/composer/installed.php
+++ b/apps/comments/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/comments/l10n/ca.js b/apps/comments/l10n/ca.js
index 7dd42bc08a2..2ebfeee794e 100644
--- a/apps/comments/l10n/ca.js
+++ b/apps/comments/l10n/ca.js
@@ -13,7 +13,7 @@ OC.L10N.register(
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Se t'ha esmentat a \"{file}\" en un comentari d'un usuari que s'ha suprimit des de llavors",
"{user} mentioned you in a comment on \"{file}\"" : "{user} t'ha mencionat en un comentari a \"{file}\"",
"Files app plugin to add comments to files" : "Connexió de l’aplicació de fitxers per afegir comentaris als fitxers",
- "Edit comment" : "Edita comentari",
+ "Edit comment" : "Edició comentari",
"Delete comment" : "Suprimeix comentari",
"Cancel edit" : "Cancel·la l'edició",
"Post comment" : "Enviar comentari",
@@ -28,7 +28,7 @@ OC.L10N.register(
"Comment deleted" : "Comentari suprimit",
"An error occurred while trying to delete the comment" : "S'ha produït un error en intentar suprimir el comentari",
"An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari",
- "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja no existeix",
+ "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja s'ha suprimit",
"{user} mentioned you in a comment on “{file}”" : "{user} us ha esmentat en un comentari de “{file}”"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/comments/l10n/ca.json b/apps/comments/l10n/ca.json
index daad216c823..3bbecfc5a43 100644
--- a/apps/comments/l10n/ca.json
+++ b/apps/comments/l10n/ca.json
@@ -11,7 +11,7 @@
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Se t'ha esmentat a \"{file}\" en un comentari d'un usuari que s'ha suprimit des de llavors",
"{user} mentioned you in a comment on \"{file}\"" : "{user} t'ha mencionat en un comentari a \"{file}\"",
"Files app plugin to add comments to files" : "Connexió de l’aplicació de fitxers per afegir comentaris als fitxers",
- "Edit comment" : "Edita comentari",
+ "Edit comment" : "Edició comentari",
"Delete comment" : "Suprimeix comentari",
"Cancel edit" : "Cancel·la l'edició",
"Post comment" : "Enviar comentari",
@@ -26,7 +26,7 @@
"Comment deleted" : "Comentari suprimit",
"An error occurred while trying to delete the comment" : "S'ha produït un error en intentar suprimir el comentari",
"An error occurred while trying to create the comment" : "S'ha produït un error en intentar crear el comentari",
- "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja no existeix",
+ "You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "Heu estat esmentats a \"{file}\" en un comentari d'un usuari que ja s'ha suprimit",
"{user} mentioned you in a comment on “{file}”" : "{user} us ha esmentat en un comentari de “{file}”"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/comments/l10n/en_GB.js b/apps/comments/l10n/en_GB.js
index 3586b5103d5..f199d0a629e 100644
--- a/apps/comments/l10n/en_GB.js
+++ b/apps/comments/l10n/en_GB.js
@@ -10,14 +10,24 @@ OC.L10N.register(
"%1$s commented on %2$s" : "%1$s commented on %2$s",
"{author} commented on {file}" : "{author} commented on {file}",
"<strong>Comments</strong> for files" : "<strong>Comments</strong> for files",
+ "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "You were mentioned on \"{file}\", in a comment by a user that has since been deleted",
+ "{user} mentioned you in a comment on \"{file}\"" : "{user} mentioned you in a comment on \"{file}\"",
"Files app plugin to add comments to files" : "Files app plugin to add comments to files",
"Edit comment" : "Edit comment",
"Delete comment" : "Delete comment",
+ "Cancel edit" : "Cancel edit",
+ "Post comment" : "Post comment",
"No comments yet, start the conversation!" : "No comments yet, start the conversation!",
+ "No more messages" : "No more messages",
"Retry" : "Retry",
+ "Unable to load the comments list" : "Unable to load the comments list",
"_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"],
"_1 new comment_::_{unread} new comments_" : ["1 new comment","{unread} new comments"],
"Comment" : "Comment",
+ "An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment",
+ "Comment deleted" : "Comment deleted",
+ "An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
+ "An error occurred while trying to create the comment" : "An error occurred while trying to create the comment",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "You were mentioned on “{file}”, in a comment by a user that has since been deleted",
"{user} mentioned you in a comment on “{file}”" : "{user} mentioned you in a comment on “{file}”"
},
diff --git a/apps/comments/l10n/en_GB.json b/apps/comments/l10n/en_GB.json
index 3e03a4e3df8..4e4ed0f4c97 100644
--- a/apps/comments/l10n/en_GB.json
+++ b/apps/comments/l10n/en_GB.json
@@ -8,14 +8,24 @@
"%1$s commented on %2$s" : "%1$s commented on %2$s",
"{author} commented on {file}" : "{author} commented on {file}",
"<strong>Comments</strong> for files" : "<strong>Comments</strong> for files",
+ "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "You were mentioned on \"{file}\", in a comment by a user that has since been deleted",
+ "{user} mentioned you in a comment on \"{file}\"" : "{user} mentioned you in a comment on \"{file}\"",
"Files app plugin to add comments to files" : "Files app plugin to add comments to files",
"Edit comment" : "Edit comment",
"Delete comment" : "Delete comment",
+ "Cancel edit" : "Cancel edit",
+ "Post comment" : "Post comment",
"No comments yet, start the conversation!" : "No comments yet, start the conversation!",
+ "No more messages" : "No more messages",
"Retry" : "Retry",
+ "Unable to load the comments list" : "Unable to load the comments list",
"_%n unread comment_::_%n unread comments_" : ["%n unread comment","%n unread comments"],
"_1 new comment_::_{unread} new comments_" : ["1 new comment","{unread} new comments"],
"Comment" : "Comment",
+ "An error occurred while trying to edit the comment" : "An error occurred while trying to edit the comment",
+ "Comment deleted" : "Comment deleted",
+ "An error occurred while trying to delete the comment" : "An error occurred while trying to delete the comment",
+ "An error occurred while trying to create the comment" : "An error occurred while trying to create the comment",
"You were mentioned on “{file}”, in a comment by a user that has since been deleted" : "You were mentioned on “{file}”, in a comment by a user that has since been deleted",
"{user} mentioned you in a comment on “{file}”" : "{user} mentioned you in a comment on “{file}”"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/comments/l10n/he.js b/apps/comments/l10n/he.js
index bb6ddb1f488..1a8831e2e22 100644
--- a/apps/comments/l10n/he.js
+++ b/apps/comments/l10n/he.js
@@ -10,6 +10,8 @@ OC.L10N.register(
"%1$s commented on %2$s" : "התקבלו תגובות %1$s ב- %2$s ",
"{author} commented on {file}" : "נוספה תגובה על {file} מאת {author}",
"<strong>Comments</strong> for files" : "<strong>תגובות</strong> על קבצים",
+ "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "אוזכרת בקובץ „{file}”, בהערה על ידי משתמש שנמחק מאז",
+ "{user} mentioned you in a comment on \"{file}\"" : "אוזכרת על ידי {user} בהערה בתוך „{file}”",
"Files app plugin to add comments to files" : "תוסף ליישומון הקבצים כדי להוסיף הערות על קבצים",
"Edit comment" : "עריכת תגובה",
"Delete comment" : "מחיקת תגובה",
diff --git a/apps/comments/l10n/he.json b/apps/comments/l10n/he.json
index cc474080373..bae926d8297 100644
--- a/apps/comments/l10n/he.json
+++ b/apps/comments/l10n/he.json
@@ -8,6 +8,8 @@
"%1$s commented on %2$s" : "התקבלו תגובות %1$s ב- %2$s ",
"{author} commented on {file}" : "נוספה תגובה על {file} מאת {author}",
"<strong>Comments</strong> for files" : "<strong>תגובות</strong> על קבצים",
+ "You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "אוזכרת בקובץ „{file}”, בהערה על ידי משתמש שנמחק מאז",
+ "{user} mentioned you in a comment on \"{file}\"" : "אוזכרת על ידי {user} בהערה בתוך „{file}”",
"Files app plugin to add comments to files" : "תוסף ליישומון הקבצים כדי להוסיף הערות על קבצים",
"Edit comment" : "עריכת תגובה",
"Delete comment" : "מחיקת תגובה",
diff --git a/apps/comments/l10n/uk.js b/apps/comments/l10n/uk.js
index 0102d810a76..ca9ca93937e 100644
--- a/apps/comments/l10n/uk.js
+++ b/apps/comments/l10n/uk.js
@@ -9,7 +9,7 @@ OC.L10N.register(
"You commented on {file}" : "Ви прокоментували {file}",
"%1$s commented on %2$s" : "%1$s прокоментовано у %2$s",
"{author} commented on {file}" : "{author} прокоментував {file}",
- "<strong>Comments</strong> for files" : "<strong>Коментів</strong> для файлів",
+ "<strong>Comments</strong> for files" : "З'явилися <strong>коментарі</strong> до файлів",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Вас згадали в \"{file}\" у коментарі користувача, який згодом було видалено",
"{user} mentioned you in a comment on \"{file}\"" : "{user} згадав вас у коментарі до \"{file}\"",
"Files app plugin to add comments to files" : "Плаґін до застосунку и\"Файли\" для додавання коментарів до файлів",
diff --git a/apps/comments/l10n/uk.json b/apps/comments/l10n/uk.json
index 5260d60fd25..ce07d4459a1 100644
--- a/apps/comments/l10n/uk.json
+++ b/apps/comments/l10n/uk.json
@@ -7,7 +7,7 @@
"You commented on {file}" : "Ви прокоментували {file}",
"%1$s commented on %2$s" : "%1$s прокоментовано у %2$s",
"{author} commented on {file}" : "{author} прокоментував {file}",
- "<strong>Comments</strong> for files" : "<strong>Коментів</strong> для файлів",
+ "<strong>Comments</strong> for files" : "З'явилися <strong>коментарі</strong> до файлів",
"You were mentioned on \"{file}\", in a comment by a user that has since been deleted" : "Вас згадали в \"{file}\" у коментарі користувача, який згодом було видалено",
"{user} mentioned you in a comment on \"{file}\"" : "{user} згадав вас у коментарі до \"{file}\"",
"Files app plugin to add comments to files" : "Плаґін до застосунку и\"Файли\" для додавання коментарів до файлів",
diff --git a/apps/comments/lib/Activity/Provider.php b/apps/comments/lib/Activity/Provider.php
index c6e55326580..f9a5971c7f3 100644
--- a/apps/comments/lib/Activity/Provider.php
+++ b/apps/comments/lib/Activity/Provider.php
@@ -31,12 +31,10 @@ use OCP\Comments\ICommentsManager;
use OCP\Comments\NotFoundException;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory;
class Provider implements IProvider {
-
protected IFactory $languageFactory;
protected ?IL10N $l = null;
protected IUrlGenerator $url;
@@ -97,14 +95,12 @@ class Provider implements IProvider {
if ($event->getSubject() === 'add_comment_subject') {
if ($subjectParameters['actor'] === $this->activityManager->getCurrentUserId()) {
- $event->setParsedSubject($this->l->t('You commented'))
- ->setRichSubject($this->l->t('You commented'), []);
+ $event->setRichSubject($this->l->t('You commented'), []);
} else {
$author = $this->generateUserParameter($subjectParameters['actor']);
- $event->setParsedSubject($this->l->t('%1$s commented', [$author['name']]))
- ->setRichSubject($this->l->t('{author} commented'), [
- 'author' => $author,
- ]);
+ $event->setRichSubject($this->l->t('{author} commented'), [
+ 'author' => $author,
+ ]);
}
} else {
throw new \InvalidArgumentException();
diff --git a/apps/comments/lib/Notification/Notifier.php b/apps/comments/lib/Notification/Notifier.php
index 4ddb7295bfe..59f1ad5da5f 100644
--- a/apps/comments/lib/Notification/Notifier.php
+++ b/apps/comments/lib/Notification/Notifier.php
@@ -29,7 +29,6 @@ use OCP\Comments\ICommentsManager;
use OCP\Comments\NotFoundException;
use OCP\Files\IRootFolder;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory;
use OCP\Notification\AlreadyProcessedException;
@@ -37,7 +36,6 @@ use OCP\Notification\INotification;
use OCP\Notification\INotifier;
class Notifier implements INotifier {
-
protected IFactory $l10nFactory;
protected IRootFolder $rootFolder;
protected ICommentsManager $commentsManager;
@@ -147,9 +145,7 @@ class Notifier implements INotifier {
}
[$message, $messageParameters] = $this->commentToRichMessage($comment);
$notification->setRichSubject($subject, $subjectParameters)
- ->setParsedSubject($this->richToParsed($subject, $subjectParameters))
->setRichMessage($message, $messageParameters)
- ->setParsedMessage($this->richToParsed($message, $messageParameters))
->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/comment.svg')))
->setLink($this->url->linkToRouteAbsolute(
'comments.Notifications.view',
@@ -205,19 +201,4 @@ class Notifier implements INotifier {
}
return [$message, $messageParameters];
}
-
- public function richToParsed(string $message, array $parameters): string {
- $placeholders = $replacements = [];
- foreach ($parameters as $placeholder => $parameter) {
- $placeholders[] = '{' . $placeholder . '}';
- if ($parameter['type'] === 'user') {
- $replacements[] = '@' . $parameter['name'];
- } elseif ($parameter['type'] === 'file') {
- $replacements[] = $parameter['path'];
- } else {
- $replacements[] = $parameter['name'];
- }
- }
- return str_replace($placeholders, $replacements, $message);
- }
}
diff --git a/apps/comments/src/comments-tab.js b/apps/comments/src/comments-tab.js
index 2c81843291c..78bfb610af7 100644
--- a/apps/comments/src/comments-tab.js
+++ b/apps/comments/src/comments-tab.js
@@ -20,12 +20,15 @@
*
*/
+// eslint-disable-next-line node/no-missing-import, import/no-unresolved
+import MessageReplyText from '@mdi/svg/svg/message-reply-text.svg?raw'
+
// Init Comments tab component
let TabInstance = null
const commentTab = new OCA.Files.Sidebar.Tab({
id: 'comments',
name: t('comments', 'Comments'),
- icon: 'icon-comment',
+ iconSvg: MessageReplyText,
async mount(el, fileInfo, context) {
if (TabInstance) {
diff --git a/apps/comments/src/components/Comment.vue b/apps/comments/src/components/Comment.vue
index 41284e50ca9..062dda74756 100644
--- a/apps/comments/src/components/Comment.vue
+++ b/apps/comments/src/components/Comment.vue
@@ -69,6 +69,7 @@
:auto-complete="autoComplete"
:contenteditable="!loading"
:value="localMessage"
+ :user-data="userData"
@update:value="updateLocalMessage"
@submit="onSubmit" />
<NcButton class="comment__submit"
diff --git a/apps/comments/src/views/Comments.vue b/apps/comments/src/views/Comments.vue
index 170c3c937b5..288fe44e96b 100644
--- a/apps/comments/src/views/Comments.vue
+++ b/apps/comments/src/views/Comments.vue
@@ -26,6 +26,7 @@
<!-- Editor -->
<Comment v-bind="editorData"
:auto-complete="autoComplete"
+ :user-data="userData"
:editor="true"
:ressource-id="ressourceId"
class="comments__writer"
@@ -91,9 +92,9 @@ import RefreshIcon from 'vue-material-design-icons/Refresh'
import MessageReplyTextIcon from 'vue-material-design-icons/MessageReplyText'
import AlertCircleOutlineIcon from 'vue-material-design-icons/AlertCircleOutline'
-import Comment from '../components/Comment'
-import getComments, { DEFAULT_LIMIT } from '../services/GetComments'
-import cancelableRequest from '../utils/cancelableRequest'
+import Comment from '../components/Comment.vue'
+import getComments, { DEFAULT_LIMIT } from '../services/GetComments.js'
+import cancelableRequest from '../utils/cancelableRequest.js'
Vue.use(VTooltip)
@@ -129,6 +130,7 @@ export default {
},
Comment,
+ userData: {},
}
},
@@ -173,21 +175,22 @@ export default {
* Make sure we have all mentions as Array of objects
*
* @param {Array} mentions the mentions list
- * @return {object[]}
+ * @return {Object<string, object>}
*/
genMentionsData(mentions) {
- const list = Object.values(mentions).flat()
- return list.reduce((mentions, mention) => {
- mentions[mention.mentionId] = {
- // TODO: support groups
- icon: 'icon-user',
- id: mention.mentionId,
- label: mention.mentionDisplayName,
- source: 'users',
- primary: getCurrentUser().uid === mention.mentionId,
- }
- return mentions
- }, {})
+ Object.values(mentions)
+ .flat()
+ .forEach(mention => {
+ this.userData[mention.mentionId] = {
+ // TODO: support groups
+ icon: 'icon-user',
+ id: mention.mentionId,
+ label: mention.mentionDisplayName,
+ source: 'users',
+ primary: getCurrentUser().uid === mention.mentionId,
+ }
+ })
+ return this.userData
},
/**
@@ -251,7 +254,9 @@ export default {
limit: loadState('comments', 'maxAutoCompleteResults'),
},
})
- return callback(results.data.ocs.data)
+ // Save user data so it can be used by the editor to replace mentions
+ results.data.ocs.data.forEach(user => { this.userData[user.id] = user })
+ return callback(Object.values(this.userData))
},
/**
diff --git a/apps/comments/tests/Unit/Notification/NotifierTest.php b/apps/comments/tests/Unit/Notification/NotifierTest.php
index ecd22ffd9e3..9281bb99fe8 100644
--- a/apps/comments/tests/Unit/Notification/NotifierTest.php
+++ b/apps/comments/tests/Unit/Notification/NotifierTest.php
@@ -35,7 +35,6 @@ use OCP\Files\IRootFolder;
use OCP\Files\Node;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory;
use OCP\Notification\INotification;
@@ -43,7 +42,6 @@ use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class NotifierTest extends TestCase {
-
/** @var Notifier */
protected $notifier;
/** @var IFactory|MockObject */
@@ -135,10 +133,8 @@ class NotifierTest extends TestCase {
->method('getSubjectParameters')
->willReturn(['files', '678']);
$this->notification
- ->expects($this->once())
- ->method('setParsedSubject')
- ->with($message)
- ->willReturnSelf();
+ ->expects($this->never())
+ ->method('setParsedSubject');
$this->notification
->expects($this->once())
->method('setRichSubject')
@@ -150,10 +146,8 @@ class NotifierTest extends TestCase {
->with('Hi {mention-user1}!', ['mention-user1' => ['type' => 'user', 'id' => 'you', 'name' => 'Your name']])
->willReturnSelf();
$this->notification
- ->expects($this->once())
- ->method('setParsedMessage')
- ->with('Hi @Your name!')
- ->willReturnSelf();
+ ->expects($this->never())
+ ->method('setParsedMessage');
$this->notification
->expects($this->once())
->method('setIcon')
@@ -256,10 +250,8 @@ class NotifierTest extends TestCase {
->method('getSubjectParameters')
->willReturn(['files', '678']);
$this->notification
- ->expects($this->once())
- ->method('setParsedSubject')
- ->with($message)
- ->willReturnSelf();
+ ->expects($this->never())
+ ->method('setParsedSubject');
$this->notification
->expects($this->once())
->method('setRichSubject')
@@ -271,10 +263,8 @@ class NotifierTest extends TestCase {
->with('Hi {mention-user1}!', ['mention-user1' => ['type' => 'user', 'id' => 'you', 'name' => 'Your name']])
->willReturnSelf();
$this->notification
- ->expects($this->once())
- ->method('setParsedMessage')
- ->with('Hi @Your name!')
- ->willReturnSelf();
+ ->expects($this->never())
+ ->method('setParsedMessage');
$this->notification
->expects($this->once())
->method('setIcon')
diff --git a/apps/contactsinteraction/composer/autoload.php b/apps/contactsinteraction/composer/autoload.php
index 748e5f45fe9..ee3abcce2c2 100644
--- a/apps/contactsinteraction/composer/autoload.php
+++ b/apps/contactsinteraction/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/contactsinteraction/composer/composer/installed.php b/apps/contactsinteraction/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/contactsinteraction/composer/composer/installed.php
+++ b/apps/contactsinteraction/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/contactsinteraction/lib/AddressBook.php b/apps/contactsinteraction/lib/AddressBook.php
index 1a024947362..518e39942d9 100644
--- a/apps/contactsinteraction/lib/AddressBook.php
+++ b/apps/contactsinteraction/lib/AddressBook.php
@@ -40,18 +40,13 @@ use Sabre\DAVACL\ACLTrait;
use Sabre\DAVACL\IACL;
class AddressBook extends ExternalAddressBook implements IACL {
- public const URI = 'recent';
-
use ACLTrait;
- /** @var RecentContactMapper */
- private $mapper;
-
- /** @var IL10N */
- private $l10n;
+ public const URI = 'recent';
- /** @var string */
- private $principalUri;
+ private RecentContactMapper $mapper;
+ private IL10N $l10n;
+ private string $principalUri;
public function __construct(RecentContactMapper $mapper,
IL10N $l10n,
@@ -81,7 +76,7 @@ class AddressBook extends ExternalAddressBook implements IACL {
* @inheritDoc
* @throws NotFound
*/
- public function getChild($name) {
+ public function getChild($name): Card {
try {
return new Card(
$this->mapper->find(
@@ -115,7 +110,7 @@ class AddressBook extends ExternalAddressBook implements IACL {
/**
* @inheritDoc
*/
- public function childExists($name) {
+ public function childExists($name): bool {
try {
$this->mapper->find(
$this->getUid(),
@@ -160,7 +155,7 @@ class AddressBook extends ExternalAddressBook implements IACL {
/**
* @inheritDoc
*/
- public function getACL() {
+ public function getACL(): array {
return [
[
'privilege' => '{DAV:}read',
diff --git a/apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php b/apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php
index fd370ce60e5..e728342e9b0 100644
--- a/apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php
+++ b/apps/contactsinteraction/lib/BackgroundJob/CleanupJob.php
@@ -31,9 +31,7 @@ use OCP\BackgroundJob\IJob;
use OCP\BackgroundJob\TimedJob;
class CleanupJob extends TimedJob {
-
- /** @var RecentContactMapper */
- private $mapper;
+ private RecentContactMapper $mapper;
public function __construct(ITimeFactory $time,
RecentContactMapper $mapper) {
diff --git a/apps/contactsinteraction/lib/Card.php b/apps/contactsinteraction/lib/Card.php
index bf4ca1f394f..aa73d0e2122 100644
--- a/apps/contactsinteraction/lib/Card.php
+++ b/apps/contactsinteraction/lib/Card.php
@@ -36,14 +36,9 @@ use Sabre\DAVACL\IACL;
class Card implements ICard, IACL {
use ACLTrait;
- /** @var RecentContact */
- private $contact;
-
- /** @var string */
- private $principal;
-
- /** @var array */
- private $acls;
+ private RecentContact $contact;
+ private string $principal;
+ private array $acls;
public function __construct(RecentContact $contact, string $principal, array $acls) {
$this->contact = $contact;
diff --git a/apps/contactsinteraction/lib/Db/CardSearchDao.php b/apps/contactsinteraction/lib/Db/CardSearchDao.php
index 4bf9d9367c4..6bd6538257c 100644
--- a/apps/contactsinteraction/lib/Db/CardSearchDao.php
+++ b/apps/contactsinteraction/lib/Db/CardSearchDao.php
@@ -32,9 +32,7 @@ use function is_resource;
use function stream_get_contents;
class CardSearchDao {
-
- /** @var IDBConnection */
- private $db;
+ private IDBConnection $db;
public function __construct(IDBConnection $db) {
$this->db = $db;
diff --git a/apps/contactsinteraction/lib/Db/RecentContact.php b/apps/contactsinteraction/lib/Db/RecentContact.php
index 306792b434e..7160ef1077b 100644
--- a/apps/contactsinteraction/lib/Db/RecentContact.php
+++ b/apps/contactsinteraction/lib/Db/RecentContact.php
@@ -42,24 +42,12 @@ use OCP\AppFramework\Db\Entity;
* @method int getLastContact()
*/
class RecentContact extends Entity {
-
- /** @var string */
- protected $actorUid;
-
- /** @var string|null */
- protected $uid;
-
- /** @var string|null */
- protected $email;
-
- /** @var string|null */
- protected $federatedCloudId;
-
- /** @var string */
- protected $card;
-
- /** @var int */
- protected $lastContact;
+ protected string $actorUid = '';
+ protected ?string $uid = null;
+ protected ?string $email = null;
+ protected ?string $federatedCloudId = null;
+ protected string $card = '';
+ protected int $lastContact = -1;
public function __construct() {
$this->addType('actorUid', 'string');
diff --git a/apps/contactsinteraction/lib/Db/RecentContactMapper.php b/apps/contactsinteraction/lib/Db/RecentContactMapper.php
index d606c07152a..49a705af570 100644
--- a/apps/contactsinteraction/lib/Db/RecentContactMapper.php
+++ b/apps/contactsinteraction/lib/Db/RecentContactMapper.php
@@ -56,10 +56,6 @@ class RecentContactMapper extends QBMapper {
}
/**
- * @param string $uid
- * @param int $id
- *
- * @return RecentContact
* @throws DoesNotExistException
*/
public function find(string $uid, int $id): RecentContact {
@@ -75,11 +71,6 @@ class RecentContactMapper extends QBMapper {
}
/**
- * @param IUser $user
- * @param string|null $uid
- * @param string|null $email
- * @param string|null $cloudId
- *
* @return RecentContact[]
*/
public function findMatch(IUser $user,
@@ -108,11 +99,7 @@ class RecentContactMapper extends QBMapper {
return $this->findEntities($select);
}
- /**
- * @param string $uid
- * @return int|null
- */
- public function findLastUpdatedForUserId(string $uid):?int {
+ public function findLastUpdatedForUserId(string $uid): ?int {
$qb = $this->db->getQueryBuilder();
$select = $qb
@@ -122,7 +109,7 @@ class RecentContactMapper extends QBMapper {
->orderBy('last_contact', 'DESC')
->setMaxResults(1);
- $cursor = $select->execute();
+ $cursor = $select->executeQuery();
$row = $cursor->fetch();
if ($row === false) {
@@ -139,6 +126,6 @@ class RecentContactMapper extends QBMapper {
->delete($this->getTableName())
->where($qb->expr()->lt('last_contact', $qb->createNamedParameter($olderThan)));
- $delete->execute();
+ $delete->executeStatement();
}
}
diff --git a/apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php b/apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php
index 333a6393920..0d776bb9fcc 100644
--- a/apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php
+++ b/apps/contactsinteraction/lib/Listeners/ContactInteractionListener.php
@@ -41,24 +41,12 @@ use Sabre\VObject\UUIDUtil;
use Throwable;
class ContactInteractionListener implements IEventListener {
-
- /** @var RecentContactMapper */
- private $mapper;
-
- /** @var CardSearchDao */
- private $cardSearchDao;
-
- /** @var IUserManager */
- private $userManager;
-
- /** @var ITimeFactory */
- private $timeFactory;
-
- /** @var IL10N */
- private $l10n;
-
- /** @var LoggerInterface */
- private $logger;
+ private RecentContactMapper $mapper;
+ private CardSearchDao $cardSearchDao;
+ private IUserManager $userManager;
+ private ITimeFactory $timeFactory;
+ private IL10N $l10n;
+ private LoggerInterface $logger;
public function __construct(RecentContactMapper $mapper,
CardSearchDao $cardSearchDao,
diff --git a/apps/dashboard/l10n/ca.js b/apps/dashboard/l10n/ca.js
index 2607b684ce8..33c4aa71742 100644
--- a/apps/dashboard/l10n/ca.js
+++ b/apps/dashboard/l10n/ca.js
@@ -8,7 +8,7 @@ OC.L10N.register(
"Edit widgets" : "Edita els ginys",
"Get more widgets from the App Store" : "Aconseguiu més widgets de la botiga d'aplicacions",
"Weather service" : "Servei meteorològic",
- "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la seva privacitat, les dades meteorològiques les sol·licita el seu servidor Nextcloud en el seu lloc perquè el servei meteorològic no rebi cap informació personal.",
+ "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la seva privadesa, les dades meteorològiques les sol·licita el seu servidor Nextcloud en el seu lloc perquè el servei meteorològic no rebi cap informació personal.",
"Weather data from Met.no" : "Dades meteorològiques de Met.no",
"geocoding with Nominatim" : "codis geogràfics amb Nominatim",
"elevation data from OpenTopoData" : "dades d'altitud d'OpenTopoData",
@@ -25,7 +25,7 @@ OC.L10N.register(
"Show something" : "Mostra alguna cosa",
"Change background image" : "Canvia la imatge de fons",
"Pick from Files" : "Trieu dels fitxers",
- "Default images" : "Imatges predeterminades",
+ "Default images" : "Imatges per defecte",
"Plain background" : "Fons senzill",
"Insert from {productName}" : "Insereix des de {productName}"
},
diff --git a/apps/dashboard/l10n/ca.json b/apps/dashboard/l10n/ca.json
index 3e9bbaa3b89..a9425a1351c 100644
--- a/apps/dashboard/l10n/ca.json
+++ b/apps/dashboard/l10n/ca.json
@@ -6,7 +6,7 @@
"Edit widgets" : "Edita els ginys",
"Get more widgets from the App Store" : "Aconseguiu més widgets de la botiga d'aplicacions",
"Weather service" : "Servei meteorològic",
- "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la seva privacitat, les dades meteorològiques les sol·licita el seu servidor Nextcloud en el seu lloc perquè el servei meteorològic no rebi cap informació personal.",
+ "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "Per a la seva privadesa, les dades meteorològiques les sol·licita el seu servidor Nextcloud en el seu lloc perquè el servei meteorològic no rebi cap informació personal.",
"Weather data from Met.no" : "Dades meteorològiques de Met.no",
"geocoding with Nominatim" : "codis geogràfics amb Nominatim",
"elevation data from OpenTopoData" : "dades d'altitud d'OpenTopoData",
@@ -23,7 +23,7 @@
"Show something" : "Mostra alguna cosa",
"Change background image" : "Canvia la imatge de fons",
"Pick from Files" : "Trieu dels fitxers",
- "Default images" : "Imatges predeterminades",
+ "Default images" : "Imatges per defecte",
"Plain background" : "Fons senzill",
"Insert from {productName}" : "Insereix des de {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/dashboard/l10n/en_GB.js b/apps/dashboard/l10n/en_GB.js
new file mode 100644
index 00000000000..cdcc4ff225c
--- /dev/null
+++ b/apps/dashboard/l10n/en_GB.js
@@ -0,0 +1,32 @@
+OC.L10N.register(
+ "dashboard",
+ {
+ "Dashboard" : "Dashboard",
+ "Dashboard app" : "Dashboard app",
+ "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking.",
+ "Customize" : "Customise",
+ "Edit widgets" : "Edit widgets",
+ "Get more widgets from the App Store" : "Get more widgets from the App Store",
+ "Weather service" : "Weather service",
+ "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information.",
+ "Weather data from Met.no" : "Weather data from Met.no",
+ "geocoding with Nominatim" : "geocoding with Nominatim",
+ "elevation data from OpenTopoData" : "elevation data from OpenTopoData",
+ "Weather" : "Weather",
+ "Status" : "Status",
+ "Good morning" : "Good morning",
+ "Good morning, {name}" : "Good morning, {name}",
+ "Good afternoon" : "Good afternoon",
+ "Good afternoon, {name}" : "Good afternoon, {name}",
+ "Good evening" : "Good evening",
+ "Good evening, {name}" : "Good evening, {name}",
+ "Hello" : "Hello",
+ "Hello, {name}" : "Hello, {name}",
+ "Show something" : "Show something",
+ "Change background image" : "Change background image",
+ "Pick from Files" : "Pick from Files",
+ "Default images" : "Default images",
+ "Plain background" : "Plain background",
+ "Insert from {productName}" : "Insert from {productName}"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/dashboard/l10n/en_GB.json b/apps/dashboard/l10n/en_GB.json
new file mode 100644
index 00000000000..3e9c58464d6
--- /dev/null
+++ b/apps/dashboard/l10n/en_GB.json
@@ -0,0 +1,30 @@
+{ "translations": {
+ "Dashboard" : "Dashboard",
+ "Dashboard app" : "Dashboard app",
+ "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking." : "Start your day informed\n\nThe Nextcloud Dashboard is your starting point of the day, giving you an\noverview of your upcoming appointments, urgent emails, chat messages,\nincoming tickets, latest tweets and much more! Users can add the widgets\nthey like and change the background to their liking.",
+ "Customize" : "Customise",
+ "Edit widgets" : "Edit widgets",
+ "Get more widgets from the App Store" : "Get more widgets from the App Store",
+ "Weather service" : "Weather service",
+ "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information." : "For your privacy, the weather data is requested by your Nextcloud server on your behalf so the weather service receives no personal information.",
+ "Weather data from Met.no" : "Weather data from Met.no",
+ "geocoding with Nominatim" : "geocoding with Nominatim",
+ "elevation data from OpenTopoData" : "elevation data from OpenTopoData",
+ "Weather" : "Weather",
+ "Status" : "Status",
+ "Good morning" : "Good morning",
+ "Good morning, {name}" : "Good morning, {name}",
+ "Good afternoon" : "Good afternoon",
+ "Good afternoon, {name}" : "Good afternoon, {name}",
+ "Good evening" : "Good evening",
+ "Good evening, {name}" : "Good evening, {name}",
+ "Hello" : "Hello",
+ "Hello, {name}" : "Hello, {name}",
+ "Show something" : "Show something",
+ "Change background image" : "Change background image",
+ "Pick from Files" : "Pick from Files",
+ "Default images" : "Default images",
+ "Plain background" : "Plain background",
+ "Insert from {productName}" : "Insert from {productName}"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/dashboard/l10n/hu.js b/apps/dashboard/l10n/hu.js
index 9d3acc21e88..efb717b2547 100644
--- a/apps/dashboard/l10n/hu.js
+++ b/apps/dashboard/l10n/hu.js
@@ -27,6 +27,6 @@ OC.L10N.register(
"Pick from Files" : "Választás a fájlok közül",
"Default images" : "Alapértelmezett képek",
"Plain background" : "Egyszerű háttér",
- "Insert from {productName}" : "Beillesztés innen: {productName}-"
+ "Insert from {productName}" : "Beillesztés innen: {productName}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dashboard/l10n/hu.json b/apps/dashboard/l10n/hu.json
index 3bbc20c6ee9..4d83da0b427 100644
--- a/apps/dashboard/l10n/hu.json
+++ b/apps/dashboard/l10n/hu.json
@@ -25,6 +25,6 @@
"Pick from Files" : "Választás a fájlok közül",
"Default images" : "Alapértelmezett képek",
"Plain background" : "Egyszerű háttér",
- "Insert from {productName}" : "Beillesztés innen: {productName}-"
+ "Insert from {productName}" : "Beillesztés innen: {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dashboard/l10n/uk.js b/apps/dashboard/l10n/uk.js
index 1f314e39739..3b8b74cacc9 100644
--- a/apps/dashboard/l10n/uk.js
+++ b/apps/dashboard/l10n/uk.js
@@ -23,10 +23,10 @@ OC.L10N.register(
"Hello" : "Привіт",
"Hello, {name}" : "Привіт, {name}",
"Show something" : "Показати щось",
- "Change background image" : "Змінити фонову світлину",
+ "Change background image" : "Змінити зображення тла",
"Pick from Files" : "Виберіть із файлів",
"Default images" : "Типові зображення",
- "Plain background" : "Рівний фон",
+ "Plain background" : "Однокольорове тло",
"Insert from {productName}" : "Вставка з {productName}"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/dashboard/l10n/uk.json b/apps/dashboard/l10n/uk.json
index ad7645a63f9..3cc64ff62e2 100644
--- a/apps/dashboard/l10n/uk.json
+++ b/apps/dashboard/l10n/uk.json
@@ -21,10 +21,10 @@
"Hello" : "Привіт",
"Hello, {name}" : "Привіт, {name}",
"Show something" : "Показати щось",
- "Change background image" : "Змінити фонову світлину",
+ "Change background image" : "Змінити зображення тла",
"Pick from Files" : "Виберіть із файлів",
"Default images" : "Типові зображення",
- "Plain background" : "Рівний фон",
+ "Plain background" : "Однокольорове тло",
"Insert from {productName}" : "Вставка з {productName}"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/dav/appinfo/v1/publicwebdav.php b/apps/dav/appinfo/v1/publicwebdav.php
index 409fbbcf4a7..5530fc2cc7d 100644
--- a/apps/dav/appinfo/v1/publicwebdav.php
+++ b/apps/dav/appinfo/v1/publicwebdav.php
@@ -30,6 +30,8 @@
*
*/
+use OCP\BeforeSabrePubliclyLoadedEvent;
+use OCP\EventDispatcher\IEventDispatcher;
use Psr\Log\LoggerInterface;
// load needed apps
@@ -111,6 +113,11 @@ $server = $serverFactory->createServer($baseuri, $requestUri, $authPlugin, funct
$server->addPlugin($linkCheckPlugin);
$server->addPlugin($filesDropPlugin);
+// allow setup of additional plugins
+$event = new BeforeSabrePubliclyLoadedEvent($server);
+/** @var IEventDispatcher $eventDispatcher */
+$eventDispatcher = \OC::$server->get(IEventDispatcher::class);
+$eventDispatcher->dispatchTyped($event);
// And off we go!
$server->exec();
diff --git a/apps/dav/composer/autoload.php b/apps/dav/composer/autoload.php
index a3040af8caa..0103857e976 100644
--- a/apps/dav/composer/autoload.php
+++ b/apps/dav/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/dav/composer/composer/installed.php b/apps/dav/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/dav/composer/composer/installed.php
+++ b/apps/dav/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/dav/l10n/ca.js b/apps/dav/l10n/ca.js
index a1d37e37ba3..7842a8ea390 100644
--- a/apps/dav/l10n/ca.js
+++ b/apps/dav/l10n/ca.js
@@ -2,6 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendari",
+ "To-dos" : "Tasques pendents",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Heu creat el calendari {calendar}",
@@ -9,6 +10,8 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "Heu suprimit el calendari {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ha actualitzat el calendari {calendar}",
"You updated calendar {calendar}" : "Heu actualitzat el calendari {calendar}",
+ "{actor} restored calendar {calendar}" : "{actor} ha restaurat el calendari {calendar}",
+ "You restored calendar {calendar}" : "Heu restaurat el calendari {calendar}",
"You shared calendar {calendar} as public link" : "Heu compartit el calendari {calendar} amb un enllaç públic",
"You removed public link for calendar {calendar}" : "Heu eliminat l'enllaç públic del calendari {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} ha compartit el calendari {calendar} amb vós",
@@ -29,9 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Heu suprimit l'esdeveniment {event} del calendari {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} esdeveniment actualitzat {esdeveniment} al calendari {calendar}",
"You updated event {event} in calendar {calendar}" : "Heu actualitzat l'esdeveniment {event} al calendari {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha mogut l'esdeveniment {event} del calendari {sourceCalendar} al calendari {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Heu mogut l'esdeveniment {event} del calendari {sourceCalendar} al calendari {targetCalendar}",
+ "{actor} restored event {event} of calendar {calendar}" : "{actor} esdeveniment restaurat {event} del calendari {calendar}",
+ "You restored event {event} of calendar {calendar}" : "Heu restaurat l'esdeveniment {event} del calendari {calendar}",
"Busy" : "Ocupat",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} ha creat la tasca pendent {todo} a la llista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Heu creat la tasca pendent {todo} a la llista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha suprimit tasques pendents {todo} de la llista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Heu suprimit la tasca pendent {todo} de la llista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualitzat tasques pendents {todo} a la llista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Heu actualitzat la tasca pendent {todo} a la llista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resolt la tasca pendent {todo} a la llista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Heu resolt la tasca pendent {todo} a la llista {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} va reobrir tasques pendents {todo} a la llista {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Heu reobert les tasques pendents {todo} a la llista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha mogut la tasca pendent {todo} de la llista {sourceCalendar} a la llista {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Heu mogut la tasca pendent {todo} de la llista {sourceCalendar} a la llista {targetCalendar}",
+ "Calendar, contacts and tasks" : "Calendari, contactes i tasques",
"A <strong>calendar</strong> was modified" : "El <strong>calendari</strong> has estat modificat",
"A calendar <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari",
+ "A calendar <strong>to-do</strong> was modified" : "S'ha modificat una <strong>tasca pendent</strong> del calendari",
"Contact birthdays" : "Aniversaris dels contactes",
"Death of %s" : "Mort de %s",
"Calendar:" : "Calendari:",
@@ -50,8 +71,11 @@ OC.L10N.register(
"Description: %s" : "Descripció: %s",
"Where: %s" : "On: %s",
"%1$s via %2$s" : "%1$s mitjançant %2$s",
+ "Cancelled: %1$s" : "Cancel·lat: %1$s",
"Invitation canceled" : "Invitació cancel·lada",
+ "Re: %1$s" : "Re: %1$s",
"Invitation updated" : "Invitació actualitzada",
+ "Invitation: %1$s" : "Invitació: %1$s",
"Invitation" : "Invitació",
"Title:" : "Títol:",
"Time:" : "Hora:",
@@ -60,10 +84,52 @@ OC.L10N.register(
"Organizer:" : "Organitzador:",
"Attendees:" : "Assistents:",
"Accept" : "Accepta",
- "Decline" : "Rebutja",
+ "Decline" : "Declina",
"More options …" : "Més opcions …",
"More options at %s" : "Més opcions a %s",
"Contacts" : "Contactes",
+ "{actor} created address book {addressbook}" : "{actor} ha creat la llibreta d'adreces {addressbook}",
+ "You created address book {addressbook}" : "Heu creat la llibreta d'adreces {addressbook}",
+ "{actor} deleted address book {addressbook}" : "{actor} llibreta d'adreces suprimida {addressbook}",
+ "You deleted address book {addressbook}" : "Heu suprimit la llibreta d'adreces {addressbook}",
+ "{actor} updated address book {addressbook}" : "{actor} llibreta d'adreces actualitzada {addressbook}",
+ "You updated address book {addressbook}" : "Heu actualitzat la llibreta d'adreces {addressbook}",
+ "{actor} shared address book {addressbook} with you" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb vostè",
+ "You shared address book {addressbook} with {user}" : "Heu compartit la llibreta d'adreces {addressbook} amb {user}",
+ "{actor} shared address book {addressbook} with {user}" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb {user}",
+ "{actor} unshared address book {addressbook} from you" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} amb vostè",
+ "You unshared address book {addressbook} from {user}" : "Heu deixat de compartir la llibreta d'adreces {addressbook} de {user}",
+ "{actor} unshared address book {addressbook} from {user}" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} de {user}",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} d'ells mateixos",
+ "You shared address book {addressbook} with group {group}" : "Heu compartit la llibreta d'adreces {addressbook} amb el grup {group}",
+ "{actor} shared address book {addressbook} with group {group}" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb el grup {group}",
+ "You unshared address book {addressbook} from group {group}" : "Heu deixat de compartir la llibreta d'adreces {addressbook} del grup {group}",
+ "{actor} unshared address book {addressbook} from group {group}" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} del grup {group}",
+ "{actor} created contact {card} in address book {addressbook}" : "{actor} ha creat el contacte {card} a la llibreta d'adreces {addressbook}",
+ "You created contact {card} in address book {addressbook}" : "Heu creat el contacte {card} a la llibreta d'adreces {addressbook}",
+ "{actor} deleted contact {card} from address book {addressbook}" : "{actor} ha suprimit el contacte {card} de la llibreta d'adreces {addressbook}",
+ "You deleted contact {card} from address book {addressbook}" : "Heu suprimit el contacte {card} de la llibreta d'adreces {addressbook}",
+ "{actor} updated contact {card} in address book {addressbook}" : "{actor} ha actualitzat el contacte {card} a la llibreta d'adreces {addressbook}",
+ "You updated contact {card} in address book {addressbook}" : "Heu actualitzat el contacte {card} a la llibreta d'adreces {addressbook}",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "S'ha modificat un <strong>contacte</strong> o una <strong>llibreta d'adreces</strong>",
+ "File is not updatable: %1$s" : "El fitxer no es pot actualitzar: %1$s",
+ "Could not write to final file, canceled by hook" : "No s'ha pogut escriure al fitxer final, cancel·lat per ganxo",
+ "Could not write file contents" : "No s'ha pogut escriure el contingut del fitxer",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error en copiar el fitxer a la ubicació de destí (copiat: %1$s, mida esperada del fitxer: %2$s)",
+ "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "S'esperava una mida de fitxer de %1$s però llegit (des del client Nextcloud) i escrit (a l'emmagatzematge de Nextcloud) %2$s. Pot ser un problema de xarxa al costat d'enviament o un problema d'escriptura a l'emmagatzematge del costat del servidor.",
+ "Could not rename part file to final file, canceled by hook" : "No s'ha pogut canviar el nom del fitxer de la part al fitxer final, cancel·lat per ganxo",
+ "Could not rename part file to final file" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final",
+ "Failed to check file size: %1$s" : "No s'ha pogut comprovar la mida del fitxer: %1$s",
+ "Could not open file" : "No s’ha pogut obrir el fitxer",
+ "Encryption not ready: %1$s" : "El xifratge no està preparat: %1$s",
+ "Failed to open file: %1$s" : "No s'ha pogut obrir el fitxer: %1$s",
+ "Failed to unlink: %1$s" : "No s'ha pogut desenllaçar: %1$s",
+ "Invalid chunk name" : "Nom del fragment no vàlid",
+ "Could not rename part file assembled from chunks" : "No s'ha pogut canviar el nom del fitxer de peces muntat a partir de fragments",
+ "Failed to write file contents: %1$s" : "No s'ha pogut escriure el contingut del fitxer: %1$s",
+ "File not found: %1$s" : "No s'ha trobat el fitxer: %1$s",
+ "System is in maintenance mode." : "Sistema en mode de manteniment.",
"Upgrade needed" : "Fa falta l'actualització",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "El vostre %s cal configurar-se per utilitzar HTTPS per poder fer servir CalDAV i CardDAV amb iOS/macOS.",
"Configures a CalDAV account" : "Configura un compte CalDAV",
@@ -74,11 +140,18 @@ OC.L10N.register(
"Completed on %s" : "Completat a %s",
"Due on %s by %s" : "Venciment a %s per %s",
"Due on %s" : "Venç en %s",
+ "Migrated calendar (%1$s)" : "Calendari migrat (%1$s)",
+ "Calendars including events, details and attendees" : "Calendaris que inclouen esdeveniments, detalls i assistents",
"Contacts and groups" : "Contactes i grups",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Punt final de WebDAV",
+ "Availability" : "Disponibilitat",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configureu el vostre horari laboral, els altres usuaris veuran quan sou fora de l'oficina quan reserven una reunió.",
+ "Time zone:" : "Zona horària:",
"to" : "a",
- "Delete slot" : "Suprimeix unitat temporal",
+ "Delete slot" : "Suprimeix forat",
+ "No working hours set" : "Sense horari de treball establert",
+ "Add slot" : "Afegeix una forat",
"Monday" : "Dilluns",
"Tuesday" : "Dimarts",
"Wednesday" : "Dimecres",
@@ -86,14 +159,20 @@ OC.L10N.register(
"Friday" : "Divendres",
"Saturday" : "Dissabte",
"Sunday" : "Diumenge",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estableix automàticament l'estat de l'usuari a \"No molestar\" fora de la disponibilitat per silenciar totes les notificacions.",
"Save" : "Desa",
+ "Failed to load availability" : "No s'ha pogut carregar la disponibilitat",
+ "Saved availability" : "Disponibilitat guardada",
+ "Failed to save availability" : "No s'ha pogut desar la disponibilitat",
"Calendar server" : "Servidor de calendari",
"Send invitations to attendees" : "Envia invitacions als assistents",
"Automatically generate a birthday calendar" : "Genera automàticament un calendari d’aniversari",
"Birthday calendars will be generated by a background job." : "Els calendaris d'aniversari es generaran per un procés en segon pla..",
"Hence they will not be available immediately after enabling but will show up after some time." : "Per tant, no estaran disponibles immediatament després d'habilitar-los, però apareixeran d'aquí una estona.",
"Send notifications for events" : "Envia notificacions per als esdeveniments",
- "Notifications are sent via background jobs, so these must occur often enough." : "Les notificacions s'envien per tasques funcionant en segon pla, així que això ha de succeir bastant sovint.",
+ "Notifications are sent via background jobs, so these must occur often enough." : "Les notificacions s'envien per feines en segon pla, així que això ha de succeir bastant sovint.",
+ "Send reminder notifications to calendar sharees as well" : "També envieu notificacions de recordatoris als recursos compartits del calendari",
+ "Reminders are always sent to organizers and attendees." : "Sempre s'envien recordatoris als organitzadors i als assistents.",
"Enable notifications for events via push" : "Habiliteu les notificacions per a esdeveniments mitjançant l’empenyiment",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instal·leu també {calendarappstoreopen}l’aplicació de Calendari{linkclose} o {calendardocopen}connecteu el vostre escriptori i el mòbil per sincronitzar ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Si us plau, assegureu-vos de configurar correctament {emailopen}el servidor de correu electrònic{linkclose}.",
@@ -101,6 +180,7 @@ OC.L10N.register(
"Please contact the organizer directly." : "Si us plau contacteu amb l'organitzador directament.",
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
+ "Number of guests" : "Nombre d'hostes",
"Comment" : "Comentari",
"Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament.",
"Todos" : "Tasques",
diff --git a/apps/dav/l10n/ca.json b/apps/dav/l10n/ca.json
index 5d339d4de30..34c384e1648 100644
--- a/apps/dav/l10n/ca.json
+++ b/apps/dav/l10n/ca.json
@@ -1,5 +1,6 @@
{ "translations": {
"Calendar" : "Calendari",
+ "To-dos" : "Tasques pendents",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} ha creat el calendari {calendar}",
"You created calendar {calendar}" : "Heu creat el calendari {calendar}",
@@ -7,6 +8,8 @@
"You deleted calendar {calendar}" : "Heu suprimit el calendari {calendar}",
"{actor} updated calendar {calendar}" : "{actor} ha actualitzat el calendari {calendar}",
"You updated calendar {calendar}" : "Heu actualitzat el calendari {calendar}",
+ "{actor} restored calendar {calendar}" : "{actor} ha restaurat el calendari {calendar}",
+ "You restored calendar {calendar}" : "Heu restaurat el calendari {calendar}",
"You shared calendar {calendar} as public link" : "Heu compartit el calendari {calendar} amb un enllaç públic",
"You removed public link for calendar {calendar}" : "Heu eliminat l'enllaç públic del calendari {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} ha compartit el calendari {calendar} amb vós",
@@ -27,9 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Heu suprimit l'esdeveniment {event} del calendari {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} esdeveniment actualitzat {esdeveniment} al calendari {calendar}",
"You updated event {event} in calendar {calendar}" : "Heu actualitzat l'esdeveniment {event} al calendari {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} ha mogut l'esdeveniment {event} del calendari {sourceCalendar} al calendari {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Heu mogut l'esdeveniment {event} del calendari {sourceCalendar} al calendari {targetCalendar}",
+ "{actor} restored event {event} of calendar {calendar}" : "{actor} esdeveniment restaurat {event} del calendari {calendar}",
+ "You restored event {event} of calendar {calendar}" : "Heu restaurat l'esdeveniment {event} del calendari {calendar}",
"Busy" : "Ocupat",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} ha creat la tasca pendent {todo} a la llista {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Heu creat la tasca pendent {todo} a la llista {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} ha suprimit tasques pendents {todo} de la llista {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Heu suprimit la tasca pendent {todo} de la llista {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} ha actualitzat tasques pendents {todo} a la llista {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Heu actualitzat la tasca pendent {todo} a la llista {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} ha resolt la tasca pendent {todo} a la llista {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Heu resolt la tasca pendent {todo} a la llista {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} va reobrir tasques pendents {todo} a la llista {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Heu reobert les tasques pendents {todo} a la llista {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} ha mogut la tasca pendent {todo} de la llista {sourceCalendar} a la llista {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Heu mogut la tasca pendent {todo} de la llista {sourceCalendar} a la llista {targetCalendar}",
+ "Calendar, contacts and tasks" : "Calendari, contactes i tasques",
"A <strong>calendar</strong> was modified" : "El <strong>calendari</strong> has estat modificat",
"A calendar <strong>event</strong> was modified" : "S'ha modificat un <strong> esdeveniment </strong> del calendari",
+ "A calendar <strong>to-do</strong> was modified" : "S'ha modificat una <strong>tasca pendent</strong> del calendari",
"Contact birthdays" : "Aniversaris dels contactes",
"Death of %s" : "Mort de %s",
"Calendar:" : "Calendari:",
@@ -48,8 +69,11 @@
"Description: %s" : "Descripció: %s",
"Where: %s" : "On: %s",
"%1$s via %2$s" : "%1$s mitjançant %2$s",
+ "Cancelled: %1$s" : "Cancel·lat: %1$s",
"Invitation canceled" : "Invitació cancel·lada",
+ "Re: %1$s" : "Re: %1$s",
"Invitation updated" : "Invitació actualitzada",
+ "Invitation: %1$s" : "Invitació: %1$s",
"Invitation" : "Invitació",
"Title:" : "Títol:",
"Time:" : "Hora:",
@@ -58,10 +82,52 @@
"Organizer:" : "Organitzador:",
"Attendees:" : "Assistents:",
"Accept" : "Accepta",
- "Decline" : "Rebutja",
+ "Decline" : "Declina",
"More options …" : "Més opcions …",
"More options at %s" : "Més opcions a %s",
"Contacts" : "Contactes",
+ "{actor} created address book {addressbook}" : "{actor} ha creat la llibreta d'adreces {addressbook}",
+ "You created address book {addressbook}" : "Heu creat la llibreta d'adreces {addressbook}",
+ "{actor} deleted address book {addressbook}" : "{actor} llibreta d'adreces suprimida {addressbook}",
+ "You deleted address book {addressbook}" : "Heu suprimit la llibreta d'adreces {addressbook}",
+ "{actor} updated address book {addressbook}" : "{actor} llibreta d'adreces actualitzada {addressbook}",
+ "You updated address book {addressbook}" : "Heu actualitzat la llibreta d'adreces {addressbook}",
+ "{actor} shared address book {addressbook} with you" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb vostè",
+ "You shared address book {addressbook} with {user}" : "Heu compartit la llibreta d'adreces {addressbook} amb {user}",
+ "{actor} shared address book {addressbook} with {user}" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb {user}",
+ "{actor} unshared address book {addressbook} from you" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} amb vostè",
+ "You unshared address book {addressbook} from {user}" : "Heu deixat de compartir la llibreta d'adreces {addressbook} de {user}",
+ "{actor} unshared address book {addressbook} from {user}" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} de {user}",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} d'ells mateixos",
+ "You shared address book {addressbook} with group {group}" : "Heu compartit la llibreta d'adreces {addressbook} amb el grup {group}",
+ "{actor} shared address book {addressbook} with group {group}" : "{actor} ha compartit la llibreta d'adreces {addressbook} amb el grup {group}",
+ "You unshared address book {addressbook} from group {group}" : "Heu deixat de compartir la llibreta d'adreces {addressbook} del grup {group}",
+ "{actor} unshared address book {addressbook} from group {group}" : "{actor} ha deixat de compartir la llibreta d'adreces {addressbook} del grup {group}",
+ "{actor} created contact {card} in address book {addressbook}" : "{actor} ha creat el contacte {card} a la llibreta d'adreces {addressbook}",
+ "You created contact {card} in address book {addressbook}" : "Heu creat el contacte {card} a la llibreta d'adreces {addressbook}",
+ "{actor} deleted contact {card} from address book {addressbook}" : "{actor} ha suprimit el contacte {card} de la llibreta d'adreces {addressbook}",
+ "You deleted contact {card} from address book {addressbook}" : "Heu suprimit el contacte {card} de la llibreta d'adreces {addressbook}",
+ "{actor} updated contact {card} in address book {addressbook}" : "{actor} ha actualitzat el contacte {card} a la llibreta d'adreces {addressbook}",
+ "You updated contact {card} in address book {addressbook}" : "Heu actualitzat el contacte {card} a la llibreta d'adreces {addressbook}",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "S'ha modificat un <strong>contacte</strong> o una <strong>llibreta d'adreces</strong>",
+ "File is not updatable: %1$s" : "El fitxer no es pot actualitzar: %1$s",
+ "Could not write to final file, canceled by hook" : "No s'ha pogut escriure al fitxer final, cancel·lat per ganxo",
+ "Could not write file contents" : "No s'ha pogut escriure el contingut del fitxer",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error en copiar el fitxer a la ubicació de destí (copiat: %1$s, mida esperada del fitxer: %2$s)",
+ "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "S'esperava una mida de fitxer de %1$s però llegit (des del client Nextcloud) i escrit (a l'emmagatzematge de Nextcloud) %2$s. Pot ser un problema de xarxa al costat d'enviament o un problema d'escriptura a l'emmagatzematge del costat del servidor.",
+ "Could not rename part file to final file, canceled by hook" : "No s'ha pogut canviar el nom del fitxer de la part al fitxer final, cancel·lat per ganxo",
+ "Could not rename part file to final file" : "No s'ha pogut canviar el nom del fitxer de part al fitxer final",
+ "Failed to check file size: %1$s" : "No s'ha pogut comprovar la mida del fitxer: %1$s",
+ "Could not open file" : "No s’ha pogut obrir el fitxer",
+ "Encryption not ready: %1$s" : "El xifratge no està preparat: %1$s",
+ "Failed to open file: %1$s" : "No s'ha pogut obrir el fitxer: %1$s",
+ "Failed to unlink: %1$s" : "No s'ha pogut desenllaçar: %1$s",
+ "Invalid chunk name" : "Nom del fragment no vàlid",
+ "Could not rename part file assembled from chunks" : "No s'ha pogut canviar el nom del fitxer de peces muntat a partir de fragments",
+ "Failed to write file contents: %1$s" : "No s'ha pogut escriure el contingut del fitxer: %1$s",
+ "File not found: %1$s" : "No s'ha trobat el fitxer: %1$s",
+ "System is in maintenance mode." : "Sistema en mode de manteniment.",
"Upgrade needed" : "Fa falta l'actualització",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "El vostre %s cal configurar-se per utilitzar HTTPS per poder fer servir CalDAV i CardDAV amb iOS/macOS.",
"Configures a CalDAV account" : "Configura un compte CalDAV",
@@ -72,11 +138,18 @@
"Completed on %s" : "Completat a %s",
"Due on %s by %s" : "Venciment a %s per %s",
"Due on %s" : "Venç en %s",
+ "Migrated calendar (%1$s)" : "Calendari migrat (%1$s)",
+ "Calendars including events, details and attendees" : "Calendaris que inclouen esdeveniments, detalls i assistents",
"Contacts and groups" : "Contactes i grups",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Punt final de WebDAV",
+ "Availability" : "Disponibilitat",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "Si configureu el vostre horari laboral, els altres usuaris veuran quan sou fora de l'oficina quan reserven una reunió.",
+ "Time zone:" : "Zona horària:",
"to" : "a",
- "Delete slot" : "Suprimeix unitat temporal",
+ "Delete slot" : "Suprimeix forat",
+ "No working hours set" : "Sense horari de treball establert",
+ "Add slot" : "Afegeix una forat",
"Monday" : "Dilluns",
"Tuesday" : "Dimarts",
"Wednesday" : "Dimecres",
@@ -84,14 +157,20 @@
"Friday" : "Divendres",
"Saturday" : "Dissabte",
"Sunday" : "Diumenge",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Estableix automàticament l'estat de l'usuari a \"No molestar\" fora de la disponibilitat per silenciar totes les notificacions.",
"Save" : "Desa",
+ "Failed to load availability" : "No s'ha pogut carregar la disponibilitat",
+ "Saved availability" : "Disponibilitat guardada",
+ "Failed to save availability" : "No s'ha pogut desar la disponibilitat",
"Calendar server" : "Servidor de calendari",
"Send invitations to attendees" : "Envia invitacions als assistents",
"Automatically generate a birthday calendar" : "Genera automàticament un calendari d’aniversari",
"Birthday calendars will be generated by a background job." : "Els calendaris d'aniversari es generaran per un procés en segon pla..",
"Hence they will not be available immediately after enabling but will show up after some time." : "Per tant, no estaran disponibles immediatament després d'habilitar-los, però apareixeran d'aquí una estona.",
"Send notifications for events" : "Envia notificacions per als esdeveniments",
- "Notifications are sent via background jobs, so these must occur often enough." : "Les notificacions s'envien per tasques funcionant en segon pla, així que això ha de succeir bastant sovint.",
+ "Notifications are sent via background jobs, so these must occur often enough." : "Les notificacions s'envien per feines en segon pla, així que això ha de succeir bastant sovint.",
+ "Send reminder notifications to calendar sharees as well" : "També envieu notificacions de recordatoris als recursos compartits del calendari",
+ "Reminders are always sent to organizers and attendees." : "Sempre s'envien recordatoris als organitzadors i als assistents.",
"Enable notifications for events via push" : "Habiliteu les notificacions per a esdeveniments mitjançant l’empenyiment",
"Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Instal·leu també {calendarappstoreopen}l’aplicació de Calendari{linkclose} o {calendardocopen}connecteu el vostre escriptori i el mòbil per sincronitzar ↗{linkclose}.",
"Please make sure to properly set up {emailopen}the email server{linkclose}." : "Si us plau, assegureu-vos de configurar correctament {emailopen}el servidor de correu electrònic{linkclose}.",
@@ -99,6 +178,7 @@
"Please contact the organizer directly." : "Si us plau contacteu amb l'organitzador directament.",
"Are you accepting the invitation?" : "Accepteu la invitació?",
"Tentative" : "Provisional",
+ "Number of guests" : "Nombre d'hostes",
"Comment" : "Comentari",
"Your attendance was updated successfully." : "La vostra assistència ha estat actualitzada correctament.",
"Todos" : "Tasques",
diff --git a/apps/dav/l10n/da.js b/apps/dav/l10n/da.js
index 987589d0c29..d5dc0bab99f 100644
--- a/apps/dav/l10n/da.js
+++ b/apps/dav/l10n/da.js
@@ -75,6 +75,7 @@ OC.L10N.register(
"Contacts and groups" : "Kontakter og grupper",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV endpoint",
+ "Availability" : "tilgængelighed",
"to" : "til",
"Delete slot" : "Slet slot",
"Monday" : "Mandag",
diff --git a/apps/dav/l10n/da.json b/apps/dav/l10n/da.json
index 2ee6c850cd4..0b2467a841e 100644
--- a/apps/dav/l10n/da.json
+++ b/apps/dav/l10n/da.json
@@ -73,6 +73,7 @@
"Contacts and groups" : "Kontakter og grupper",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV endpoint",
+ "Availability" : "tilgængelighed",
"to" : "til",
"Delete slot" : "Slet slot",
"Monday" : "Mandag",
diff --git a/apps/dav/l10n/el.js b/apps/dav/l10n/el.js
index 24c35f48709..4a29b1f383f 100644
--- a/apps/dav/l10n/el.js
+++ b/apps/dav/l10n/el.js
@@ -34,6 +34,7 @@ OC.L10N.register(
"Calendar, contacts and tasks" : "Ημερολόγιο, επαφές και εργασίες",
"A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
"A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
+ "A calendar <strong>to-do</strong> was modified" : "Τροποποιήθηκε μια <strong>εκκρεμότητα</strong> ημερολογίου",
"Contact birthdays" : "Γενέθλια επαφών",
"Death of %s" : "Θάνατος του %s",
"Calendar:" : "Ημερολόγιο:",
@@ -66,6 +67,10 @@ OC.L10N.register(
"More options …" : "Περισσότερες επιλογές...",
"More options at %s" : "Περισσότερες επιλογές στο %s",
"Contacts" : "Επαφές",
+ "You created contact {card} in address book {addressbook}" : "Δημιουργήσατε την επαφή {card} στο βιβλίο διευθύνσεων {addressbook}",
+ "You deleted contact {card} from address book {addressbook}" : "Διαγράψατε την επαφή {card} από το βιβλίο διευθύνσεων {addressbook}",
+ "You updated contact {card} in address book {addressbook}" : "Ενημερώσατε την επαφή {card} στο βιβλίο διευθύνσεων {addressbook}",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Τροποποιήθηκε μια <strong>επαφή</strong> ή ένα <strong>βιβλίο διευθύνσεων</strong>",
"System is in maintenance mode." : "Το σύστημα βρίσκεται σε λειτουργία συντήρησης.",
"Upgrade needed" : "Απαιτείται αναβάθμιση",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Το %s θα πρέπει να ρυθμιστεί για να χρησιμοποιεί HTTPS για την χρήση του CalDAV και του CardDAV με το iOS/macOS.",
@@ -91,6 +96,7 @@ OC.L10N.register(
"Friday" : "Παρασκευή",
"Saturday" : "Σάββατο",
"Sunday" : "Κυριακή",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Ορισμός αυτόματα της κατάστασης χρήστη σε \"Μην ενοχλείτε\" εκτός διαθεσιμότητας για σίγαση όλων των ειδοποιήσεων.",
"Save" : "Αποθήκευση",
"Failed to load availability" : "Αποτυχία φόρτωσης της διαθεσιμότητας",
"Failed to save availability" : "Αποτυχία αποθήκευσης της διαθεσιμότητας",
diff --git a/apps/dav/l10n/el.json b/apps/dav/l10n/el.json
index cfdc151b53c..9b909bb907f 100644
--- a/apps/dav/l10n/el.json
+++ b/apps/dav/l10n/el.json
@@ -32,6 +32,7 @@
"Calendar, contacts and tasks" : "Ημερολόγιο, επαφές και εργασίες",
"A <strong>calendar</strong> was modified" : "Τροποποιήθηκε ένα <strong>ημερολόγιο</strong> ",
"A calendar <strong>event</strong> was modified" : "Τροποποιήθηκε ένα <strong>γεγονός</strong> του ημερολογίου",
+ "A calendar <strong>to-do</strong> was modified" : "Τροποποιήθηκε μια <strong>εκκρεμότητα</strong> ημερολογίου",
"Contact birthdays" : "Γενέθλια επαφών",
"Death of %s" : "Θάνατος του %s",
"Calendar:" : "Ημερολόγιο:",
@@ -64,6 +65,10 @@
"More options …" : "Περισσότερες επιλογές...",
"More options at %s" : "Περισσότερες επιλογές στο %s",
"Contacts" : "Επαφές",
+ "You created contact {card} in address book {addressbook}" : "Δημιουργήσατε την επαφή {card} στο βιβλίο διευθύνσεων {addressbook}",
+ "You deleted contact {card} from address book {addressbook}" : "Διαγράψατε την επαφή {card} από το βιβλίο διευθύνσεων {addressbook}",
+ "You updated contact {card} in address book {addressbook}" : "Ενημερώσατε την επαφή {card} στο βιβλίο διευθύνσεων {addressbook}",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "Τροποποιήθηκε μια <strong>επαφή</strong> ή ένα <strong>βιβλίο διευθύνσεων</strong>",
"System is in maintenance mode." : "Το σύστημα βρίσκεται σε λειτουργία συντήρησης.",
"Upgrade needed" : "Απαιτείται αναβάθμιση",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Το %s θα πρέπει να ρυθμιστεί για να χρησιμοποιεί HTTPS για την χρήση του CalDAV και του CardDAV με το iOS/macOS.",
@@ -89,6 +94,7 @@
"Friday" : "Παρασκευή",
"Saturday" : "Σάββατο",
"Sunday" : "Κυριακή",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Ορισμός αυτόματα της κατάστασης χρήστη σε \"Μην ενοχλείτε\" εκτός διαθεσιμότητας για σίγαση όλων των ειδοποιήσεων.",
"Save" : "Αποθήκευση",
"Failed to load availability" : "Αποτυχία φόρτωσης της διαθεσιμότητας",
"Failed to save availability" : "Αποτυχία αποθήκευσης της διαθεσιμότητας",
diff --git a/apps/dav/l10n/en_GB.js b/apps/dav/l10n/en_GB.js
index 11229abe9f4..44e424f5eb0 100644
--- a/apps/dav/l10n/en_GB.js
+++ b/apps/dav/l10n/en_GB.js
@@ -2,7 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Calendar",
- "Todos" : "Todos",
+ "To-dos" : "To-dos",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
@@ -10,6 +10,8 @@ OC.L10N.register(
"You deleted calendar {calendar}" : "You deleted calendar {calendar}",
"{actor} updated calendar {calendar}" : "{actor} updated calendar {calendar}",
"You updated calendar {calendar}" : "You updated calendar {calendar}",
+ "{actor} restored calendar {calendar}" : "{actor} restored calendar {calendar}",
+ "You restored calendar {calendar}" : "You restored calendar {calendar}",
"You shared calendar {calendar} as public link" : "You shared calendar {calendar} as public link",
"You removed public link for calendar {calendar}" : "You removed public link for calendar {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} shared calendar {calendar} with you",
@@ -23,47 +25,175 @@ OC.L10N.register(
"{actor} shared calendar {calendar} with group {group}" : "{actor} shared calendar {calendar} with group {group}",
"You unshared calendar {calendar} from group {group}" : "You unshared calendar {calendar} from group {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} unshared calendar {calendar} from group {group}",
+ "Untitled event" : "Untitled event",
"{actor} created event {event} in calendar {calendar}" : "{actor} created event {event} in calendar {calendar}",
"You created event {event} in calendar {calendar}" : "You created event {event} in calendar {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} deleted event {event} from calendar {calendar}",
"You deleted event {event} from calendar {calendar}" : "You deleted event {event} from calendar {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} updated event {event} in calendar {calendar}",
"You updated event {event} in calendar {calendar}" : "You updated event {event} in calendar {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}",
+ "{actor} restored event {event} of calendar {calendar}" : "{actor} restored event {event} of calendar {calendar}",
+ "You restored event {event} of calendar {calendar}" : "You restored event {event} of calendar {calendar}",
"Busy" : "Busy",
- "{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}",
- "You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}",
- "You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}",
- "You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}",
- "You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}",
- "You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} created to-do {todo} in list {calendar}",
+ "You created to-do {todo} in list {calendar}" : "You created to-do {todo} in list {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} deleted to-do {todo} from list {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "You deleted to-do {todo} from list {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} updated to-do {todo} in list {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "You updated to-do {todo} in list {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} solved to-do {todo} in list {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "You solved to-do {todo} in list {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reopened to-do {todo} in list {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "You reopened to-do {todo} in list {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}",
+ "Calendar, contacts and tasks" : "Calendar, contacts and tasks",
"A <strong>calendar</strong> was modified" : "A <strong>calendar</strong> was modified",
"A calendar <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified",
- "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified",
+ "A calendar <strong>to-do</strong> was modified" : "A calendar <strong>to-do</strong> was modified",
"Contact birthdays" : "Contact birthdays",
+ "Death of %s" : "Death of %s",
+ "Calendar:" : "Calendar:",
+ "Date:" : "Date:",
"Where:" : "Where:",
"Description:" : "Description:",
+ "_%n year_::_%n years_" : ["%n year","%n years"],
+ "_%n month_::_%n months_" : ["%n month","%n months"],
+ "_%n day_::_%n days_" : ["%n day","%n days"],
+ "_%n hour_::_%n hours_" : ["%n hour","%n hours"],
+ "_%n minute_::_%n minutes_" : ["%n minute","%n minutes"],
+ "%s (in %s)" : "%s (in %s)",
+ "%s (%s ago)" : "%s (%s ago)",
+ "Calendar: %s" : "Calendar: %s",
+ "Date: %s" : "Date: %s",
+ "Description: %s" : "Description: %s",
+ "Where: %s" : "Where: %s",
"%1$s via %2$s" : "%1$s via %2$s",
+ "Cancelled: %1$s" : "Cancelled: %1$s",
"Invitation canceled" : "Invitation canceled",
+ "Re: %1$s" : "Re: %1$s",
"Invitation updated" : "Invitation updated",
+ "Invitation: %1$s" : "Invitation: %1$s",
+ "Invitation" : "Invitation",
+ "Title:" : "Title:",
+ "Time:" : "Time:",
"Location:" : "Location:",
"Link:" : "Link:",
+ "Organizer:" : "Organizer:",
+ "Attendees:" : "Attendees:",
"Accept" : "Accept",
"Decline" : "Decline",
+ "More options …" : "More options …",
+ "More options at %s" : "More options at %s",
"Contacts" : "Contacts",
+ "{actor} created address book {addressbook}" : "{actor} created address book {addressbook}",
+ "You created address book {addressbook}" : "You created address book {addressbook}",
+ "{actor} deleted address book {addressbook}" : "{actor} deleted address book {addressbook}",
+ "You deleted address book {addressbook}" : "You deleted address book {addressbook}",
+ "{actor} updated address book {addressbook}" : "{actor} updated address book {addressbook}",
+ "You updated address book {addressbook}" : "You updated address book {addressbook}",
+ "{actor} shared address book {addressbook} with you" : "{actor} shared address book {addressbook} with you",
+ "You shared address book {addressbook} with {user}" : "You shared address book {addressbook} with {user}",
+ "{actor} shared address book {addressbook} with {user}" : "{actor} shared address book {addressbook} with {user}",
+ "{actor} unshared address book {addressbook} from you" : "{actor} unshared address book {addressbook} from you",
+ "You unshared address book {addressbook} from {user}" : "You unshared address book {addressbook} from {user}",
+ "{actor} unshared address book {addressbook} from {user}" : "{actor} unshared address book {addressbook} from {user}",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} unshared address book {addressbook} from themselves",
+ "You shared address book {addressbook} with group {group}" : "You shared address book {addressbook} with group {group}",
+ "{actor} shared address book {addressbook} with group {group}" : "{actor} shared address book {addressbook} with group {group}",
+ "You unshared address book {addressbook} from group {group}" : "You unshared address book {addressbook} from group {group}",
+ "{actor} unshared address book {addressbook} from group {group}" : "{actor} unshared address book {addressbook} from group {group}",
+ "{actor} created contact {card} in address book {addressbook}" : "{actor} created contact {card} in address book {addressbook}",
+ "You created contact {card} in address book {addressbook}" : "You created contact {card} in address book {addressbook}",
+ "{actor} deleted contact {card} from address book {addressbook}" : "{actor} deleted contact {card} from address book {addressbook}",
+ "You deleted contact {card} from address book {addressbook}" : "You deleted contact {card} from address book {addressbook}",
+ "{actor} updated contact {card} in address book {addressbook}" : "{actor} updated contact {card} in address book {addressbook}",
+ "You updated contact {card} in address book {addressbook}" : "You updated contact {card} in address book {addressbook}",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "A <strong>contact</strong> or <strong>address book</strong> was modified",
+ "File is not updatable: %1$s" : "File is not updatable: %1$s",
+ "Could not write to final file, canceled by hook" : "Could not write to final file, canceled by hook",
+ "Could not write file contents" : "Could not write file contents",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)",
+ "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side.",
+ "Could not rename part file to final file, canceled by hook" : "Could not rename part file to final file, canceled by hook",
+ "Could not rename part file to final file" : "Could not rename part file to final file",
+ "Failed to check file size: %1$s" : "Failed to check file size: %1$s",
+ "Could not open file" : "Could not open file",
+ "Encryption not ready: %1$s" : "Encryption not ready: %1$s",
+ "Failed to open file: %1$s" : "Failed to open file: %1$s",
+ "Failed to unlink: %1$s" : "Failed to unlink: %1$s",
+ "Invalid chunk name" : "Invalid chunk name",
+ "Could not rename part file assembled from chunks" : "Could not rename part file assembled from chunks",
+ "Failed to write file contents: %1$s" : "Failed to write file contents: %1$s",
+ "File not found: %1$s" : "File not found: %1$s",
+ "System is in maintenance mode." : "System is in maintenance mode.",
+ "Upgrade needed" : "Upgrade needed",
+ "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS.",
+ "Configures a CalDAV account" : "Configures a CalDAV account",
+ "Configures a CardDAV account" : "Configures a CardDAV account",
+ "Events" : "Events",
"Tasks" : "Tasks",
+ "Untitled task" : "Untitled task",
+ "Completed on %s" : "Completed on %s",
+ "Due on %s by %s" : "Due on %s by %s",
+ "Due on %s" : "Due on %s",
+ "Migrated calendar (%1$s)" : "Migrated calendar (%1$s)",
+ "Calendars including events, details and attendees" : "Calendars including events, details and attendees",
+ "Contacts and groups" : "Contacts and groups",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV endpoint",
- "Tentative" : "Tentative",
+ "Availability" : "Availability",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "If you configure your working hours, other users will see when you are out of office when they book a meeting.",
+ "Time zone:" : "Time zone:",
+ "to" : "to",
+ "Delete slot" : "Delete slot",
+ "No working hours set" : "No working hours set",
+ "Add slot" : "Add slot",
+ "Monday" : "Monday",
+ "Tuesday" : "Tuesday",
+ "Wednesday" : "Wednesday",
+ "Thursday" : "Thursday",
+ "Friday" : "Friday",
+ "Saturday" : "Saturday",
+ "Sunday" : "Sunday",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications.",
"Save" : "Save",
+ "Failed to load availability" : "Failed to load availability",
+ "Saved availability" : "Saved availability",
+ "Failed to save availability" : "Failed to save availability",
+ "Calendar server" : "Calendar server",
"Send invitations to attendees" : "Send invitations to attendees",
"Automatically generate a birthday calendar" : "Automatically generate a birthday calendar",
"Birthday calendars will be generated by a background job." : "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." : "Hence they will not be available immediately after enabling but will show up after some time.",
- "Hello %s," : "Hello %s,",
- "When:" : "When:"
+ "Send notifications for events" : "Send notifications for events",
+ "Notifications are sent via background jobs, so these must occur often enough." : "Notifications are sent via background jobs, so these must occur often enough.",
+ "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 organizers and attendees.",
+ "Enable notifications for events via push" : "Enable notifications for events via push",
+ "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.",
+ "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Please make sure to properly set up {emailopen}the email server{linkclose}.",
+ "There was an error updating your attendance status." : "There was an error updating your attendance status.",
+ "Please contact the organizer directly." : "Please contact the organizer directly.",
+ "Are you accepting the invitation?" : "Are you accepting the invitation?",
+ "Tentative" : "Tentative",
+ "Number of guests" : "Number of guests",
+ "Comment" : "Comment",
+ "Your attendance was updated successfully." : "Your attendance was updated successfully.",
+ "Todos" : "Todos",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}",
+ "You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}",
+ "You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}",
+ "You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/dav/l10n/en_GB.json b/apps/dav/l10n/en_GB.json
index 2acf739fa33..ea3bf51acae 100644
--- a/apps/dav/l10n/en_GB.json
+++ b/apps/dav/l10n/en_GB.json
@@ -1,6 +1,6 @@
{ "translations": {
"Calendar" : "Calendar",
- "Todos" : "Todos",
+ "To-dos" : "To-dos",
"Personal" : "Personal",
"{actor} created calendar {calendar}" : "{actor} created calendar {calendar}",
"You created calendar {calendar}" : "You created calendar {calendar}",
@@ -8,6 +8,8 @@
"You deleted calendar {calendar}" : "You deleted calendar {calendar}",
"{actor} updated calendar {calendar}" : "{actor} updated calendar {calendar}",
"You updated calendar {calendar}" : "You updated calendar {calendar}",
+ "{actor} restored calendar {calendar}" : "{actor} restored calendar {calendar}",
+ "You restored calendar {calendar}" : "You restored calendar {calendar}",
"You shared calendar {calendar} as public link" : "You shared calendar {calendar} as public link",
"You removed public link for calendar {calendar}" : "You removed public link for calendar {calendar}",
"{actor} shared calendar {calendar} with you" : "{actor} shared calendar {calendar} with you",
@@ -21,47 +23,175 @@
"{actor} shared calendar {calendar} with group {group}" : "{actor} shared calendar {calendar} with group {group}",
"You unshared calendar {calendar} from group {group}" : "You unshared calendar {calendar} from group {group}",
"{actor} unshared calendar {calendar} from group {group}" : "{actor} unshared calendar {calendar} from group {group}",
+ "Untitled event" : "Untitled event",
"{actor} created event {event} in calendar {calendar}" : "{actor} created event {event} in calendar {calendar}",
"You created event {event} in calendar {calendar}" : "You created event {event} in calendar {calendar}",
"{actor} deleted event {event} from calendar {calendar}" : "{actor} deleted event {event} from calendar {calendar}",
"You deleted event {event} from calendar {calendar}" : "You deleted event {event} from calendar {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} updated event {event} in calendar {calendar}",
"You updated event {event} in calendar {calendar}" : "You updated event {event} in calendar {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}",
+ "{actor} restored event {event} of calendar {calendar}" : "{actor} restored event {event} of calendar {calendar}",
+ "You restored event {event} of calendar {calendar}" : "You restored event {event} of calendar {calendar}",
"Busy" : "Busy",
- "{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}",
- "You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}",
- "{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}",
- "You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}",
- "{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}",
- "You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}",
- "{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}",
- "You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}",
- "{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}",
- "You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} created to-do {todo} in list {calendar}",
+ "You created to-do {todo} in list {calendar}" : "You created to-do {todo} in list {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} deleted to-do {todo} from list {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "You deleted to-do {todo} from list {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} updated to-do {todo} in list {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "You updated to-do {todo} in list {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} solved to-do {todo} in list {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "You solved to-do {todo} in list {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} reopened to-do {todo} in list {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "You reopened to-do {todo} in list {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}",
+ "Calendar, contacts and tasks" : "Calendar, contacts and tasks",
"A <strong>calendar</strong> was modified" : "A <strong>calendar</strong> was modified",
"A calendar <strong>event</strong> was modified" : "A calendar <strong>event</strong> was modified",
- "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified",
+ "A calendar <strong>to-do</strong> was modified" : "A calendar <strong>to-do</strong> was modified",
"Contact birthdays" : "Contact birthdays",
+ "Death of %s" : "Death of %s",
+ "Calendar:" : "Calendar:",
+ "Date:" : "Date:",
"Where:" : "Where:",
"Description:" : "Description:",
+ "_%n year_::_%n years_" : ["%n year","%n years"],
+ "_%n month_::_%n months_" : ["%n month","%n months"],
+ "_%n day_::_%n days_" : ["%n day","%n days"],
+ "_%n hour_::_%n hours_" : ["%n hour","%n hours"],
+ "_%n minute_::_%n minutes_" : ["%n minute","%n minutes"],
+ "%s (in %s)" : "%s (in %s)",
+ "%s (%s ago)" : "%s (%s ago)",
+ "Calendar: %s" : "Calendar: %s",
+ "Date: %s" : "Date: %s",
+ "Description: %s" : "Description: %s",
+ "Where: %s" : "Where: %s",
"%1$s via %2$s" : "%1$s via %2$s",
+ "Cancelled: %1$s" : "Cancelled: %1$s",
"Invitation canceled" : "Invitation canceled",
+ "Re: %1$s" : "Re: %1$s",
"Invitation updated" : "Invitation updated",
+ "Invitation: %1$s" : "Invitation: %1$s",
+ "Invitation" : "Invitation",
+ "Title:" : "Title:",
+ "Time:" : "Time:",
"Location:" : "Location:",
"Link:" : "Link:",
+ "Organizer:" : "Organizer:",
+ "Attendees:" : "Attendees:",
"Accept" : "Accept",
"Decline" : "Decline",
+ "More options …" : "More options …",
+ "More options at %s" : "More options at %s",
"Contacts" : "Contacts",
+ "{actor} created address book {addressbook}" : "{actor} created address book {addressbook}",
+ "You created address book {addressbook}" : "You created address book {addressbook}",
+ "{actor} deleted address book {addressbook}" : "{actor} deleted address book {addressbook}",
+ "You deleted address book {addressbook}" : "You deleted address book {addressbook}",
+ "{actor} updated address book {addressbook}" : "{actor} updated address book {addressbook}",
+ "You updated address book {addressbook}" : "You updated address book {addressbook}",
+ "{actor} shared address book {addressbook} with you" : "{actor} shared address book {addressbook} with you",
+ "You shared address book {addressbook} with {user}" : "You shared address book {addressbook} with {user}",
+ "{actor} shared address book {addressbook} with {user}" : "{actor} shared address book {addressbook} with {user}",
+ "{actor} unshared address book {addressbook} from you" : "{actor} unshared address book {addressbook} from you",
+ "You unshared address book {addressbook} from {user}" : "You unshared address book {addressbook} from {user}",
+ "{actor} unshared address book {addressbook} from {user}" : "{actor} unshared address book {addressbook} from {user}",
+ "{actor} unshared address book {addressbook} from themselves" : "{actor} unshared address book {addressbook} from themselves",
+ "You shared address book {addressbook} with group {group}" : "You shared address book {addressbook} with group {group}",
+ "{actor} shared address book {addressbook} with group {group}" : "{actor} shared address book {addressbook} with group {group}",
+ "You unshared address book {addressbook} from group {group}" : "You unshared address book {addressbook} from group {group}",
+ "{actor} unshared address book {addressbook} from group {group}" : "{actor} unshared address book {addressbook} from group {group}",
+ "{actor} created contact {card} in address book {addressbook}" : "{actor} created contact {card} in address book {addressbook}",
+ "You created contact {card} in address book {addressbook}" : "You created contact {card} in address book {addressbook}",
+ "{actor} deleted contact {card} from address book {addressbook}" : "{actor} deleted contact {card} from address book {addressbook}",
+ "You deleted contact {card} from address book {addressbook}" : "You deleted contact {card} from address book {addressbook}",
+ "{actor} updated contact {card} in address book {addressbook}" : "{actor} updated contact {card} in address book {addressbook}",
+ "You updated contact {card} in address book {addressbook}" : "You updated contact {card} in address book {addressbook}",
+ "A <strong>contact</strong> or <strong>address book</strong> was modified" : "A <strong>contact</strong> or <strong>address book</strong> was modified",
+ "File is not updatable: %1$s" : "File is not updatable: %1$s",
+ "Could not write to final file, canceled by hook" : "Could not write to final file, canceled by hook",
+ "Could not write file contents" : "Could not write file contents",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
+ "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)" : "Error while copying file to target location (copied: %1$s, expected filesize: %2$s)",
+ "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side." : "Expected filesize of %1$s but read (from Nextcloud client) and wrote (to Nextcloud storage) %2$s. Could either be a network problem on the sending side or a problem writing to the storage on the server side.",
+ "Could not rename part file to final file, canceled by hook" : "Could not rename part file to final file, canceled by hook",
+ "Could not rename part file to final file" : "Could not rename part file to final file",
+ "Failed to check file size: %1$s" : "Failed to check file size: %1$s",
+ "Could not open file" : "Could not open file",
+ "Encryption not ready: %1$s" : "Encryption not ready: %1$s",
+ "Failed to open file: %1$s" : "Failed to open file: %1$s",
+ "Failed to unlink: %1$s" : "Failed to unlink: %1$s",
+ "Invalid chunk name" : "Invalid chunk name",
+ "Could not rename part file assembled from chunks" : "Could not rename part file assembled from chunks",
+ "Failed to write file contents: %1$s" : "Failed to write file contents: %1$s",
+ "File not found: %1$s" : "File not found: %1$s",
+ "System is in maintenance mode." : "System is in maintenance mode.",
+ "Upgrade needed" : "Upgrade needed",
+ "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS.",
+ "Configures a CalDAV account" : "Configures a CalDAV account",
+ "Configures a CardDAV account" : "Configures a CardDAV account",
+ "Events" : "Events",
"Tasks" : "Tasks",
+ "Untitled task" : "Untitled task",
+ "Completed on %s" : "Completed on %s",
+ "Due on %s by %s" : "Due on %s by %s",
+ "Due on %s" : "Due on %s",
+ "Migrated calendar (%1$s)" : "Migrated calendar (%1$s)",
+ "Calendars including events, details and attendees" : "Calendars including events, details and attendees",
+ "Contacts and groups" : "Contacts and groups",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV endpoint",
- "Tentative" : "Tentative",
+ "Availability" : "Availability",
+ "If you configure your working hours, other users will see when you are out of office when they book a meeting." : "If you configure your working hours, other users will see when you are out of office when they book a meeting.",
+ "Time zone:" : "Time zone:",
+ "to" : "to",
+ "Delete slot" : "Delete slot",
+ "No working hours set" : "No working hours set",
+ "Add slot" : "Add slot",
+ "Monday" : "Monday",
+ "Tuesday" : "Tuesday",
+ "Wednesday" : "Wednesday",
+ "Thursday" : "Thursday",
+ "Friday" : "Friday",
+ "Saturday" : "Saturday",
+ "Sunday" : "Sunday",
+ "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications." : "Automatically set user status to \"Do not disturb\" outside of availability to mute all notifications.",
"Save" : "Save",
+ "Failed to load availability" : "Failed to load availability",
+ "Saved availability" : "Saved availability",
+ "Failed to save availability" : "Failed to save availability",
+ "Calendar server" : "Calendar server",
"Send invitations to attendees" : "Send invitations to attendees",
"Automatically generate a birthday calendar" : "Automatically generate a birthday calendar",
"Birthday calendars will be generated by a background job." : "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." : "Hence they will not be available immediately after enabling but will show up after some time.",
- "Hello %s," : "Hello %s,",
- "When:" : "When:"
+ "Send notifications for events" : "Send notifications for events",
+ "Notifications are sent via background jobs, so these must occur often enough." : "Notifications are sent via background jobs, so these must occur often enough.",
+ "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 organizers and attendees.",
+ "Enable notifications for events via push" : "Enable notifications for events via push",
+ "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}." : "Also install the {calendarappstoreopen}Calendar app{linkclose}, or {calendardocopen}connect your desktop & mobile for syncing ↗{linkclose}.",
+ "Please make sure to properly set up {emailopen}the email server{linkclose}." : "Please make sure to properly set up {emailopen}the email server{linkclose}.",
+ "There was an error updating your attendance status." : "There was an error updating your attendance status.",
+ "Please contact the organizer directly." : "Please contact the organizer directly.",
+ "Are you accepting the invitation?" : "Are you accepting the invitation?",
+ "Tentative" : "Tentative",
+ "Number of guests" : "Number of guests",
+ "Comment" : "Comment",
+ "Your attendance was updated successfully." : "Your attendance was updated successfully.",
+ "Todos" : "Todos",
+ "{actor} created todo {todo} in list {calendar}" : "{actor} created todo {todo} in list {calendar}",
+ "You created todo {todo} in list {calendar}" : "You created todo {todo} in list {calendar}",
+ "{actor} deleted todo {todo} from list {calendar}" : "{actor} deleted todo {todo} from list {calendar}",
+ "You deleted todo {todo} from list {calendar}" : "You deleted todo {todo} from list {calendar}",
+ "{actor} updated todo {todo} in list {calendar}" : "{actor} updated todo {todo} in list {calendar}",
+ "You updated todo {todo} in list {calendar}" : "You updated todo {todo} in list {calendar}",
+ "{actor} solved todo {todo} in list {calendar}" : "{actor} solved todo {todo} in list {calendar}",
+ "You solved todo {todo} in list {calendar}" : "You solved todo {todo} in list {calendar}",
+ "{actor} reopened todo {todo} in list {calendar}" : "{actor} reopened todo {todo} in list {calendar}",
+ "You reopened todo {todo} in list {calendar}" : "You reopened todo {todo} in list {calendar}",
+ "A calendar <strong>todo</strong> was modified" : "A calendar <strong>todo</strong> was modified"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/dav/l10n/gl.js b/apps/dav/l10n/gl.js
index 6159f311993..5719fcf1a5d 100644
--- a/apps/dav/l10n/gl.js
+++ b/apps/dav/l10n/gl.js
@@ -77,6 +77,7 @@ OC.L10N.register(
"Contacts and groups" : "Contactos e grupos",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Terminación WebDAV",
+ "Availability" : "Dispoñibilidade",
"to" : "para",
"Monday" : "luns",
"Tuesday" : "martes",
diff --git a/apps/dav/l10n/gl.json b/apps/dav/l10n/gl.json
index bb11ce4a5d6..3980e81a75d 100644
--- a/apps/dav/l10n/gl.json
+++ b/apps/dav/l10n/gl.json
@@ -75,6 +75,7 @@
"Contacts and groups" : "Contactos e grupos",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "Terminación WebDAV",
+ "Availability" : "Dispoñibilidade",
"to" : "para",
"Monday" : "luns",
"Tuesday" : "martes",
diff --git a/apps/dav/l10n/mk.js b/apps/dav/l10n/mk.js
index fe16669120e..a519db32b04 100644
--- a/apps/dav/l10n/mk.js
+++ b/apps/dav/l10n/mk.js
@@ -100,8 +100,11 @@ OC.L10N.register(
"You unshared address book {addressbook} from {user}" : "Не го споделиувате адресар {addressbook} со {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} не го споделува адресар {addressbook} со {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} не го споделува адресар {addressbook} со себе",
+ "You shared address book {addressbook} with group {group}" : "Споделивте адресар {addressbook} со група {group}",
+ "{actor} shared address book {addressbook} with group {group}" : "{actor} сподели адресар {addressbook} со група {group}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Контракт</strong> или <strong>адресар</strong> е променет",
"_%n byte_::_%n bytes_" : ["%n бајт","%n бајти"],
+ "Could not open file" : "Неможе да се отвори датотеката",
"File not found: %1$s" : "Датотеката не е пронајдена: %1$s",
"System is in maintenance mode." : "Системот е во мод за одржување.",
"Upgrade needed" : "Потребна е надградба",
diff --git a/apps/dav/l10n/mk.json b/apps/dav/l10n/mk.json
index 7a179fab5a7..095a3b21a18 100644
--- a/apps/dav/l10n/mk.json
+++ b/apps/dav/l10n/mk.json
@@ -98,8 +98,11 @@
"You unshared address book {addressbook} from {user}" : "Не го споделиувате адресар {addressbook} со {user}",
"{actor} unshared address book {addressbook} from {user}" : "{actor} не го споделува адресар {addressbook} со {user}",
"{actor} unshared address book {addressbook} from themselves" : "{actor} не го споделува адресар {addressbook} со себе",
+ "You shared address book {addressbook} with group {group}" : "Споделивте адресар {addressbook} со група {group}",
+ "{actor} shared address book {addressbook} with group {group}" : "{actor} сподели адресар {addressbook} со група {group}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "<strong>Контракт</strong> или <strong>адресар</strong> е променет",
"_%n byte_::_%n bytes_" : ["%n бајт","%n бајти"],
+ "Could not open file" : "Неможе да се отвори датотеката",
"File not found: %1$s" : "Датотеката не е пронајдена: %1$s",
"System is in maintenance mode." : "Системот е во мод за одржување.",
"Upgrade needed" : "Потребна е надградба",
diff --git a/apps/dav/l10n/sv.js b/apps/dav/l10n/sv.js
index a5f822b8b7f..f78fb939354 100644
--- a/apps/dav/l10n/sv.js
+++ b/apps/dav/l10n/sv.js
@@ -2,6 +2,7 @@ OC.L10N.register(
"dav",
{
"Calendar" : "Kalender",
+ "To-dos" : "Uppgifter",
"Personal" : "Privat",
"{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}",
"You created calendar {calendar}" : "Du skapade kalender {calendar}",
@@ -31,12 +32,27 @@ OC.L10N.register(
"You deleted event {event} from calendar {calendar}" : "Du tog bort händelse {event} från kalender {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} uppdaterade händelse {event} i kalender {calendar}",
"You updated event {event} in calendar {calendar}" : "Du uppdaterade händelse {event} i kalender {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} flyttade händelse {event} från kalender {sourceCalendar} till kalender {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Du flyttade händelse {event} från kalender {sourceCalendar} till kalender {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} återställde händelsen {event} i kalendern {calendar}",
"You restored event {event} of calendar {calendar}" : "Du återställde händelsen {event} i kalendern {calendar}",
"Busy" : "Upptagen",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} flyttade uppgift {todo} från lista {sourceCalendar} till lista {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Du flyttade uppgift {todo} från lista {sourceCalendar} till lista {targetCalendar}",
"Calendar, contacts and tasks" : "Kalender, kontakter och uppgifter",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> modifierades",
"A calendar <strong>event</strong> was modified" : "En kalender-<strong>händelse</strong> modifierades",
+ "A calendar <strong>to-do</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
"Contact birthdays" : "Födelsedagar",
"Death of %s" : "Död av %s",
"Calendar:" : "Kalender:",
@@ -96,6 +112,19 @@ OC.L10N.register(
"{actor} updated contact {card} in address book {addressbook}" : "{actor} uppdaterade kontakten {card} i adressboken {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Du uppdaterade kontakten {card} i adressboken {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "En <strong>kontakt</strong> eller <strong>adressbok</strong> ändrades",
+ "File is not updatable: %1$s" : "Fil kan inte uppdateras: %1$s",
+ "Could not write file contents" : "Kunde inte skriva filens innehåll",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
+ "Could not rename part file to final file" : "Kunde inte ändra namn från temporära filen till slutliga filen",
+ "Failed to check file size: %1$s" : "Kunde inte kontrollera filstorleken: %1$s",
+ "Could not open file" : "Kunde inte öppna fil",
+ "Encryption not ready: %1$s" : "Kryptering ej redo: %1$s",
+ "Failed to open file: %1$s" : "Kunde inte öppna fil: %1$s",
+ "Failed to unlink: %1$s" : "Kunde inte ta bort: %1$s",
+ "Invalid chunk name" : "Ogiltigt delnamn",
+ "Could not rename part file assembled from chunks" : "Kunde inte ändra namn på temporära filen ihopsatt från delar",
+ "Failed to write file contents: %1$s" : "Kunde inte skriva filinnehåll: %1$s",
+ "File not found: %1$s" : "Filen hittades inte: %1$s",
"System is in maintenance mode." : "Systemet är i underhållsläge.",
"Upgrade needed" : "Uppdatering nödvändig",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Din %s måste konfigureras att använda HTTPS för CalDAV och CardDAV med iOS/macOS.",
@@ -107,6 +136,8 @@ OC.L10N.register(
"Completed on %s" : "Slutförd %s",
"Due on %s by %s" : "Slutar den %s vid %s",
"Due on %s" : "Slutar den %s",
+ "Migrated calendar (%1$s)" : "Migrerade kalender (%1$s)",
+ "Calendars including events, details and attendees" : "Kalendrar inklusive händelser, detaljer och deltagare",
"Contacts and groups" : "Kontakter och grupper",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV endpoint",
diff --git a/apps/dav/l10n/sv.json b/apps/dav/l10n/sv.json
index 8a6a0582333..35430b30fd8 100644
--- a/apps/dav/l10n/sv.json
+++ b/apps/dav/l10n/sv.json
@@ -1,5 +1,6 @@
{ "translations": {
"Calendar" : "Kalender",
+ "To-dos" : "Uppgifter",
"Personal" : "Privat",
"{actor} created calendar {calendar}" : "{actor} skapade kalender {calendar}",
"You created calendar {calendar}" : "Du skapade kalender {calendar}",
@@ -29,12 +30,27 @@
"You deleted event {event} from calendar {calendar}" : "Du tog bort händelse {event} från kalender {calendar}",
"{actor} updated event {event} in calendar {calendar}" : "{actor} uppdaterade händelse {event} i kalender {calendar}",
"You updated event {event} in calendar {calendar}" : "Du uppdaterade händelse {event} i kalender {calendar}",
+ "{actor} moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "{actor} flyttade händelse {event} från kalender {sourceCalendar} till kalender {targetCalendar}",
+ "You moved event {event} from calendar {sourceCalendar} to calendar {targetCalendar}" : "Du flyttade händelse {event} från kalender {sourceCalendar} till kalender {targetCalendar}",
"{actor} restored event {event} of calendar {calendar}" : "{actor} återställde händelsen {event} i kalendern {calendar}",
"You restored event {event} of calendar {calendar}" : "Du återställde händelsen {event} i kalendern {calendar}",
"Busy" : "Upptagen",
+ "{actor} created to-do {todo} in list {calendar}" : "{actor} skapade uppgift {todo} i listan {calendar}",
+ "You created to-do {todo} in list {calendar}" : "Du skapade uppgift {todo} i listan {calendar}",
+ "{actor} deleted to-do {todo} from list {calendar}" : "{actor} tog bort uppgift {todo} från listan {calendar}",
+ "You deleted to-do {todo} from list {calendar}" : "Du tog bort uppgift {todo} från listan {calendar}",
+ "{actor} updated to-do {todo} in list {calendar}" : "{actor} uppdaterade uppgift {todo} i listan {calendar}",
+ "You updated to-do {todo} in list {calendar}" : "Du uppdaterade uppgift {todo} i listan {calendar}",
+ "{actor} solved to-do {todo} in list {calendar}" : "{actor} löste uppgift {todo} i listan {calendar}",
+ "You solved to-do {todo} in list {calendar}" : "Du löste uppgift {todo} i listan {calendar}",
+ "{actor} reopened to-do {todo} in list {calendar}" : "{actor} återupptog uppgift {todo} i listan {calendar}",
+ "You reopened to-do {todo} in list {calendar}" : "Du återupptog uppgift {todo} i listan {calendar}",
+ "{actor} moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "{actor} flyttade uppgift {todo} från lista {sourceCalendar} till lista {targetCalendar}",
+ "You moved to-do {todo} from list {sourceCalendar} to list {targetCalendar}" : "Du flyttade uppgift {todo} från lista {sourceCalendar} till lista {targetCalendar}",
"Calendar, contacts and tasks" : "Kalender, kontakter och uppgifter",
"A <strong>calendar</strong> was modified" : "En <strong>kalender</strong> modifierades",
"A calendar <strong>event</strong> was modified" : "En kalender-<strong>händelse</strong> modifierades",
+ "A calendar <strong>to-do</strong> was modified" : "En kalender <strong>uppgift</strong> modifierades",
"Contact birthdays" : "Födelsedagar",
"Death of %s" : "Död av %s",
"Calendar:" : "Kalender:",
@@ -94,6 +110,19 @@
"{actor} updated contact {card} in address book {addressbook}" : "{actor} uppdaterade kontakten {card} i adressboken {addressbook}",
"You updated contact {card} in address book {addressbook}" : "Du uppdaterade kontakten {card} i adressboken {addressbook}",
"A <strong>contact</strong> or <strong>address book</strong> was modified" : "En <strong>kontakt</strong> eller <strong>adressbok</strong> ändrades",
+ "File is not updatable: %1$s" : "Fil kan inte uppdateras: %1$s",
+ "Could not write file contents" : "Kunde inte skriva filens innehåll",
+ "_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
+ "Could not rename part file to final file" : "Kunde inte ändra namn från temporära filen till slutliga filen",
+ "Failed to check file size: %1$s" : "Kunde inte kontrollera filstorleken: %1$s",
+ "Could not open file" : "Kunde inte öppna fil",
+ "Encryption not ready: %1$s" : "Kryptering ej redo: %1$s",
+ "Failed to open file: %1$s" : "Kunde inte öppna fil: %1$s",
+ "Failed to unlink: %1$s" : "Kunde inte ta bort: %1$s",
+ "Invalid chunk name" : "Ogiltigt delnamn",
+ "Could not rename part file assembled from chunks" : "Kunde inte ändra namn på temporära filen ihopsatt från delar",
+ "Failed to write file contents: %1$s" : "Kunde inte skriva filinnehåll: %1$s",
+ "File not found: %1$s" : "Filen hittades inte: %1$s",
"System is in maintenance mode." : "Systemet är i underhållsläge.",
"Upgrade needed" : "Uppdatering nödvändig",
"Your %s needs to be configured to use HTTPS in order to use CalDAV and CardDAV with iOS/macOS." : "Din %s måste konfigureras att använda HTTPS för CalDAV och CardDAV med iOS/macOS.",
@@ -105,6 +134,8 @@
"Completed on %s" : "Slutförd %s",
"Due on %s by %s" : "Slutar den %s vid %s",
"Due on %s" : "Slutar den %s",
+ "Migrated calendar (%1$s)" : "Migrerade kalender (%1$s)",
+ "Calendars including events, details and attendees" : "Kalendrar inklusive händelser, detaljer och deltagare",
"Contacts and groups" : "Kontakter och grupper",
"WebDAV" : "WebDAV",
"WebDAV endpoint" : "WebDAV endpoint",
diff --git a/apps/dav/lib/CalDAV/Activity/Provider/Base.php b/apps/dav/lib/CalDAV/Activity/Provider/Base.php
index 672129a8311..841011574d0 100644
--- a/apps/dav/lib/CalDAV/Activity/Provider/Base.php
+++ b/apps/dav/lib/CalDAV/Activity/Provider/Base.php
@@ -30,11 +30,9 @@ use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
abstract class Base implements IProvider {
-
/** @var IUserManager */
protected $userManager;
@@ -58,20 +56,8 @@ abstract class Base implements IProvider {
$this->url = $urlGenerator;
}
- /**
- * @param IEvent $event
- * @param string $subject
- * @param array $parameters
- */
- protected function setSubjects(IEvent $event, $subject, array $parameters) {
- $placeholders = $replacements = [];
- foreach ($parameters as $placeholder => $parameter) {
- $placeholders[] = '{' . $placeholder . '}';
- $replacements[] = $parameter['name'];
- }
-
- $event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
- ->setRichSubject($subject, $parameters);
+ protected function setSubjects(IEvent $event, string $subject, array $parameters): void {
+ $event->setRichSubject($subject, $parameters);
}
/**
diff --git a/apps/dav/lib/CalDAV/CalendarImpl.php b/apps/dav/lib/CalDAV/CalendarImpl.php
index 79a5626f322..3fb28a631a7 100644
--- a/apps/dav/lib/CalDAV/CalendarImpl.php
+++ b/apps/dav/lib/CalDAV/CalendarImpl.php
@@ -42,7 +42,6 @@ use Sabre\VObject\Reader;
use function Sabre\Uri\split as uriSplit;
class CalendarImpl implements ICreateFromString, IHandleImipMessage {
-
private CalDavBackend $backend;
private Calendar $calendar;
/** @var array<string, mixed> */
@@ -147,7 +146,7 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage {
$server = new InvitationResponseServer(false);
/** @var CustomPrincipalPlugin $plugin */
- $plugin = $server->server->getPlugin('auth');
+ $plugin = $server->getServer()->getPlugin('auth');
// we're working around the previous implementation
// that only allowed the public system principal to be used
// so set the custom principal here
@@ -163,14 +162,14 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage {
// Force calendar change URI
/** @var Schedule\Plugin $schedulingPlugin */
- $schedulingPlugin = $server->server->getPlugin('caldav-schedule');
+ $schedulingPlugin = $server->getServer()->getPlugin('caldav-schedule');
$schedulingPlugin->setPathOfCalendarObjectChange($fullCalendarFilename);
$stream = fopen('php://memory', 'rb+');
fwrite($stream, $calendarData);
rewind($stream);
try {
- $server->server->createFile($fullCalendarFilename, $stream);
+ $server->getServer()->createFile($fullCalendarFilename, $stream);
} catch (Conflict $e) {
throw new CalendarException('Could not create new calendar event: ' . $e->getMessage(), 0, $e);
} finally {
@@ -182,10 +181,10 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage {
* @throws CalendarException
*/
public function handleIMipMessage(string $name, string $calendarData): void {
- $server = new InvitationResponseServer(false);
+ $server = $this->getInvitationResponseServer();
/** @var CustomPrincipalPlugin $plugin */
- $plugin = $server->server->getPlugin('auth');
+ $plugin = $server->getServer()->getPlugin('auth');
// we're working around the previous implementation
// that only allowed the public system principal to be used
// so set the custom principal here
@@ -196,7 +195,7 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage {
}
// Force calendar change URI
/** @var Schedule\Plugin $schedulingPlugin */
- $schedulingPlugin = $server->server->getPlugin('caldav-schedule');
+ $schedulingPlugin = $server->getServer()->getPlugin('caldav-schedule');
// Let sabre handle the rest
$iTipMessage = new Message();
/** @var VCalendar $vObject */
@@ -204,25 +203,25 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage {
/** @var VEvent $vEvent */
$vEvent = $vObject->{'VEVENT'};
- if($vObject->{'METHOD'} === null) {
+ if ($vObject->{'METHOD'} === null) {
throw new CalendarException('No Method provided for scheduling data. Could not process message');
}
- if(!isset($vEvent->{'ORGANIZER'}) || !isset($vEvent->{'ATTENDEE'})) {
+ if (!isset($vEvent->{'ORGANIZER'}) || !isset($vEvent->{'ATTENDEE'})) {
throw new CalendarException('Could not process scheduling data, neccessary data missing from ICAL');
}
$organizer = $vEvent->{'ORGANIZER'}->getValue();
$attendee = $vEvent->{'ATTENDEE'}->getValue();
$iTipMessage->method = $vObject->{'METHOD'}->getValue();
- if($iTipMessage->method === 'REPLY') {
+ if ($iTipMessage->method === 'REPLY') {
if ($server->isExternalAttendee($vEvent->{'ATTENDEE'}->getValue())) {
$iTipMessage->recipient = $organizer;
} else {
$iTipMessage->recipient = $attendee;
}
$iTipMessage->sender = $attendee;
- } else if($iTipMessage->method === 'CANCEL') {
+ } elseif ($iTipMessage->method === 'CANCEL') {
$iTipMessage->recipient = $attendee;
$iTipMessage->sender = $organizer;
}
@@ -232,4 +231,8 @@ class CalendarImpl implements ICreateFromString, IHandleImipMessage {
$iTipMessage->message = $vObject;
$schedulingPlugin->scheduleLocalDelivery($iTipMessage);
}
+
+ public function getInvitationResponseServer(): InvitationResponseServer {
+ return new InvitationResponseServer(false);
+ }
}
diff --git a/apps/dav/lib/CalDAV/InvitationResponse/InvitationResponseServer.php b/apps/dav/lib/CalDAV/InvitationResponse/InvitationResponseServer.php
index a85892443cc..e64c815753b 100644
--- a/apps/dav/lib/CalDAV/InvitationResponse/InvitationResponseServer.php
+++ b/apps/dav/lib/CalDAV/InvitationResponse/InvitationResponseServer.php
@@ -39,7 +39,6 @@ use Psr\Log\LoggerInterface;
use Sabre\VObject\ITip\Message;
class InvitationResponseServer {
-
/** @var \OCA\DAV\Connector\Sabre\Server */
public $server;
@@ -127,7 +126,11 @@ class InvitationResponseServer {
public function isExternalAttendee(string $principalUri): bool {
/** @var \Sabre\DAVACL\Plugin $aclPlugin */
- $aclPlugin = $this->server->getPlugin('acl');
+ $aclPlugin = $this->getServer()->getPlugin('acl');
return $aclPlugin->getPrincipalByUri($principalUri) === null;
}
+
+ public function getServer(): \OCA\DAV\Connector\Sabre\Server {
+ return $this->server;
+ }
}
diff --git a/apps/dav/lib/CardDAV/Activity/Provider/Base.php b/apps/dav/lib/CardDAV/Activity/Provider/Base.php
index 3e7a966c08a..a59c3b57262 100644
--- a/apps/dav/lib/CardDAV/Activity/Provider/Base.php
+++ b/apps/dav/lib/CardDAV/Activity/Provider/Base.php
@@ -32,11 +32,9 @@ use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
abstract class Base implements IProvider {
-
/** @var IUserManager */
protected $userManager;
@@ -60,20 +58,8 @@ abstract class Base implements IProvider {
$this->url = $urlGenerator;
}
- /**
- * @param IEvent $event
- * @param string $subject
- * @param array $parameters
- */
protected function setSubjects(IEvent $event, string $subject, array $parameters): void {
- $placeholders = $replacements = [];
- foreach ($parameters as $placeholder => $parameter) {
- $placeholders[] = '{' . $placeholder . '}';
- $replacements[] = $parameter['name'];
- }
-
- $event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
- ->setRichSubject($subject, $parameters);
+ $event->setRichSubject($subject, $parameters);
}
/**
diff --git a/apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php b/apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php
index b1deb638f3d..bd394cb7fb6 100644
--- a/apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php
+++ b/apps/dav/lib/CardDAV/Integration/ExternalAddressBook.php
@@ -50,16 +50,9 @@ abstract class ExternalAddressBook implements IAddressBook, DAV\IProperties {
*/
private const DELIMITER = '--';
- /** @var string */
- private $appId;
-
- /** @var string */
- private $uri;
+ private string $appId;
+ private string $uri;
- /**
- * @param string $appId
- * @param string $uri
- */
public function __construct(string $appId, string $uri) {
$this->appId = $appId;
$this->uri = $uri;
diff --git a/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php b/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php
index 2d2be631416..257068b9576 100644
--- a/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/BlockLegacyClientPlugin.php
@@ -64,7 +64,7 @@ class BlockLegacyClientPlugin extends ServerPlugin {
return;
}
- $minimumSupportedDesktopVersion = $this->config->getSystemValue('minimum.supported.desktop.version', '2.0.0');
+ $minimumSupportedDesktopVersion = $this->config->getSystemValue('minimum.supported.desktop.version', '2.3.0');
// Match on the mirall version which is in scheme "Mozilla/5.0 (%1) mirall/%2" or
// "mirall/%1" for older releases
diff --git a/apps/dav/lib/Connector/Sabre/Directory.php b/apps/dav/lib/Connector/Sabre/Directory.php
index b575a051b2a..f4b1ee62190 100644
--- a/apps/dav/lib/Connector/Sabre/Directory.php
+++ b/apps/dav/lib/Connector/Sabre/Directory.php
@@ -255,7 +255,11 @@ class Directory extends \OCA\DAV\Connector\Sabre\Node implements \Sabre\DAV\ICol
if (!$this->info->isReadable()) {
// return 403 instead of 404 because a 404 would make
// the caller believe that the collection itself does not exist
- throw new Forbidden('No read permissions');
+ if (\OCP\Server::get(\OCP\App\IAppManager::class)->isInstalled('files_accesscontrol')) {
+ throw new Forbidden('No read permissions. This might be caused by files_accesscontrol, check your configured rules');
+ } else {
+ throw new Forbidden('No read permissions');
+ }
}
$folderContent = $this->getNode()->getDirectoryListing();
} catch (LockedException $e) {
diff --git a/apps/dav/lib/Connector/Sabre/File.php b/apps/dav/lib/Connector/Sabre/File.php
index 94632b265db..3a871b06259 100644
--- a/apps/dav/lib/Connector/Sabre/File.php
+++ b/apps/dav/lib/Connector/Sabre/File.php
@@ -45,11 +45,11 @@ use OC\Files\Stream\HashWrapper;
use OC\Files\View;
use OC\Metadata\FileMetadata;
use OCA\DAV\AppInfo\Application;
+use OCA\DAV\Connector\Sabre\Exception\BadGateway;
use OCA\DAV\Connector\Sabre\Exception\EntityTooLarge;
use OCA\DAV\Connector\Sabre\Exception\FileLocked;
use OCA\DAV\Connector\Sabre\Exception\Forbidden as DAVForbiddenException;
use OCA\DAV\Connector\Sabre\Exception\UnsupportedMediaType;
-use OCA\DAV\Connector\Sabre\Exception\BadGateway;
use OCP\Encryption\Exceptions\GenericEncryptionException;
use OCP\Files\EntityTooLargeException;
use OCP\Files\FileInfo;
@@ -491,9 +491,21 @@ class File extends Node implements IFile {
} catch (\Exception $e) {
$this->convertToSabreException($e);
}
+
if ($res === false) {
throw new ServiceUnavailable($this->l10n->t('Could not open file'));
}
+
+ // comparing current file size with the one in DB
+ // if different, fix DB and refresh cache.
+ if ($this->getSize() !== $this->fileView->filesize($this->getPath())) {
+ $logger = \OC::$server->get(LoggerInterface::class);
+ $logger->warning('fixing cached size of file id=' . $this->getId());
+
+ $this->getFileInfo()->getStorage()->getUpdater()->update($this->getFileInfo()->getInternalPath());
+ $this->refreshInfo();
+ }
+
return $res;
} catch (GenericEncryptionException $e) {
// returning 503 will allow retry of the operation at a later point in time
diff --git a/apps/dav/lib/Connector/Sabre/QuotaPlugin.php b/apps/dav/lib/Connector/Sabre/QuotaPlugin.php
index f2b652e3320..ff7396a0825 100644
--- a/apps/dav/lib/Connector/Sabre/QuotaPlugin.php
+++ b/apps/dav/lib/Connector/Sabre/QuotaPlugin.php
@@ -44,7 +44,6 @@ use Sabre\DAV\INode;
* @license http://code.google.com/p/sabredav/wiki/License Modified BSD License
*/
class QuotaPlugin extends \Sabre\DAV\ServerPlugin {
-
/** @var \OC\Files\View */
private $view;
@@ -79,6 +78,7 @@ class QuotaPlugin extends \Sabre\DAV\ServerPlugin {
$server->on('beforeWriteContent', [$this, 'beforeWriteContent'], 10);
$server->on('beforeCreateFile', [$this, 'beforeCreateFile'], 10);
$server->on('beforeMove', [$this, 'beforeMove'], 10);
+ $server->on('beforeCopy', [$this, 'beforeCopy'], 10);
}
/**
@@ -131,7 +131,42 @@ class QuotaPlugin extends \Sabre\DAV\ServerPlugin {
$destinationNode = $this->server->tree->getNodeForPath($destination);
$path = $destinationNode->getPath();
} else {
- $parentNode = $this->server->tree->getNodeForPath(dirname($destination));
+ $parent = dirname($destination);
+ if ($parent === '.') {
+ $parent = '';
+ }
+ $parentNode = $this->server->tree->getNodeForPath($parent);
+ $path = $parentNode->getPath();
+ }
+
+ return $this->checkQuota($path, $sourceNode->getSize());
+ }
+
+ /**
+ * Check quota on the target destination before a copy.
+ */
+ public function beforeCopy(string $sourcePath, string $destinationPath): bool {
+ $sourceNode = $this->server->tree->getNodeForPath($sourcePath);
+ if (!$sourceNode instanceof Node) {
+ return true;
+ }
+
+ // get target node for proper path conversion
+ if ($this->server->tree->nodeExists($destinationPath)) {
+ $destinationNode = $this->server->tree->getNodeForPath($destinationPath);
+ if (!$destinationNode instanceof Node) {
+ return true;
+ }
+ $path = $destinationNode->getPath();
+ } else {
+ $parent = dirname($destinationPath);
+ if ($parent === '.') {
+ $parent = '';
+ }
+ $parentNode = $this->server->tree->getNodeForPath($parent);
+ if (!$parentNode instanceof Node) {
+ return true;
+ }
$path = $parentNode->getPath();
}
diff --git a/apps/dav/lib/Server.php b/apps/dav/lib/Server.php
index f98dba22925..437a425fcd3 100644
--- a/apps/dav/lib/Server.php
+++ b/apps/dav/lib/Server.php
@@ -1,6 +1,7 @@
<?php
/**
* @copyright Copyright (c) 2016, ownCloud, Inc.
+ * @copyright Copyright (c) 2022 Informatyka Boguslawski sp. z o.o. sp.k., http://www.ib.pl/
*
* @author Arthur Schiwon <blizzz@arthur-schiwon.de>
* @author Bjoern Schiessle <bjoern@schiessle.org>
@@ -177,7 +178,9 @@ class Server {
$this->server->addPlugin(\OC::$server->get(\OCA\DAV\CalDAV\Trashbin\Plugin::class));
$this->server->addPlugin(new \OCA\DAV\CalDAV\WebcalCaching\Plugin($request));
- $this->server->addPlugin(new \Sabre\CalDAV\Subscriptions\Plugin());
+ if (\OC::$server->getConfig()->getAppValue('dav', 'allow_calendar_link_subscriptions', 'yes') === 'yes') {
+ $this->server->addPlugin(new \Sabre\CalDAV\Subscriptions\Plugin());
+ }
$this->server->addPlugin(new \Sabre\CalDAV\Notifications\Plugin());
$this->server->addPlugin(new DAV\Sharing\Plugin($authBackend, \OC::$server->getRequest(), \OC::$server->getConfig()));
diff --git a/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php b/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php
index 9e1e02189f5..e4622336d74 100644
--- a/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php
+++ b/apps/dav/tests/unit/CalDAV/Activity/Provider/BaseTest.php
@@ -32,13 +32,11 @@ use OCP\Activity\IProvider;
use OCP\IGroupManager;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class BaseTest extends TestCase {
-
/** @var IUserManager|MockObject */
protected $userManager;
@@ -85,10 +83,8 @@ class BaseTest extends TestCase {
->method('setRichSubject')
->with($subject, $parameters)
->willReturnSelf();
- $event->expects($this->once())
- ->method('setParsedSubject')
- ->with($parsedSubject)
- ->willReturnSelf();
+ $event->expects($this->never())
+ ->method('setParsedSubject');
$this->invokePrivate($this->provider, 'setSubjects', [$event, $subject, $parameters]);
}
diff --git a/apps/dav/tests/unit/CalDAV/CalendarImplTest.php b/apps/dav/tests/unit/CalDAV/CalendarImplTest.php
index 6842bdadb53..cc0b963634c 100644
--- a/apps/dav/tests/unit/CalDAV/CalendarImplTest.php
+++ b/apps/dav/tests/unit/CalDAV/CalendarImplTest.php
@@ -31,10 +31,18 @@ use OCA\DAV\CalDAV\Calendar;
use OCA\DAV\CalDAV\CalendarImpl;
use OCA\DAV\CalDAV\InvitationResponse\InvitationResponseServer;
use OCA\DAV\CalDAV\Schedule\Plugin;
+use OCA\DAV\Connector\Sabre\Server;
+use OCP\Calendar\Exceptions\CalendarException;
use PHPUnit\Framework\MockObject\MockObject;
+use Sabre\VObject\Component\VCalendar;
+use Sabre\VObject\Component\VEvent;
+use Sabre\VObject\ITip\Message;
+use Sabre\VObject\Reader;
+/**
+ * @group DB
+ */
class CalendarImplTest extends \Test\TestCase {
-
/** @var CalendarImpl */
private $calendarImpl;
@@ -69,7 +77,7 @@ class CalendarImplTest extends \Test\TestCase {
}
public function testGetDisplayname() {
- $this->assertEquals($this->calendarImpl->getDisplayName(),'user readable name 123');
+ $this->assertEquals($this->calendarImpl->getDisplayName(), 'user readable name 123');
}
public function testGetDisplayColor() {
@@ -132,52 +140,104 @@ class CalendarImplTest extends \Test\TestCase {
}
public function testHandleImipMessage(): void {
- $invitationResponseServer = $this->createConfiguredMock(InvitationResponseServer::class, [
- 'server' => $this->createConfiguredMock(CalDavBackend::class, [
- 'getPlugin' => [
- 'auth' => $this->createMock(CustomPrincipalPlugin::class),
- 'schedule' => $this->createMock(Plugin::class)
- ]
- ])
- ]);
-
$message = <<<EOF
BEGIN:VCALENDAR
PRODID:-//Nextcloud/Nextcloud CalDAV Server//EN
METHOD:REPLY
VERSION:2.0
BEGIN:VEVENT
-ATTENDEE;PARTSTAT=mailto:lewis@stardew-tent-living.com:ACCEPTED
+ATTENDEE;PARTSTAT=ACCEPTED:mailto:lewis@stardew-tent-living.com
ORGANIZER:mailto:pierre@generalstore.com
UID:aUniqueUid
SEQUENCE:2
REQUEST-STATUS:2.0;Success
-%sEND:VEVENT
+END:VEVENT
END:VCALENDAR
EOF;
/** @var CustomPrincipalPlugin|MockObject $authPlugin */
- $authPlugin = $invitationResponseServer->server->getPlugin('auth');
+ $authPlugin = $this->createMock(CustomPrincipalPlugin::class);
$authPlugin->expects(self::once())
- ->method('setPrincipalUri')
+ ->method('setCurrentPrincipal')
->with($this->calendar->getPrincipalURI());
+ /** @var \Sabre\DAVACL\Plugin|MockObject $aclPlugin*/
+ $aclPlugin = $this->createMock(\Sabre\DAVACL\Plugin::class);
+
/** @var Plugin|MockObject $schedulingPlugin */
- $schedulingPlugin = $invitationResponseServer->server->getPlugin('caldav-schedule');
+ $schedulingPlugin = $this->createMock(Plugin::class);
+ $iTipMessage = $this->getITipMessage($message);
+ $iTipMessage->recipient = "mailto:lewis@stardew-tent-living.com";
$schedulingPlugin->expects(self::once())
- ->method('setPathOfCalendarObjectChange')
- ->with('fullcalendarname');
+ ->method('scheduleLocalDelivery')
+ ->with($iTipMessage);
+
+ $server = $this->createMock(Server::class);
+ $server->expects($this->any())
+ ->method('getPlugin')
+ ->willReturnMap([
+ ['auth', $authPlugin],
+ ['acl', $aclPlugin],
+ ['caldav-schedule', $schedulingPlugin]
+ ]);
+
+ $invitationResponseServer = $this->createPartialMock(InvitationResponseServer::class, ['getServer', 'isExternalAttendee']);
+ $invitationResponseServer->server = $server;
+ $invitationResponseServer->expects($this->any())
+ ->method('getServer')
+ ->willReturn($server);
+ $invitationResponseServer->expects(self::once())
+ ->method('isExternalAttendee')
+ ->willReturn(false);
+
+ $calendarImpl = $this->getMockBuilder(CalendarImpl::class)
+ ->setConstructorArgs([$this->calendar, $this->calendarInfo, $this->backend])
+ ->onlyMethods(['getInvitationResponseServer'])
+ ->getMock();
+ $calendarImpl->expects($this->once())
+ ->method('getInvitationResponseServer')
+ ->willReturn($invitationResponseServer);
+
+ $calendarImpl->handleIMipMessage('filename.ics', $message);
}
public function testHandleImipMessageNoCalendarUri(): void {
- $invitationResponseServer = $this->createConfiguredMock(InvitationResponseServer::class, [
- 'server' => $this->createConfiguredMock(CalDavBackend::class, [
- 'getPlugin' => [
- 'auth' => $this->createMock(CustomPrincipalPlugin::class),
- 'schedule' => $this->createMock(Plugin::class)
- ]
- ])
- ]);
+ /** @var CustomPrincipalPlugin|MockObject $authPlugin */
+ $authPlugin = $this->createMock(CustomPrincipalPlugin::class);
+ $authPlugin->expects(self::once())
+ ->method('setCurrentPrincipal')
+ ->with($this->calendar->getPrincipalURI());
+ unset($this->calendarInfo['uri']);
+
+ /** @var Plugin|MockObject $schedulingPlugin */
+ $schedulingPlugin = $this->createMock(Plugin::class);
+
+ /** @var \Sabre\DAVACL\Plugin|MockObject $schedulingPlugin */
+ $aclPlugin = $this->createMock(\Sabre\DAVACL\Plugin::class);
+
+ $server =
+ $this->createMock(Server::class);
+ $server->expects($this->any())
+ ->method('getPlugin')
+ ->willReturnMap([
+ ['auth', $authPlugin],
+ ['acl', $aclPlugin],
+ ['caldav-schedule', $schedulingPlugin]
+ ]);
+
+ $invitationResponseServer = $this->createPartialMock(InvitationResponseServer::class, ['getServer']);
+ $invitationResponseServer->server = $server;
+ $invitationResponseServer->expects($this->any())
+ ->method('getServer')
+ ->willReturn($server);
+
+ $calendarImpl = $this->getMockBuilder(CalendarImpl::class)
+ ->setConstructorArgs([$this->calendar, $this->calendarInfo, $this->backend])
+ ->onlyMethods(['getInvitationResponseServer'])
+ ->getMock();
+ $calendarImpl->expects($this->once())
+ ->method('getInvitationResponseServer')
+ ->willReturn($invitationResponseServer);
$message = <<<EOF
BEGIN:VCALENDAR
@@ -185,23 +245,35 @@ PRODID:-//Nextcloud/Nextcloud CalDAV Server//EN
METHOD:REPLY
VERSION:2.0
BEGIN:VEVENT
-ATTENDEE;PARTSTAT=mailto:lewis@stardew-tent-living.com:ACCEPTED
+ATTENDEE;PARTSTAT=ACCEPTED:mailto:lewis@stardew-tent-living.com
ORGANIZER:mailto:pierre@generalstore.com
UID:aUniqueUid
SEQUENCE:2
REQUEST-STATUS:2.0;Success
-%sEND:VEVENT
+END:VEVENT
END:VCALENDAR
EOF;
- /** @var CustomPrincipalPlugin|MockObject $authPlugin */
- $authPlugin = $invitationResponseServer->server->getPlugin('auth');
- $authPlugin->expects(self::once())
- ->method('setPrincipalUri')
- ->with($this->calendar->getPrincipalURI());
+ $this->expectException(CalendarException::class);
+ $calendarImpl->handleIMipMessage('filename.ics', $message);
+ }
- unset($this->calendarInfo['uri']);
- $this->expectException('CalendarException');
- $this->calendarImpl->handleIMipMessage('filename.ics', $message);
+ private function getITipMessage($calendarData): Message {
+ $iTipMessage = new Message();
+ /** @var VCalendar $vObject */
+ $vObject = Reader::read($calendarData);
+ /** @var VEvent $vEvent */
+ $vEvent = $vObject->{'VEVENT'};
+ $orgaizer = $vEvent->{'ORGANIZER'}->getValue();
+ $attendee = $vEvent->{'ATTENDEE'}->getValue();
+
+ $iTipMessage->method = $vObject->{'METHOD'}->getValue();
+ $iTipMessage->recipient = $orgaizer;
+ $iTipMessage->sender = $attendee;
+ $iTipMessage->uid = isset($vEvent->{'UID'}) ? $vEvent->{'UID'}->getValue() : '';
+ $iTipMessage->component = 'VEVENT';
+ $iTipMessage->sequence = isset($vEvent->{'SEQUENCE'}) ? (int)$vEvent->{'SEQUENCE'}->getValue() : 0;
+ $iTipMessage->message = $vObject;
+ return $iTipMessage;
}
}
diff --git a/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php b/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php
index 4d2771132cc..e9d43f77cca 100644
--- a/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/BlockLegacyClientPluginTest.php
@@ -82,7 +82,7 @@ class BlockLegacyClientPluginTest extends TestCase {
$this->config
->expects($this->once())
->method('getSystemValue')
- ->with('minimum.supported.desktop.version', '2.0.0')
+ ->with('minimum.supported.desktop.version', '2.3.0')
->willReturn('1.7.0');
$this->blockLegacyClientVersionPlugin->beforeHandler($request);
@@ -117,7 +117,7 @@ class BlockLegacyClientPluginTest extends TestCase {
$this->config
->expects($this->once())
->method('getSystemValue')
- ->with('minimum.supported.desktop.version', '2.0.0')
+ ->with('minimum.supported.desktop.version', '2.3.0')
->willReturn('1.7.0');
$this->blockLegacyClientVersionPlugin->beforeHandler($request);
diff --git a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
index e8297c2ac66..1de82484ac4 100644
--- a/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
+++ b/apps/dav/tests/unit/Connector/Sabre/DirectoryTest.php
@@ -34,6 +34,7 @@ use OC\Files\Storage\Wrapper\Quota;
use OCA\DAV\Connector\Sabre\Directory;
use OCP\Files\ForbiddenException;
use OCP\Files\Mount\IMountPoint;
+use Test\Traits\UserTrait;
class TestViewDirectory extends \OC\Files\View {
private $updatables;
@@ -73,6 +74,8 @@ class TestViewDirectory extends \OC\Files\View {
*/
class DirectoryTest extends \Test\TestCase {
+ use UserTrait;
+
/** @var \OC\Files\View | \PHPUnit\Framework\MockObject\MockObject */
private $view;
/** @var \OC\Files\FileInfo | \PHPUnit\Framework\MockObject\MockObject */
@@ -274,6 +277,8 @@ class DirectoryTest extends \Test\TestCase {
}
public function testGetQuotaInfoUnlimited() {
+ self::createUser('user', 'password');
+ self::loginAsUser('user');
$mountPoint = $this->createMock(IMountPoint::class);
$storage = $this->getMockBuilder(Quota::class)
->disableOriginalConstructor()
@@ -288,6 +293,10 @@ class DirectoryTest extends \Test\TestCase {
'\OC\Files\Storage\Wrapper\Quota' => false,
]);
+ $storage->expects($this->once())
+ ->method('getOwner')
+ ->willReturn('user');
+
$storage->expects($this->never())
->method('getQuota');
@@ -311,6 +320,8 @@ class DirectoryTest extends \Test\TestCase {
}
public function testGetQuotaInfoSpecific() {
+ self::createUser('user', 'password');
+ self::loginAsUser('user');
$mountPoint = $this->createMock(IMountPoint::class);
$storage = $this->getMockBuilder(Quota::class)
->disableOriginalConstructor()
@@ -326,6 +337,10 @@ class DirectoryTest extends \Test\TestCase {
]);
$storage->expects($this->once())
+ ->method('getOwner')
+ ->willReturn('user');
+
+ $storage->expects($this->once())
->method('getQuota')
->willReturn(1000);
diff --git a/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php b/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
index efbad5e3008..fdbb69e6c0d 100644
--- a/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
+++ b/apps/dav/tests/unit/Controller/InvitationResponseControllerTest.php
@@ -480,7 +480,7 @@ EOF;
$expr->expects($this->once())
->method('eq')
->with('token', 'namedParameterToken')
- ->willReturn($function);
+ ->willReturn((string)$function);
$this->dbConnection->expects($this->once())
->method('getQueryBuilder')
diff --git a/apps/encryption/appinfo/info.xml b/apps/encryption/appinfo/info.xml
index 03d443b1d2d..70ffa686925 100644
--- a/apps/encryption/appinfo/info.xml
+++ b/apps/encryption/appinfo/info.xml
@@ -46,6 +46,7 @@
<command>OCA\Encryption\Command\RecoverUser</command>
<command>OCA\Encryption\Command\ScanLegacyFormat</command>
<command>OCA\Encryption\Command\FixEncryptedVersion</command>
+ <command>OCA\Encryption\Command\FixKeyLocation</command>
</commands>
<settings>
diff --git a/apps/encryption/composer/autoload.php b/apps/encryption/composer/autoload.php
index 593ddde0eb0..527ccaeaf15 100644
--- a/apps/encryption/composer/autoload.php
+++ b/apps/encryption/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/encryption/composer/composer/autoload_classmap.php b/apps/encryption/composer/composer/autoload_classmap.php
index 0ce1e86f8a6..9f9ab4e406f 100644
--- a/apps/encryption/composer/composer/autoload_classmap.php
+++ b/apps/encryption/composer/composer/autoload_classmap.php
@@ -11,6 +11,7 @@ return array(
'OCA\\Encryption\\Command\\DisableMasterKey' => $baseDir . '/../lib/Command/DisableMasterKey.php',
'OCA\\Encryption\\Command\\EnableMasterKey' => $baseDir . '/../lib/Command/EnableMasterKey.php',
'OCA\\Encryption\\Command\\FixEncryptedVersion' => $baseDir . '/../lib/Command/FixEncryptedVersion.php',
+ 'OCA\\Encryption\\Command\\FixKeyLocation' => $baseDir . '/../lib/Command/FixKeyLocation.php',
'OCA\\Encryption\\Command\\RecoverUser' => $baseDir . '/../lib/Command/RecoverUser.php',
'OCA\\Encryption\\Command\\ScanLegacyFormat' => $baseDir . '/../lib/Command/ScanLegacyFormat.php',
'OCA\\Encryption\\Controller\\RecoveryController' => $baseDir . '/../lib/Controller/RecoveryController.php',
diff --git a/apps/encryption/composer/composer/autoload_static.php b/apps/encryption/composer/composer/autoload_static.php
index fc1fcbcf63b..8f50f064997 100644
--- a/apps/encryption/composer/composer/autoload_static.php
+++ b/apps/encryption/composer/composer/autoload_static.php
@@ -26,6 +26,7 @@ class ComposerStaticInitEncryption
'OCA\\Encryption\\Command\\DisableMasterKey' => __DIR__ . '/..' . '/../lib/Command/DisableMasterKey.php',
'OCA\\Encryption\\Command\\EnableMasterKey' => __DIR__ . '/..' . '/../lib/Command/EnableMasterKey.php',
'OCA\\Encryption\\Command\\FixEncryptedVersion' => __DIR__ . '/..' . '/../lib/Command/FixEncryptedVersion.php',
+ 'OCA\\Encryption\\Command\\FixKeyLocation' => __DIR__ . '/..' . '/../lib/Command/FixKeyLocation.php',
'OCA\\Encryption\\Command\\RecoverUser' => __DIR__ . '/..' . '/../lib/Command/RecoverUser.php',
'OCA\\Encryption\\Command\\ScanLegacyFormat' => __DIR__ . '/..' . '/../lib/Command/ScanLegacyFormat.php',
'OCA\\Encryption\\Controller\\RecoveryController' => __DIR__ . '/..' . '/../lib/Controller/RecoveryController.php',
diff --git a/apps/encryption/composer/composer/installed.php b/apps/encryption/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/encryption/composer/composer/installed.php
+++ b/apps/encryption/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/encryption/l10n/ca.js b/apps/encryption/l10n/ca.js
index 950de554123..5041fc2967b 100644
--- a/apps/encryption/l10n/ca.js
+++ b/apps/encryption/l10n/ca.js
@@ -4,44 +4,44 @@ OC.L10N.register(
"Missing recovery key password" : "Falta la clau de recuperació de contrasenya",
"Please repeat the recovery key password" : "Si us plau, repetiu la clau de recuperació de contrasenya",
"Repeated recovery key password does not match the provided recovery key password" : "La contrasenya de la clau de recuperació repetida no coincideix amb la contrasenya de clau de recuperació proporcionada",
- "Recovery key successfully enabled" : "La clau de recuperació s'ha activat",
- "Could not enable recovery key. Please check your recovery key password!" : "No s'ha pogut activar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!",
- "Recovery key successfully disabled" : "La clau de recuperació s'ha descativat",
- "Could not disable recovery key. Please check your recovery key password!" : "No s'ha pogut desactivar la clau de recuperació. Comproveu la contrasenya de la clau de recuperació!",
+ "Recovery key successfully enabled" : "La clau de recuperació s'ha habilitat",
+ "Could not enable recovery key. Please check your recovery key password!" : "No s'ha pogut habilitar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!",
+ "Recovery key successfully disabled" : "La clau de recuperació s'ha inhabilitat",
+ "Could not disable recovery key. Please check your recovery key password!" : "No s'ha pogut inhabilitar la clau de recuperació. Comproveu la contrasenya de la clau de recuperació!",
"Missing parameters" : "Falten paràmetres",
"Please provide the old recovery password" : "Si us plau, proporcioneu la contrasenya de recuperació antiga",
"Please provide a new recovery password" : "Si us plau, proporcioneu una nova contrasenya de recuperació",
"Please repeat the new recovery password" : "Si us plau, repetiu la nova contrasenya de recuperació",
"Password successfully changed." : "La contrasenya s'ha canviat.",
"Could not change the password. Maybe the old password was not correct." : "No s'ha pogut canviar la contrasenya. Potser la contrasenya anterior no era correcta.",
- "Recovery Key disabled" : "Clau de recuperació desactivada",
- "Recovery Key enabled" : "Clau de recuperació activada",
- "Could not enable the recovery key, please try again or contact your administrator" : "No es pot activar la clau de recuperació, torneu-ho a intentar o poseu-vos en contacte amb l'administrador",
+ "Recovery Key disabled" : "Clau de recuperació inhabilitada",
+ "Recovery Key enabled" : "Clau de recuperació habilitada",
+ "Could not enable the recovery key, please try again or contact your administrator" : "No es pot habilitar la clau de recuperació, torneu-ho a provar o poseu-vos en contacte amb l'administrador",
"Could not update the private key password." : "No s'ha pogut actualitzar la contrasenya de la clau privada.",
"The old password was not correct, please try again." : "La contrasenya antiga no és correcta, si us plau torneu-ho a provar.",
"The current log-in password was not correct, please try again." : "La contrasenya d'inici de sessió actual no era correcta, si us plau torneu-ho a provar.",
"Private key password successfully updated." : "La contrasenya de la clau privada s'ha actualitzat.",
- "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clau privada no és vàlida per a l'aplicació de xifrat. Si us plau, actualitzeu la contrasenya de la clau privada a la vostra configuració personal per recuperar l'accés als vostres fitxers xifrats.",
- "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "L'aplicació de xifrat està activada, però les vostres claus no s'han inicialitzat. Si us plau, tanqueu la sessió i torneu a iniciar la sessió.",
- "Please enable server side encryption in the admin settings in order to use the encryption module." : "Si us plau, activeu el xifratge del servidor a la configuració de l'administrador per poder fer servir el mòdul de xifratge.",
- "Encryption app is enabled and ready" : "L'aplicació de xifratge està activada i preparada",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clau privada no és vàlida per a l'aplicació de xifratge. Si us plau, actualitzeu la contrasenya de la clau privada als vostrses paràmetres personalz per recuperar l'accés als vostres fitxers xifrats.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "L'aplicació de xifratge està habilitada, però les vostres claus no s'han inicialitzat. Si us plau, tanqueu la sessió i torneu a iniciar la sessió.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Si us plau, activeu el xifratge del servidor als paràmetres de l'administrador per poder fer servir el mòdul de xifratge.",
+ "Encryption app is enabled and ready" : "L'aplicació de xifratge està habilitada i preparada",
"Bad Signature" : "Signatura incorrecta",
"Missing Signature" : "Falta Signatura",
- "one-time password for server-side-encryption" : "contrasenya única per al xifrat de la banda del servidor",
+ "one-time password for server-side-encryption" : "contrasenya única per al xifratge en el servidor",
"Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es pot desxifrar aquest fitxer, probablement és un fitxer compartit. Demaneu al propietari del fitxer que torni a compartir el fitxer amb vosaltres.",
"Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es pot llegir aquest fitxer, probablement aquest sigui un fitxer compartit. Demana al propietari del fitxer que torni a compartir el fitxer amb tu.",
- "Default encryption module" : "Mòdul de xifrat per defecte",
+ "Default encryption module" : "Mòdul de xifratge per defecte",
"Default encryption module for server-side encryption" : "Mòdul criptogràfic per defecte per a xifratge de servidor",
- "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Per fer servir aquest mòdul criptogràfic s’ha de permetre encriptació\n\t\tal servidor a la configuració de l'administrador. Un cop activat, aquest mòdul xifrarà\n\t\ttots els vostres fitxers de forma transparent. L'encriptació està basada en claus de AES 256.\n\t\tEl mòdul no tocarà fitxers existents, només s'encriptaran els nous un cop s'hagi activat\n\t\tl'encriptació des del servidor. Tampoc no és possible desactivar\n\t\tl'encriptació i tornar a un sistema sense encriptació.\n\t\tSi us plau llegiu la documentació per saber totes les implicacions abans de decidir\n\t\tactivar l’encriptació des del servidor.",
- "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Hola,\n\nL'administració ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nInicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.\n\n",
- "The share will expire on %s." : "La compartició venç el %s.",
+ "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Per fer servir aquest mòdul criptogràfic s’ha de habilitar xifratge en el servidor\n\t\tals paràmetres de l'administrador. Un cop habilitat, aquest mòdul xifrarà\n\t\ttots els vostres fitxers de forma transparent. El xifratge està basada en claus de AES 256.\n\t\tEl mòdul no tocarà fitxers existents, només es xifraràn els nous un cop s'hagi activat\n\t\tel xifratge en el servidor. Tampoc no és possible inhabilitar\n\t\tel xifratge i tornar a un sistema no xifrat.\n\t\tSi us plau llegiu la documentació per saber totes les implicacions abans de decidir\n\t\tactivar el xifratge en el servidor.",
+ "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Hola,\n\nL'administració ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nInicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.\n\n",
+ "The share will expire on %s." : "La compartició caduca el %s.",
"Cheers!" : "Salut!",
- "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Hola,<br><br> L'administració ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya <strong>%s</strong>.<br><br>Si us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.<br><br>",
- "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació d'encriptació està activada però les claus no estan inicialitzades, tanqueu la sessió i inicieu-ne una de nova.",
+ "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Hola,<br><br> L'administració ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya <strong>%s</strong>.<br><br>Si us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.<br><br>",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació de xifratge està activada però les claus no estan inicialitzades, tanqueu la sessió i inicieu-ne una de nova.",
"Encrypt the home storage" : "Xifra l'emmagatzematge de casa",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Si activeu aquesta opció, es xifraran tots els fitxers emmagatzemats a l’emmagatzematge principal; en cas contrari, només es xifraran els fitxers d’emmagatzematge extern",
"Enable recovery key" : "Habilita la clau de recuperació",
- "Disable recovery key" : "Desactiva la clau de recuperació",
+ "Disable recovery key" : "Inhabilita la clau de recuperació",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clau de recuperació és una clau de xifratge addicional que s'utilitza per xifrar fitxers. Permet la recuperació dels fitxers d'un usuari si l'usuari oblida de la seva contrasenya.",
"Recovery key password" : "Clau de recuperació de la contrasenya",
"Repeat recovery key password" : "Repetiu la contrasenya de la clau de recuperació",
@@ -50,18 +50,18 @@ OC.L10N.register(
"New recovery key password" : "Nova contrasenya de clau de recuperació",
"Repeat new recovery key password" : "Repetiu la contrasenya de la clau de recuperació nova",
"Change Password" : "Canvia la contrasenya",
- "Basic encryption module" : "Mòdul bàsic d'encriptació",
- "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'accés:",
+ "Basic encryption module" : "Mòdul de xifratge bàsic",
+ "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'inici de sessió:",
"Set your old private key password to your current log-in password:" : "Establiu la vostra antiga clau privada a l'actual contrasenya d'accés:",
" If you don't remember your old password you can ask your administrator to recover your files." : "Si no recordeu la contrasenya anterior podeu demanar a l'administrador que recuperi els vostres fitxers.",
"Old log-in password" : "Contrasenya antiga d’inici de sessió",
"Current log-in password" : "Contrasenya actual d’inici de sessió",
"Update Private Key Password" : "Actualitza la contrasenya de clau privada",
- "Enable password recovery:" : "Activa la recuperació de contrasenya:",
+ "Enable password recovery:" : "Habilita la recuperació de contrasenya:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Si activeu aquesta opció, podreu accedir als vostres fitxers encriptats en cas de pèrdua de contrasenya",
"Enabled" : "Habilitat",
"Disabled" : "Inhabilitat",
- "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.\n\n" : "Hola,\n\nl'administrador ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nSi us plau, inicieu sessió a la interfície web, aneu a la secció \"mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"antiga contrasenya d'inici de sessió\" i la vostra contrasenya d'inici de sessió actual.\n\n",
- "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hola,<br><br>l'administrador ha activat l'encriptació des del servidor. Els vostres fitxers s'han encriptat fent servir la contrasenya <strong>%s</strong>. <br><br>Si us plau, inicieu la sessió a la interfície web, aneu a la secció \"mòdul bàsic d’encriptació\" de la vostra configuració personal i actualitzeu la contrasenya de xifrat introduint-hi aquesta contrasenya al camp \"antiga contrasenya d’inici de sessió\" i la vostra contrasenya actual.<br><br>"
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.\n\n" : "Hola,\n\nl'administrador ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nSi us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"antiga contrasenya d'inici de sessió\" i la vostra contrasenya d'inici de sessió actual.\n\n",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hola,<br><br>l'administrador ha activat el xifratge en el servidor. Els vostres fitxers s'han encriptat fent servir la contrasenya <strong>%s</strong>. <br><br>Si us plau, inicieu la sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la contrasenya de xifrat introduint-hi aquesta contrasenya al camp \"antiga contrasenya d’inici de sessió\" i la vostra contrasenya actual.<br><br>"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/encryption/l10n/ca.json b/apps/encryption/l10n/ca.json
index 3dbfae6103e..db9db76f8f6 100644
--- a/apps/encryption/l10n/ca.json
+++ b/apps/encryption/l10n/ca.json
@@ -2,44 +2,44 @@
"Missing recovery key password" : "Falta la clau de recuperació de contrasenya",
"Please repeat the recovery key password" : "Si us plau, repetiu la clau de recuperació de contrasenya",
"Repeated recovery key password does not match the provided recovery key password" : "La contrasenya de la clau de recuperació repetida no coincideix amb la contrasenya de clau de recuperació proporcionada",
- "Recovery key successfully enabled" : "La clau de recuperació s'ha activat",
- "Could not enable recovery key. Please check your recovery key password!" : "No s'ha pogut activar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!",
- "Recovery key successfully disabled" : "La clau de recuperació s'ha descativat",
- "Could not disable recovery key. Please check your recovery key password!" : "No s'ha pogut desactivar la clau de recuperació. Comproveu la contrasenya de la clau de recuperació!",
+ "Recovery key successfully enabled" : "La clau de recuperació s'ha habilitat",
+ "Could not enable recovery key. Please check your recovery key password!" : "No s'ha pogut habilitar la clau de recuperació. Comproveu contrasenya de la clau de recuperació!",
+ "Recovery key successfully disabled" : "La clau de recuperació s'ha inhabilitat",
+ "Could not disable recovery key. Please check your recovery key password!" : "No s'ha pogut inhabilitar la clau de recuperació. Comproveu la contrasenya de la clau de recuperació!",
"Missing parameters" : "Falten paràmetres",
"Please provide the old recovery password" : "Si us plau, proporcioneu la contrasenya de recuperació antiga",
"Please provide a new recovery password" : "Si us plau, proporcioneu una nova contrasenya de recuperació",
"Please repeat the new recovery password" : "Si us plau, repetiu la nova contrasenya de recuperació",
"Password successfully changed." : "La contrasenya s'ha canviat.",
"Could not change the password. Maybe the old password was not correct." : "No s'ha pogut canviar la contrasenya. Potser la contrasenya anterior no era correcta.",
- "Recovery Key disabled" : "Clau de recuperació desactivada",
- "Recovery Key enabled" : "Clau de recuperació activada",
- "Could not enable the recovery key, please try again or contact your administrator" : "No es pot activar la clau de recuperació, torneu-ho a intentar o poseu-vos en contacte amb l'administrador",
+ "Recovery Key disabled" : "Clau de recuperació inhabilitada",
+ "Recovery Key enabled" : "Clau de recuperació habilitada",
+ "Could not enable the recovery key, please try again or contact your administrator" : "No es pot habilitar la clau de recuperació, torneu-ho a provar o poseu-vos en contacte amb l'administrador",
"Could not update the private key password." : "No s'ha pogut actualitzar la contrasenya de la clau privada.",
"The old password was not correct, please try again." : "La contrasenya antiga no és correcta, si us plau torneu-ho a provar.",
"The current log-in password was not correct, please try again." : "La contrasenya d'inici de sessió actual no era correcta, si us plau torneu-ho a provar.",
"Private key password successfully updated." : "La contrasenya de la clau privada s'ha actualitzat.",
- "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clau privada no és vàlida per a l'aplicació de xifrat. Si us plau, actualitzeu la contrasenya de la clau privada a la vostra configuració personal per recuperar l'accés als vostres fitxers xifrats.",
- "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "L'aplicació de xifrat està activada, però les vostres claus no s'han inicialitzat. Si us plau, tanqueu la sessió i torneu a iniciar la sessió.",
- "Please enable server side encryption in the admin settings in order to use the encryption module." : "Si us plau, activeu el xifratge del servidor a la configuració de l'administrador per poder fer servir el mòdul de xifratge.",
- "Encryption app is enabled and ready" : "L'aplicació de xifratge està activada i preparada",
+ "Invalid private key for encryption app. Please update your private key password in your personal settings to recover access to your encrypted files." : "Clau privada no és vàlida per a l'aplicació de xifratge. Si us plau, actualitzeu la contrasenya de la clau privada als vostrses paràmetres personalz per recuperar l'accés als vostres fitxers xifrats.",
+ "Encryption App is enabled, but your keys are not initialized. Please log-out and log-in again." : "L'aplicació de xifratge està habilitada, però les vostres claus no s'han inicialitzat. Si us plau, tanqueu la sessió i torneu a iniciar la sessió.",
+ "Please enable server side encryption in the admin settings in order to use the encryption module." : "Si us plau, activeu el xifratge del servidor als paràmetres de l'administrador per poder fer servir el mòdul de xifratge.",
+ "Encryption app is enabled and ready" : "L'aplicació de xifratge està habilitada i preparada",
"Bad Signature" : "Signatura incorrecta",
"Missing Signature" : "Falta Signatura",
- "one-time password for server-side-encryption" : "contrasenya única per al xifrat de la banda del servidor",
+ "one-time password for server-side-encryption" : "contrasenya única per al xifratge en el servidor",
"Cannot decrypt this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es pot desxifrar aquest fitxer, probablement és un fitxer compartit. Demaneu al propietari del fitxer que torni a compartir el fitxer amb vosaltres.",
"Cannot read this file, probably this is a shared file. Please ask the file owner to reshare the file with you." : "No es pot llegir aquest fitxer, probablement aquest sigui un fitxer compartit. Demana al propietari del fitxer que torni a compartir el fitxer amb tu.",
- "Default encryption module" : "Mòdul de xifrat per defecte",
+ "Default encryption module" : "Mòdul de xifratge per defecte",
"Default encryption module for server-side encryption" : "Mòdul criptogràfic per defecte per a xifratge de servidor",
- "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Per fer servir aquest mòdul criptogràfic s’ha de permetre encriptació\n\t\tal servidor a la configuració de l'administrador. Un cop activat, aquest mòdul xifrarà\n\t\ttots els vostres fitxers de forma transparent. L'encriptació està basada en claus de AES 256.\n\t\tEl mòdul no tocarà fitxers existents, només s'encriptaran els nous un cop s'hagi activat\n\t\tl'encriptació des del servidor. Tampoc no és possible desactivar\n\t\tl'encriptació i tornar a un sistema sense encriptació.\n\t\tSi us plau llegiu la documentació per saber totes les implicacions abans de decidir\n\t\tactivar l’encriptació des del servidor.",
- "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Hola,\n\nL'administració ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nInicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.\n\n",
- "The share will expire on %s." : "La compartició venç el %s.",
+ "In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Per fer servir aquest mòdul criptogràfic s’ha de habilitar xifratge en el servidor\n\t\tals paràmetres de l'administrador. Un cop habilitat, aquest mòdul xifrarà\n\t\ttots els vostres fitxers de forma transparent. El xifratge està basada en claus de AES 256.\n\t\tEl mòdul no tocarà fitxers existents, només es xifraràn els nous un cop s'hagi activat\n\t\tel xifratge en el servidor. Tampoc no és possible inhabilitar\n\t\tel xifratge i tornar a un sistema no xifrat.\n\t\tSi us plau llegiu la documentació per saber totes les implicacions abans de decidir\n\t\tactivar el xifratge en el servidor.",
+ "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Hola,\n\nL'administració ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nInicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.\n\n",
+ "The share will expire on %s." : "La compartició caduca el %s.",
"Cheers!" : "Salut!",
- "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Hola,<br><br> L'administració ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya <strong>%s</strong>.<br><br>Si us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.<br><br>",
- "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació d'encriptació està activada però les claus no estan inicialitzades, tanqueu la sessió i inicieu-ne una de nova.",
+ "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Hola,<br><br> L'administració ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya <strong>%s</strong>.<br><br>Si us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"Contrasenya d'inici de sessió antiga\" i la vostra contrasenya d'inici de sessió actual.<br><br>",
+ "Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'aplicació de xifratge està activada però les claus no estan inicialitzades, tanqueu la sessió i inicieu-ne una de nova.",
"Encrypt the home storage" : "Xifra l'emmagatzematge de casa",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "Si activeu aquesta opció, es xifraran tots els fitxers emmagatzemats a l’emmagatzematge principal; en cas contrari, només es xifraran els fitxers d’emmagatzematge extern",
"Enable recovery key" : "Habilita la clau de recuperació",
- "Disable recovery key" : "Desactiva la clau de recuperació",
+ "Disable recovery key" : "Inhabilita la clau de recuperació",
"The recovery key is an extra encryption key that is used to encrypt files. It allows recovery of a user's files if the user forgets his or her password." : "La clau de recuperació és una clau de xifratge addicional que s'utilitza per xifrar fitxers. Permet la recuperació dels fitxers d'un usuari si l'usuari oblida de la seva contrasenya.",
"Recovery key password" : "Clau de recuperació de la contrasenya",
"Repeat recovery key password" : "Repetiu la contrasenya de la clau de recuperació",
@@ -48,18 +48,18 @@
"New recovery key password" : "Nova contrasenya de clau de recuperació",
"Repeat new recovery key password" : "Repetiu la contrasenya de la clau de recuperació nova",
"Change Password" : "Canvia la contrasenya",
- "Basic encryption module" : "Mòdul bàsic d'encriptació",
- "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'accés:",
+ "Basic encryption module" : "Mòdul de xifratge bàsic",
+ "Your private key password no longer matches your log-in password." : "La clau privada ja no es correspon amb la contrasenya d'inici de sessió:",
"Set your old private key password to your current log-in password:" : "Establiu la vostra antiga clau privada a l'actual contrasenya d'accés:",
" If you don't remember your old password you can ask your administrator to recover your files." : "Si no recordeu la contrasenya anterior podeu demanar a l'administrador que recuperi els vostres fitxers.",
"Old log-in password" : "Contrasenya antiga d’inici de sessió",
"Current log-in password" : "Contrasenya actual d’inici de sessió",
"Update Private Key Password" : "Actualitza la contrasenya de clau privada",
- "Enable password recovery:" : "Activa la recuperació de contrasenya:",
+ "Enable password recovery:" : "Habilita la recuperació de contrasenya:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Si activeu aquesta opció, podreu accedir als vostres fitxers encriptats en cas de pèrdua de contrasenya",
"Enabled" : "Habilitat",
"Disabled" : "Inhabilitat",
- "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.\n\n" : "Hola,\n\nl'administrador ha habilitat el xifratge del costat del servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nSi us plau, inicieu sessió a la interfície web, aneu a la secció \"mòdul de xifratge bàsic\" de la vostra configuració personal i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"antiga contrasenya d'inici de sessió\" i la vostra contrasenya d'inici de sessió actual.\n\n",
- "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hola,<br><br>l'administrador ha activat l'encriptació des del servidor. Els vostres fitxers s'han encriptat fent servir la contrasenya <strong>%s</strong>. <br><br>Si us plau, inicieu la sessió a la interfície web, aneu a la secció \"mòdul bàsic d’encriptació\" de la vostra configuració personal i actualitzeu la contrasenya de xifrat introduint-hi aquesta contrasenya al camp \"antiga contrasenya d’inici de sessió\" i la vostra contrasenya actual.<br><br>"
+ "Hey there,\n\nthe admin enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.\n\n" : "Hola,\n\nl'administrador ha habilitat el xifratge en el servidor. Els vostres fitxers s'han xifrat amb la contrasenya \"%s\".\n\nSi us plau, inicieu sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la vostra contrasenya de xifratge introduint aquesta contrasenya al camp \"antiga contrasenya d'inici de sessió\" i la vostra contrasenya d'inici de sessió actual.\n\n",
+ "Hey there,<br><br>the admin enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"old log-in password\" field and your current login-password.<br><br>" : "Hola,<br><br>l'administrador ha activat el xifratge en el servidor. Els vostres fitxers s'han encriptat fent servir la contrasenya <strong>%s</strong>. <br><br>Si us plau, inicieu la sessió a la interfície web, aneu a la secció \"Mòdul de xifratge bàsic\" dels vostres paràmetres personals i actualitzeu la contrasenya de xifrat introduint-hi aquesta contrasenya al camp \"antiga contrasenya d’inici de sessió\" i la vostra contrasenya actual.<br><br>"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/encryption/l10n/da.js b/apps/encryption/l10n/da.js
index d927dbc6880..57aed626a38 100644
--- a/apps/encryption/l10n/da.js
+++ b/apps/encryption/l10n/da.js
@@ -54,8 +54,8 @@ OC.L10N.register(
"Your private key password no longer matches your log-in password." : "Dit private nøglekodeord stemmer ikke længere overens med dit login-kodeord.",
"Set your old private key password to your current log-in password:" : "Sæt dit gamle, private nøglekodeord til at være dit nuværende login-kodeord. ",
" If you don't remember your old password you can ask your administrator to recover your files." : "Hvis du ikke kan huske dit gamle kodeord kan du bede din administrator om at gendanne dine filer.",
- "Old log-in password" : "Gammelt login kodeord",
- "Current log-in password" : "Nuvrende login kodeord",
+ "Old log-in password" : "Gammel adgangskode",
+ "Current log-in password" : "Nuværende adgangskode",
"Update Private Key Password" : "Opdater Privat Nøgle Kodeord",
"Enable password recovery:" : "Aktiver kodeord gendannelse:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aktivering af denne valgmulighed tillader dig at generhverve adgang til dine krypterede filer i tilfælde af tab af kodeord",
diff --git a/apps/encryption/l10n/da.json b/apps/encryption/l10n/da.json
index fdbf1b4f365..6da5b786a24 100644
--- a/apps/encryption/l10n/da.json
+++ b/apps/encryption/l10n/da.json
@@ -52,8 +52,8 @@
"Your private key password no longer matches your log-in password." : "Dit private nøglekodeord stemmer ikke længere overens med dit login-kodeord.",
"Set your old private key password to your current log-in password:" : "Sæt dit gamle, private nøglekodeord til at være dit nuværende login-kodeord. ",
" If you don't remember your old password you can ask your administrator to recover your files." : "Hvis du ikke kan huske dit gamle kodeord kan du bede din administrator om at gendanne dine filer.",
- "Old log-in password" : "Gammelt login kodeord",
- "Current log-in password" : "Nuvrende login kodeord",
+ "Old log-in password" : "Gammel adgangskode",
+ "Current log-in password" : "Nuværende adgangskode",
"Update Private Key Password" : "Opdater Privat Nøgle Kodeord",
"Enable password recovery:" : "Aktiver kodeord gendannelse:",
"Enabling this option will allow you to reobtain access to your encrypted files in case of password loss" : "Aktivering af denne valgmulighed tillader dig at generhverve adgang til dine krypterede filer i tilfælde af tab af kodeord",
diff --git a/apps/encryption/l10n/fr.js b/apps/encryption/l10n/fr.js
index e6f0bf3807f..fa7490f9c37 100644
--- a/apps/encryption/l10n/fr.js
+++ b/apps/encryption/l10n/fr.js
@@ -33,8 +33,10 @@ OC.L10N.register(
"Default encryption module" : "Module de chiffrement par défaut",
"Default encryption module for server-side encryption" : "Module de chiffrement par défaut pour le chiffrement côté serveur",
"In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Pour utiliser ce module de chiffrement, vous devez activer le chiffrement côté serveur dans les paramètres d'administration. Une fois activé, ce module chiffrera tous vos fichiers de manière transparente. Le chiffrement est basé sur des clés AES 256 bits.\nLe module ne touchera pas les fichiers existants, seuls les nouveaux fichiers seront chiffrés. Une fois le chiffrement côté serveur activé, il n'est pas possible de désactiver le chiffrement et de revenir à un système non chiffré.\n\t\tVeuillez lire la documentation pour connaître toutes les implications avant de vous décider à activer le chiffrement côté serveur.",
+ "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Bonjour,\n\nL'administration a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe \"%s\".\n\nVeuillez vous connecter à l'interface web, vous rendre à la section \"Module de chiffrement de base\" de vos paramètres personnels et mettre à jour votre mot de passe de chiffrement en insérant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" ainsi que votre mot de passe actuel.\n\n",
"The share will expire on %s." : "Le partage expirera le %s.",
"Cheers!" : "À bientôt !",
+ "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Hé là, <br><br>L'administration a activé le chiffrement côté serveur. Vos fichiers ont été cryptés avec le mot de passe <strong>%s</strong>.<br><br>Veuillez-vous connecter à l'interface Web, vous rendre à la section \"Module de chiffrement de base\" de vos paramètres personnels et mettre à jour votre mot de passe en entrant celui fournit ci-dessus dans le champ \"Ancien mot de passe de connexion\", ainsi que votre mot de passe actuel.<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.",
"Encrypt the home storage" : "Chiffrer l'espace de stockage principal",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'activation de cette option chiffre tous les fichiers du stockage principal, sinon seuls les espaces de stockage externes seront chiffrés",
diff --git a/apps/encryption/l10n/fr.json b/apps/encryption/l10n/fr.json
index f9d2571caba..8ad7697a3a2 100644
--- a/apps/encryption/l10n/fr.json
+++ b/apps/encryption/l10n/fr.json
@@ -31,8 +31,10 @@
"Default encryption module" : "Module de chiffrement par défaut",
"Default encryption module for server-side encryption" : "Module de chiffrement par défaut pour le chiffrement côté serveur",
"In order to use this encryption module you need to enable server-side\n\t\tencryption in the admin settings. Once enabled this module will encrypt\n\t\tall your files transparently. The encryption is based on AES 256 keys.\n\t\tThe module won't touch existing files, only new files will be encrypted\n\t\tafter server-side encryption was enabled. It is also not possible to\n\t\tdisable the encryption again and switch back to a unencrypted system.\n\t\tPlease read the documentation to know all implications before you decide\n\t\tto enable server-side encryption." : "Pour utiliser ce module de chiffrement, vous devez activer le chiffrement côté serveur dans les paramètres d'administration. Une fois activé, ce module chiffrera tous vos fichiers de manière transparente. Le chiffrement est basé sur des clés AES 256 bits.\nLe module ne touchera pas les fichiers existants, seuls les nouveaux fichiers seront chiffrés. Une fois le chiffrement côté serveur activé, il n'est pas possible de désactiver le chiffrement et de revenir à un système non chiffré.\n\t\tVeuillez lire la documentation pour connaître toutes les implications avant de vous décider à activer le chiffrement côté serveur.",
+ "Hey there,\n\nThe administration enabled server-side-encryption. Your files were encrypted using the password \"%s\".\n\nPlease login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.\n\n" : "Bonjour,\n\nL'administration a activé le chiffrement côté serveur. Vos fichiers ont été chiffrés avec le mot de passe \"%s\".\n\nVeuillez vous connecter à l'interface web, vous rendre à la section \"Module de chiffrement de base\" de vos paramètres personnels et mettre à jour votre mot de passe de chiffrement en insérant ce mot de passe dans le champ \"Ancien mot de passe de connexion\" ainsi que votre mot de passe actuel.\n\n",
"The share will expire on %s." : "Le partage expirera le %s.",
"Cheers!" : "À bientôt !",
+ "Hey there,<br><br>The administration enabled server-side-encryption. Your files were encrypted using the password <strong>%s</strong>.<br><br>Please login to the web interface, go to the section \"Basic encryption module\" of your personal settings and update your encryption password by entering this password into the \"Old log-in password\" field and your current login-password.<br><br>" : "Hé là, <br><br>L'administration a activé le chiffrement côté serveur. Vos fichiers ont été cryptés avec le mot de passe <strong>%s</strong>.<br><br>Veuillez-vous connecter à l'interface Web, vous rendre à la section \"Module de chiffrement de base\" de vos paramètres personnels et mettre à jour votre mot de passe en entrant celui fournit ci-dessus dans le champ \"Ancien mot de passe de connexion\", ainsi que votre mot de passe actuel.<br><br>",
"Encryption app is enabled but your keys are not initialized, please log-out and log-in again" : "L'application de chiffrement est activée mais vos clefs ne sont pas initialisées. Veuillez vous déconnecter et ensuite vous reconnecter.",
"Encrypt the home storage" : "Chiffrer l'espace de stockage principal",
"Enabling this option encrypts all files stored on the main storage, otherwise only files on external storage will be encrypted" : "L'activation de cette option chiffre tous les fichiers du stockage principal, sinon seuls les espaces de stockage externes seront chiffrés",
diff --git a/apps/encryption/lib/Command/FixEncryptedVersion.php b/apps/encryption/lib/Command/FixEncryptedVersion.php
index d4c5eddbfe5..925dc3dd805 100644
--- a/apps/encryption/lib/Command/FixEncryptedVersion.php
+++ b/apps/encryption/lib/Command/FixEncryptedVersion.php
@@ -29,10 +29,12 @@ use OCP\Files\IRootFolder;
use OCP\HintException;
use OCP\IConfig;
use OCP\ILogger;
+use OCP\IUser;
use OCP\IUserManager;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
class FixEncryptedVersion extends Command {
@@ -84,18 +86,23 @@ class FixEncryptedVersion extends Command {
->setDescription('Fix the encrypted version if the encrypted file(s) are not downloadable.')
->addArgument(
'user',
- InputArgument::REQUIRED,
+ InputArgument::OPTIONAL,
'The id of the user whose files need fixing'
)->addOption(
'path',
'p',
- InputArgument::OPTIONAL,
+ InputOption::VALUE_REQUIRED,
'Limit files to fix with path, e.g., --path="/Music/Artist". If path indicates a directory, all the files inside directory will be fixed.'
+ )->addOption(
+ 'all',
+ null,
+ InputOption::VALUE_NONE,
+ 'Run the fix for all users on the system, mutually exclusive with specifying a user id.'
);
}
protected function execute(InputInterface $input, OutputInterface $output): int {
- $skipSignatureCheck = $this->config->getSystemValue('encryption_skip_signature_check', false);
+ $skipSignatureCheck = $this->config->getSystemValueBool('encryption_skip_signature_check', false);
$this->supportLegacy = $this->config->getSystemValueBool('encryption.legacy_format_support', false);
if ($skipSignatureCheck) {
@@ -108,22 +115,40 @@ class FixEncryptedVersion extends Command {
return 1;
}
- $user = (string)$input->getArgument('user');
- $pathToWalk = "/$user/files";
-
+ $user = $input->getArgument('user');
+ $all = $input->getOption('all');
$pathOption = \trim(($input->getOption('path') ?? ''), '/');
- if ($pathOption !== "") {
- $pathToWalk = "$pathToWalk/$pathOption";
- }
- if ($user === '') {
- $output->writeln("<error>No user id provided.</error>\n");
+ if ($user) {
+ if ($all) {
+ $output->writeln("Specifying a user id and --all are mutually exclusive");
+ return 1;
+ }
+
+ if ($this->userManager->get($user) === null) {
+ $output->writeln("<error>User id $user does not exist. Please provide a valid user id</error>");
+ return 1;
+ }
+
+ return $this->runForUser($user, $pathOption, $output);
+ } elseif ($all) {
+ $result = 0;
+ $this->userManager->callForSeenUsers(function(IUser $user) use ($pathOption, $output, &$result) {
+ $output->writeln("Processing files for " . $user->getUID());
+ $result = $this->runForUser($user->getUID(), $pathOption, $output);
+ return $result === 0;
+ });
+ return $result;
+ } else {
+ $output->writeln("Either a user id or --all needs to be provided");
return 1;
}
+ }
- if ($this->userManager->get($user) === null) {
- $output->writeln("<error>User id $user does not exist. Please provide a valid user id</error>");
- return 1;
+ private function runForUser(string $user, string $pathOption, OutputInterface $output): int {
+ $pathToWalk = "/$user/files";
+ if ($pathOption !== "") {
+ $pathToWalk = "$pathToWalk/$pathOption";
}
return $this->walkPathOfUser($user, $pathToWalk, $output);
}
@@ -174,6 +199,11 @@ class FixEncryptedVersion extends Command {
*/
$handle = $this->view->fopen($path, 'rb');
+ if ($handle === false) {
+ $output->writeln("<warning>Failed to open file: \"$path\" skipping</warning>");
+ return true;
+ }
+
if (\fread($handle, 9001) !== false) {
$fileInfo = $this->view->getFileInfo($path);
if (!$fileInfo) {
diff --git a/apps/encryption/lib/Command/FixKeyLocation.php b/apps/encryption/lib/Command/FixKeyLocation.php
new file mode 100644
index 00000000000..5339247ae19
--- /dev/null
+++ b/apps/encryption/lib/Command/FixKeyLocation.php
@@ -0,0 +1,186 @@
+<?php
+
+declare(strict_types=1);
+/**
+ * @copyright Copyright (c) 2022 Robin Appelman <robin@icewind.nl>
+ *
+ * @license GNU AGPL version 3 or any later version
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+namespace OCA\Encryption\Command;
+
+use OC\Encryption\Util;
+use OC\Files\View;
+use OCP\Files\Config\ICachedMountInfo;
+use OCP\Files\Config\IUserMountCache;
+use OCP\Files\Folder;
+use OCP\Files\File;
+use OCP\Files\IRootFolder;
+use OCP\Files\Node;
+use OCP\IUser;
+use OCP\IUserManager;
+use Symfony\Component\Console\Command\Command;
+use Symfony\Component\Console\Input\InputArgument;
+use Symfony\Component\Console\Input\InputInterface;
+use Symfony\Component\Console\Input\InputOption;
+use Symfony\Component\Console\Output\OutputInterface;
+
+class FixKeyLocation extends Command {
+ private IUserManager $userManager;
+ private IUserMountCache $userMountCache;
+ private Util $encryptionUtil;
+ private IRootFolder $rootFolder;
+ private string $keyRootDirectory;
+ private View $rootView;
+
+ public function __construct(IUserManager $userManager, IUserMountCache $userMountCache, Util $encryptionUtil, IRootFolder $rootFolder) {
+ $this->userManager = $userManager;
+ $this->userMountCache = $userMountCache;
+ $this->encryptionUtil = $encryptionUtil;
+ $this->rootFolder = $rootFolder;
+ $this->keyRootDirectory = rtrim($this->encryptionUtil->getKeyStorageRoot(), '/');
+ $this->rootView = new View();
+
+ parent::__construct();
+ }
+
+
+ protected function configure(): void {
+ parent::configure();
+
+ $this
+ ->setName('encryption:fix-key-location')
+ ->setDescription('Fix the location of encryption keys for external storage')
+ ->addOption('dry-run', null, InputOption::VALUE_NONE, "Only list files that require key migration, don't try to perform any migration")
+ ->addArgument('user', InputArgument::REQUIRED, "User id to fix the key locations for");
+ }
+
+ protected function execute(InputInterface $input, OutputInterface $output): int {
+ $dryRun = $input->getOption('dry-run');
+ $userId = $input->getArgument('user');
+ $user = $this->userManager->get($userId);
+ if (!$user) {
+ $output->writeln("<error>User $userId not found</error>");
+ return 1;
+ }
+
+ \OC_Util::setupFS($user->getUID());
+
+ $mounts = $this->getSystemMountsForUser($user);
+ foreach ($mounts as $mount) {
+ $mountRootFolder = $this->rootFolder->get($mount->getMountPoint());
+ if (!$mountRootFolder instanceof Folder) {
+ $output->writeln("<error>System wide mount point is not a directory, skipping: " . $mount->getMountPoint() . "</error>");
+ continue;
+ }
+
+ $files = $this->getAllFiles($mountRootFolder);
+ foreach ($files as $file) {
+ if ($this->isKeyStoredForUser($user, $file)) {
+ if ($dryRun) {
+ $output->writeln("<info>" . $file->getPath() . "</info> needs migration");
+ } else {
+ $output->write("Migrating key for <info>" . $file->getPath() . "</info> ");
+ if ($this->copyKeyAndValidate($user, $file)) {
+ $output->writeln("<info>✓</info>");
+ } else {
+ $output->writeln("<fg=red>❌</>");
+ $output->writeln(" Failed to validate key for <error>" . $file->getPath() . "</error>, key will not be migrated");
+ }
+ }
+ }
+ }
+ }
+
+ return 0;
+ }
+
+ /**
+ * @param IUser $user
+ * @return ICachedMountInfo[]
+ */
+ private function getSystemMountsForUser(IUser $user): array {
+ return array_filter($this->userMountCache->getMountsForUser($user), function(ICachedMountInfo $mount) use ($user) {
+ $mountPoint = substr($mount->getMountPoint(), strlen($user->getUID() . '/'));
+ return $this->encryptionUtil->isSystemWideMountPoint($mountPoint, $user->getUID());
+ });
+ }
+
+ /**
+ * @param Folder $folder
+ * @return \Generator<File>
+ */
+ private function getAllFiles(Folder $folder) {
+ foreach ($folder->getDirectoryListing() as $child) {
+ if ($child instanceof Folder) {
+ yield from $this->getAllFiles($child);
+ } else {
+ yield $child;
+ }
+ }
+ }
+
+ /**
+ * Check if the key for a file is stored in the user's keystore and not the system one
+ *
+ * @param IUser $user
+ * @param Node $node
+ * @return bool
+ */
+ private function isKeyStoredForUser(IUser $user, Node $node): bool {
+ $path = trim(substr($node->getPath(), strlen($user->getUID()) + 1), '/');
+ $systemKeyPath = $this->keyRootDirectory . '/files_encryption/keys/' . $path . '/';
+ $userKeyPath = $this->keyRootDirectory . '/' . $user->getUID() . '/files_encryption/keys/' . $path . '/';
+
+ // this uses View instead of the RootFolder because the keys might not be in the cache
+ $systemKeyExists = $this->rootView->file_exists($systemKeyPath);
+ $userKeyExists = $this->rootView->file_exists($userKeyPath);
+ return $userKeyExists && !$systemKeyExists;
+ }
+
+ /**
+ * Check that the user key stored for a file can decrypt the file
+ *
+ * @param IUser $user
+ * @param File $node
+ * @return bool
+ */
+ private function copyKeyAndValidate(IUser $user, File $node): bool {
+ $path = trim(substr($node->getPath(), strlen($user->getUID()) + 1), '/');
+ $systemKeyPath = $this->keyRootDirectory . '/files_encryption/keys/' . $path . '/';
+ $userKeyPath = $this->keyRootDirectory . '/' . $user->getUID() . '/files_encryption/keys/' . $path . '/';
+
+ $this->rootView->copy($userKeyPath, $systemKeyPath);
+ try {
+ // check that the copied key is valid
+ $fh = $node->fopen('r');
+ // read a single chunk
+ $data = fread($fh, 8192);
+ if ($data === false) {
+ throw new \Exception("Read failed");
+ }
+
+ // cleanup wrong key location
+ $this->rootView->rmdir($userKeyPath);
+ return true;
+ } catch (\Exception $e) {
+ // remove the copied key if we know it's invalid
+ $this->rootView->rmdir($systemKeyPath);
+ return false;
+ }
+ }
+}
diff --git a/apps/encryption/lib/Crypto/Crypt.php b/apps/encryption/lib/Crypto/Crypt.php
index f8ba3d69b80..7429c613b52 100644
--- a/apps/encryption/lib/Crypto/Crypt.php
+++ b/apps/encryption/lib/Crypto/Crypt.php
@@ -275,7 +275,7 @@ class Crypt {
}
// Get cipher either from config.php or the default cipher defined in this class
- $cipher = $this->config->getSystemValue('cipher', self::DEFAULT_CIPHER);
+ $cipher = $this->config->getSystemValueString('cipher', self::DEFAULT_CIPHER);
if (!isset(self::SUPPORTED_CIPHERS_AND_KEY_SIZE[$cipher])) {
$this->logger->warning(
sprintf(
@@ -524,7 +524,7 @@ class Crypt {
* @throws GenericEncryptionException
*/
private function checkSignature($data, $passPhrase, $expectedSignature) {
- $enforceSignature = !$this->config->getSystemValue('encryption_skip_signature_check', false);
+ $enforceSignature = !$this->config->getSystemValueBool('encryption_skip_signature_check', false);
$signature = $this->createSignature($data, $passPhrase);
$isCorrectHash = hash_equals($expectedSignature, $signature);
@@ -605,7 +605,7 @@ class Crypt {
* @throws GenericEncryptionException
*/
private function hasSignature($catFile, $cipher) {
- $skipSignatureCheck = $this->config->getSystemValue('encryption_skip_signature_check', false);
+ $skipSignatureCheck = $this->config->getSystemValueBool('encryption_skip_signature_check', false);
$meta = substr($catFile, -93);
$signaturePosition = strpos($meta, '00sig00');
diff --git a/apps/encryption/tests/Command/FixEncryptedVersionTest.php b/apps/encryption/tests/Command/FixEncryptedVersionTest.php
index ee9ad1ac89f..5c938b4350d 100644
--- a/apps/encryption/tests/Command/FixEncryptedVersionTest.php
+++ b/apps/encryption/tests/Command/FixEncryptedVersionTest.php
@@ -344,7 +344,7 @@ The file \"/$this->userId/files/sub/hello.txt\" is: OK", $output);
$output = $this->commandTester->getDisplay();
- $this->assertStringContainsString('No user id provided', $output);
+ $this->assertStringContainsString('Either a user id or --all needs to be provided', $output);
}
public function testExecuteWithBadUser() {
diff --git a/apps/encryption/tests/Crypto/CryptTest.php b/apps/encryption/tests/Crypto/CryptTest.php
index ef4e46085a4..08d0bba2668 100644
--- a/apps/encryption/tests/Crypto/CryptTest.php
+++ b/apps/encryption/tests/Crypto/CryptTest.php
@@ -111,7 +111,7 @@ class CryptTest extends TestCase {
*/
public function testGenerateHeader($keyFormat, $expected) {
$this->config->expects($this->once())
- ->method('getSystemValue')
+ ->method('getSystemValueString')
->with($this->equalTo('cipher'), $this->equalTo('AES-256-CTR'))
->willReturn('AES-128-CFB');
@@ -147,7 +147,7 @@ class CryptTest extends TestCase {
public function testGetCipherWithInvalidCipher() {
$this->config->expects($this->once())
- ->method('getSystemValue')
+ ->method('getSystemValueString')
->with($this->equalTo('cipher'), $this->equalTo('AES-256-CTR'))
->willReturn('Not-Existing-Cipher');
$this->logger
@@ -165,7 +165,7 @@ class CryptTest extends TestCase {
*/
public function testGetCipher($configValue, $expected) {
$this->config->expects($this->once())
- ->method('getSystemValue')
+ ->method('getSystemValueString')
->with($this->equalTo('cipher'), $this->equalTo('AES-256-CTR'))
->willReturn($configValue);
@@ -208,7 +208,7 @@ class CryptTest extends TestCase {
* @dataProvider dataTestSplitMetaData
*/
public function testSplitMetaData($data, $expected) {
- $this->config->method('getSystemValue')
+ $this->config->method('getSystemValueBool')
->with('encryption_skip_signature_check', false)
->willReturn(true);
$result = self::invokePrivate($this->crypt, 'splitMetaData', [$data, 'AES-256-CFB']);
@@ -235,7 +235,7 @@ class CryptTest extends TestCase {
* @dataProvider dataTestHasSignature
*/
public function testHasSignature($data, $expected) {
- $this->config->method('getSystemValue')
+ $this->config->method('getSystemValueBool')
->with('encryption_skip_signature_check', false)
->willReturn(true);
$this->assertSame($expected,
diff --git a/apps/federatedfilesharing/composer/autoload.php b/apps/federatedfilesharing/composer/autoload.php
index e839dd1bcdd..75484890289 100644
--- a/apps/federatedfilesharing/composer/autoload.php
+++ b/apps/federatedfilesharing/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/federatedfilesharing/composer/composer/installed.php b/apps/federatedfilesharing/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/federatedfilesharing/composer/composer/installed.php
+++ b/apps/federatedfilesharing/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/federatedfilesharing/l10n/ca.js b/apps/federatedfilesharing/l10n/ca.js
index 71b35e06b34..506a0a42f86 100644
--- a/apps/federatedfilesharing/l10n/ca.js
+++ b/apps/federatedfilesharing/l10n/ca.js
@@ -6,10 +6,10 @@ OC.L10N.register(
"Remote share password" : "Contrasenya de compartició remota",
"Cancel" : "Cancel·la",
"Add remote share" : "Afegeix compartició remota",
- "Invalid Federated Cloud ID" : "ID de núvol federat no vàlid",
- "Server to server sharing is not enabled on this server" : "La compartició entre servidors no està activada en aquest servidor",
- "Couldn't establish a federated share." : "No s'ha pogut establir una part federada.",
- "Couldn't establish a federated share, maybe the password was wrong." : "No s'ha pogut establir una acció compartida federada, potser la contrasenya era incorrecta.",
+ "Invalid Federated Cloud ID" : "ID del núvol federat no vàlid",
+ "Server to server sharing is not enabled on this server" : "La compartició entre servidors no està habilitada en aquest servidor",
+ "Couldn't establish a federated share." : "No s'ha pogut establir una compartició federada.",
+ "Couldn't establish a federated share, maybe the password was wrong." : "No s'ha pogut establir un element compartit federat, potser la contrasenya era incorrecta.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "S'ha enviat la sol·licitud de participació federada, rebreu una invitació. Comproveu les vostres notificacions.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No s’ha pogut establir una acció compartida federada, sembla que el servidor amb el qual s’ha federat és massa antic (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "No es permet enviar de grups de compartits federats des d'aquest servidor.",
@@ -21,14 +21,14 @@ OC.L10N.register(
"Could not find share" : "No s'ha pogut trobar la compartició",
"Federated sharing" : "Compartició federada",
"You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "Has rebut \"%3$s\" com a compartició remota de %4$s (%1$s) (en nom de %5$s (%2$s))",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Heu rebut {share} com un recompte remot de {user} (en nom de {nom})",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Heu rebut {share} com a una compartició remota de {user} (en nom de {nom})",
"You received \"%3$s\" as a remote share from %4$s (%1$s)" : "Heu rebut \"%3$s\" com a compartició remota de %4$s (%1$s)",
"You received {share} as a remote share from {user}" : "Heu rebut {share} com a recompte remot de {user}",
"Accept" : "Accepta",
- "Decline" : "Denega",
- "Federated Cloud Sharing" : "Compartició federada de núvol",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartiu amb mi a través de la meva #Nextcloud Federated Cloud ID, vegeu%s",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartiu amb mi a través de la meva #Nextcloud Federated Cloud ID",
+ "Decline" : "Declina",
+ "Federated Cloud Sharing" : "Compartició de núvol federat",
+ "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartiu amb mi a través de la meva ID del núvol federat #Nextcloud, vegeu%s",
+ "Share with me through my #Nextcloud Federated Cloud ID" : "Compartiu amb mi a través de la meva ID del núvol federat #Nextcloud",
"Sharing" : "Comparteix",
"Federated file sharing" : "Compartició federada de fitxers",
"Provide federated file sharing across servers" : "Proporcioneu compartició de fitxers federats entre servidors",
@@ -39,15 +39,21 @@ OC.L10N.register(
"Allow users on this server to receive group shares from other servers" : "Permet als usuaris d'aquest servidor rebre comparticions a grups d'altres servidors",
"Search global and public address book for users" : "Cerca llibreta d'adreces global i pública per als usuaris",
"Allow users to publish their data to a global and public address book" : "Permet als usuaris publicar les seves dades en una llibreta d'adreces global i pública",
+ "Unable to update federated files sharing config" : "No es pot actualitzar la configuració per compartir fitxers federats",
"Federated Cloud" : "Núvol federat",
- "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Podeu compartir amb qualsevol persona que faci servir un servidor Nextcloud o altres servidors i serveis compatibles amb Open Cloud Mesh (OCM)! Simplement poseu el seu ID de núvol federat al diàleg compartit. S'assembla a persona@cloud.example.com",
+ "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Podeu compartir amb qualsevol persona que faci servir un servidor Nextcloud o altres servidors i serveis compatibles amb Open Cloud Mesh (OCM)! Simplement poseu el seu ID de núvol federat al diàleg compartit. S'assembla a persona@cloud.exemple.com",
"Your Federated Cloud ID:" : "El vostre ID de Núvol Federat:",
"Share it so your friends can share files with you:" : "Compartiu-lo perquè els vostres amics us puguin compartir fitxers:",
+ "Facebook" : "Facebook",
"Twitter" : "Twitter",
- "Add to your website" : "Afegiu a la vostra pàgina web",
+ "Diaspora" : "Diaspora",
+ "Add to your website" : "Afegeix a la vostra pàgina web",
"Share with me via Nextcloud" : "Comparteix amb mi mitjançant Nextcloud",
"HTML Code:" : "Codi HTML:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparteix amb mi a través del meu ID del núvol federat #Nextcloud, consultar {url}",
+ "Cloud ID copied to the clipboard" : "ID del núvol copiat al porta-retalls",
"Copy to clipboard" : "Copia-ho al porta-papers",
+ "Clipboard is not available" : "El porta-retalls no està disponible",
"Copy" : "Copia",
"Copied!" : "Copiat!",
"Not supported!" : "No soportat!",
diff --git a/apps/federatedfilesharing/l10n/ca.json b/apps/federatedfilesharing/l10n/ca.json
index acd2465c6cc..a57380775a4 100644
--- a/apps/federatedfilesharing/l10n/ca.json
+++ b/apps/federatedfilesharing/l10n/ca.json
@@ -4,10 +4,10 @@
"Remote share password" : "Contrasenya de compartició remota",
"Cancel" : "Cancel·la",
"Add remote share" : "Afegeix compartició remota",
- "Invalid Federated Cloud ID" : "ID de núvol federat no vàlid",
- "Server to server sharing is not enabled on this server" : "La compartició entre servidors no està activada en aquest servidor",
- "Couldn't establish a federated share." : "No s'ha pogut establir una part federada.",
- "Couldn't establish a federated share, maybe the password was wrong." : "No s'ha pogut establir una acció compartida federada, potser la contrasenya era incorrecta.",
+ "Invalid Federated Cloud ID" : "ID del núvol federat no vàlid",
+ "Server to server sharing is not enabled on this server" : "La compartició entre servidors no està habilitada en aquest servidor",
+ "Couldn't establish a federated share." : "No s'ha pogut establir una compartició federada.",
+ "Couldn't establish a federated share, maybe the password was wrong." : "No s'ha pogut establir un element compartit federat, potser la contrasenya era incorrecta.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "S'ha enviat la sol·licitud de participació federada, rebreu una invitació. Comproveu les vostres notificacions.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "No s’ha pogut establir una acció compartida federada, sembla que el servidor amb el qual s’ha federat és massa antic (Nextcloud <= 9).",
"It is not allowed to send federated group shares from this server." : "No es permet enviar de grups de compartits federats des d'aquest servidor.",
@@ -19,14 +19,14 @@
"Could not find share" : "No s'ha pogut trobar la compartició",
"Federated sharing" : "Compartició federada",
"You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "Has rebut \"%3$s\" com a compartició remota de %4$s (%1$s) (en nom de %5$s (%2$s))",
- "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Heu rebut {share} com un recompte remot de {user} (en nom de {nom})",
+ "You received {share} as a remote share from {user} (on behalf of {behalf})" : "Heu rebut {share} com a una compartició remota de {user} (en nom de {nom})",
"You received \"%3$s\" as a remote share from %4$s (%1$s)" : "Heu rebut \"%3$s\" com a compartició remota de %4$s (%1$s)",
"You received {share} as a remote share from {user}" : "Heu rebut {share} com a recompte remot de {user}",
"Accept" : "Accepta",
- "Decline" : "Denega",
- "Federated Cloud Sharing" : "Compartició federada de núvol",
- "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartiu amb mi a través de la meva #Nextcloud Federated Cloud ID, vegeu%s",
- "Share with me through my #Nextcloud Federated Cloud ID" : "Compartiu amb mi a través de la meva #Nextcloud Federated Cloud ID",
+ "Decline" : "Declina",
+ "Federated Cloud Sharing" : "Compartició de núvol federat",
+ "Share with me through my #Nextcloud Federated Cloud ID, see %s" : "Compartiu amb mi a través de la meva ID del núvol federat #Nextcloud, vegeu%s",
+ "Share with me through my #Nextcloud Federated Cloud ID" : "Compartiu amb mi a través de la meva ID del núvol federat #Nextcloud",
"Sharing" : "Comparteix",
"Federated file sharing" : "Compartició federada de fitxers",
"Provide federated file sharing across servers" : "Proporcioneu compartició de fitxers federats entre servidors",
@@ -37,15 +37,21 @@
"Allow users on this server to receive group shares from other servers" : "Permet als usuaris d'aquest servidor rebre comparticions a grups d'altres servidors",
"Search global and public address book for users" : "Cerca llibreta d'adreces global i pública per als usuaris",
"Allow users to publish their data to a global and public address book" : "Permet als usuaris publicar les seves dades en una llibreta d'adreces global i pública",
+ "Unable to update federated files sharing config" : "No es pot actualitzar la configuració per compartir fitxers federats",
"Federated Cloud" : "Núvol federat",
- "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Podeu compartir amb qualsevol persona que faci servir un servidor Nextcloud o altres servidors i serveis compatibles amb Open Cloud Mesh (OCM)! Simplement poseu el seu ID de núvol federat al diàleg compartit. S'assembla a persona@cloud.example.com",
+ "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "Podeu compartir amb qualsevol persona que faci servir un servidor Nextcloud o altres servidors i serveis compatibles amb Open Cloud Mesh (OCM)! Simplement poseu el seu ID de núvol federat al diàleg compartit. S'assembla a persona@cloud.exemple.com",
"Your Federated Cloud ID:" : "El vostre ID de Núvol Federat:",
"Share it so your friends can share files with you:" : "Compartiu-lo perquè els vostres amics us puguin compartir fitxers:",
+ "Facebook" : "Facebook",
"Twitter" : "Twitter",
- "Add to your website" : "Afegiu a la vostra pàgina web",
+ "Diaspora" : "Diaspora",
+ "Add to your website" : "Afegeix a la vostra pàgina web",
"Share with me via Nextcloud" : "Comparteix amb mi mitjançant Nextcloud",
"HTML Code:" : "Codi HTML:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Comparteix amb mi a través del meu ID del núvol federat #Nextcloud, consultar {url}",
+ "Cloud ID copied to the clipboard" : "ID del núvol copiat al porta-retalls",
"Copy to clipboard" : "Copia-ho al porta-papers",
+ "Clipboard is not available" : "El porta-retalls no està disponible",
"Copy" : "Copia",
"Copied!" : "Copiat!",
"Not supported!" : "No soportat!",
diff --git a/apps/federatedfilesharing/l10n/el.js b/apps/federatedfilesharing/l10n/el.js
index c344e3bff30..f5d71ed0953 100644
--- a/apps/federatedfilesharing/l10n/el.js
+++ b/apps/federatedfilesharing/l10n/el.js
@@ -46,6 +46,7 @@ OC.L10N.register(
"Share with me via Nextcloud" : "Διαμοιραστείτε με εμένα μέσω του Nextcloud",
"HTML Code:" : "Κώδικας HTML:",
"Copy to clipboard" : "Αντιγραφή στο πρόχειρο",
+ "Clipboard is not available" : "Το πρόχειρο δεν είναι διαθέσιμο",
"Copy" : "Αντιγραφή",
"Copied!" : "Αντιγράφτηκε!",
"Not supported!" : "Δεν υποστηρίζεται!",
diff --git a/apps/federatedfilesharing/l10n/el.json b/apps/federatedfilesharing/l10n/el.json
index 42c9c42b588..ff440d4554b 100644
--- a/apps/federatedfilesharing/l10n/el.json
+++ b/apps/federatedfilesharing/l10n/el.json
@@ -44,6 +44,7 @@
"Share with me via Nextcloud" : "Διαμοιραστείτε με εμένα μέσω του Nextcloud",
"HTML Code:" : "Κώδικας HTML:",
"Copy to clipboard" : "Αντιγραφή στο πρόχειρο",
+ "Clipboard is not available" : "Το πρόχειρο δεν είναι διαθέσιμο",
"Copy" : "Αντιγραφή",
"Copied!" : "Αντιγράφτηκε!",
"Not supported!" : "Δεν υποστηρίζεται!",
diff --git a/apps/federatedfilesharing/l10n/en_GB.js b/apps/federatedfilesharing/l10n/en_GB.js
index 56ee0de48e9..a5484ced8ef 100644
--- a/apps/federatedfilesharing/l10n/en_GB.js
+++ b/apps/federatedfilesharing/l10n/en_GB.js
@@ -12,11 +12,17 @@ OC.L10N.register(
"Couldn't establish a federated share, maybe the password was wrong." : "Couldn't establish a federated share, maybe the password was wrong.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Federated Share request sent, you will receive an invitation. Check your notifications.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9).",
+ "It is not allowed to send federated group shares from this server." : "It is not allowed to send federated group shares from this server.",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sharing %1$s failed, because this item is already shared with user %2$s",
"Not allowed to create a federated share with the same user" : "Not allowed to create a federated share with the same user",
+ "Federated shares require read permissions" : "Federated shares require read permissions",
"File is already shared with %s" : "File is already shared with %s",
+ "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate.",
"Could not find share" : "Could not find share",
"Federated sharing" : "Federated sharing",
+ "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))",
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "You received {share} as a remote share from {user} (on behalf of {behalf})",
+ "You received \"%3$s\" as a remote share from %4$s (%1$s)" : "You received \"%3$s\" as a remote share from %4$s (%1$s)",
"You received {share} as a remote share from {user}" : "You received {share} as a remote share from {user}",
"Accept" : "Accept",
"Decline" : "Decline",
@@ -26,17 +32,28 @@ OC.L10N.register(
"Sharing" : "Sharing",
"Federated file sharing" : "Federated file sharing",
"Provide federated file sharing across servers" : "Provide federated file sharing across servers",
+ "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing.",
+ "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)",
"Allow users on this server to receive shares from other servers" : "Allow users on this server to receive shares from other servers",
+ "Allow users on this server to send shares to groups on other servers" : "Allow users on this server to send shares to groups on other servers",
+ "Allow users on this server to receive group shares from other servers" : "Allow users on this server to receive group shares from other servers",
"Search global and public address book for users" : "Search global and public address book for users",
"Allow users to publish their data to a global and public address book" : "Allow users to publish their data to a global and public address book",
+ "Unable to update federated files sharing config" : "Unable to update federated files sharing config",
"Federated Cloud" : "Federated Cloud",
+ "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialogue. It looks like person@cloud.example.com",
"Your Federated Cloud ID:" : "Your Federated Cloud ID:",
"Share it so your friends can share files with you:" : "Share it so your friends can share files with you:",
+ "Facebook" : "Facebook",
"Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Add to your website",
"Share with me via Nextcloud" : "Share with me via Nextcloud",
"HTML Code:" : "HTML Code:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Share with me through my #Nextcloud Federated Cloud ID, see {url}",
+ "Cloud ID copied to the clipboard" : "Cloud ID copied to the clipboard",
"Copy to clipboard" : "Copy to clipboard",
+ "Clipboard is not available" : "Clipboard is not available",
"Copy" : "Copy",
"Copied!" : "Copied!",
"Not supported!" : "Not supported!",
diff --git a/apps/federatedfilesharing/l10n/en_GB.json b/apps/federatedfilesharing/l10n/en_GB.json
index 1cc190cbab5..5684acaeb8e 100644
--- a/apps/federatedfilesharing/l10n/en_GB.json
+++ b/apps/federatedfilesharing/l10n/en_GB.json
@@ -10,11 +10,17 @@
"Couldn't establish a federated share, maybe the password was wrong." : "Couldn't establish a federated share, maybe the password was wrong.",
"Federated Share request sent, you will receive an invitation. Check your notifications." : "Federated Share request sent, you will receive an invitation. Check your notifications.",
"Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9)." : "Couldn't establish a federated share, it looks like the server to federate with is too old (Nextcloud <= 9).",
+ "It is not allowed to send federated group shares from this server." : "It is not allowed to send federated group shares from this server.",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sharing %1$s failed, because this item is already shared with user %2$s",
"Not allowed to create a federated share with the same user" : "Not allowed to create a federated share with the same user",
+ "Federated shares require read permissions" : "Federated shares require read permissions",
"File is already shared with %s" : "File is already shared with %s",
+ "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate." : "Sharing %1$s failed, could not find %2$s, maybe the server is currently unreachable or uses a self-signed certificate.",
"Could not find share" : "Could not find share",
"Federated sharing" : "Federated sharing",
+ "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))" : "You received \"%3$s\" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))",
"You received {share} as a remote share from {user} (on behalf of {behalf})" : "You received {share} as a remote share from {user} (on behalf of {behalf})",
+ "You received \"%3$s\" as a remote share from %4$s (%1$s)" : "You received \"%3$s\" as a remote share from %4$s (%1$s)",
"You received {share} as a remote share from {user}" : "You received {share} as a remote share from {user}",
"Accept" : "Accept",
"Decline" : "Decline",
@@ -24,17 +30,28 @@
"Sharing" : "Sharing",
"Federated file sharing" : "Federated file sharing",
"Provide federated file sharing across servers" : "Provide federated file sharing across servers",
+ "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing." : "Adjust how people can share between servers. This includes shares between users on this server as well if they are using federated sharing.",
+ "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)" : "Allow users on this server to send shares to other servers (this option also allows WebDAV access to public shares)",
"Allow users on this server to receive shares from other servers" : "Allow users on this server to receive shares from other servers",
+ "Allow users on this server to send shares to groups on other servers" : "Allow users on this server to send shares to groups on other servers",
+ "Allow users on this server to receive group shares from other servers" : "Allow users on this server to receive group shares from other servers",
"Search global and public address book for users" : "Search global and public address book for users",
"Allow users to publish their data to a global and public address book" : "Allow users to publish their data to a global and public address book",
+ "Unable to update federated files sharing config" : "Unable to update federated files sharing config",
"Federated Cloud" : "Federated Cloud",
+ "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialog. It looks like person@cloud.example.com" : "You can share with anyone who uses a Nextcloud server or other Open Cloud Mesh (OCM) compatible servers and services! Just put their Federated Cloud ID in the share dialogue. It looks like person@cloud.example.com",
"Your Federated Cloud ID:" : "Your Federated Cloud ID:",
"Share it so your friends can share files with you:" : "Share it so your friends can share files with you:",
+ "Facebook" : "Facebook",
"Twitter" : "Twitter",
+ "Diaspora" : "Diaspora",
"Add to your website" : "Add to your website",
"Share with me via Nextcloud" : "Share with me via Nextcloud",
"HTML Code:" : "HTML Code:",
+ "Share with me through my #Nextcloud Federated Cloud ID, see {url}" : "Share with me through my #Nextcloud Federated Cloud ID, see {url}",
+ "Cloud ID copied to the clipboard" : "Cloud ID copied to the clipboard",
"Copy to clipboard" : "Copy to clipboard",
+ "Clipboard is not available" : "Clipboard is not available",
"Copy" : "Copy",
"Copied!" : "Copied!",
"Not supported!" : "Not supported!",
diff --git a/apps/federatedfilesharing/l10n/fa.js b/apps/federatedfilesharing/l10n/fa.js
index aa8625e10e6..b5737e0bbc0 100644
--- a/apps/federatedfilesharing/l10n/fa.js
+++ b/apps/federatedfilesharing/l10n/fa.js
@@ -1,8 +1,38 @@
OC.L10N.register(
"federatedfilesharing",
{
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "می‌خواهید هم‌رسانی دوردست {name} را از ‪{owner}@{remote}‬ بیفزایید؟",
+ "Remote share" : "هم‌رسانی دوردست",
+ "Remote share password" : "گذرواژهٔ هم‌رسانی دوردست",
+ "Cancel" : "لغو",
+ "Add remote share" : "افزودن هم‌رسانی دوردست",
+ "Invalid Federated Cloud ID" : "شناسهٔ ابری خودگردان نامعتبر",
+ "Server to server sharing is not enabled on this server" : "هم‌رسانی کارساز به کارساز روی این کارساز به کار نیفتاده",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "هم‌رسانی %1$s شکست خورد، چرا که این مورد از پیش با کاربر%2$s هم رسانی شده بود",
+ "Not allowed to create a federated share with the same user" : "ایجاد یک هم‌رسانی خودگران با همان کاربر مجاز نیست",
+ "Could not find share" : "نتوانست هم‌رسانی را بیابد",
+ "Federated sharing" : "هم‌رسانی خودگردان",
"Accept" : "قبول",
- "Open documentation" : "بازکردن مستند",
- "HTML Code:" : "کد HTML :"
+ "Decline" : "کاهش می یابد",
+ "Federated Cloud Sharing" : "هم‌رسانی ابری خودگردان",
+ "Sharing" : "هم‌رسانی",
+ "Federated file sharing" : "هم‌رسانی پروندهٔ خودگردان",
+ "Provide federated file sharing across servers" : "فراهم‌کنندهٔ هم‌رسانی پروندهٔ خودگردان میان کارسازها",
+ "Federated Cloud" : "ابر خودگردان",
+ "Your Federated Cloud ID:" : "شناسهٔ ابردی خودگردانتان:",
+ "Facebook" : "فیس‌بوک",
+ "Twitter" : "توییتر",
+ "Diaspora" : "دیازپورا",
+ "Add to your website" : "افزودن به پایگاه وبتان",
+ "Share with me via Nextcloud" : "هم‌رسانی با من روی نسکت‌کلود",
+ "HTML Code:" : "کد HTML :",
+ "Copy to clipboard" : "رونوشت به تخته‌گیره",
+ "Clipboard is not available" : "تخته گیره موحود نیست",
+ "Copy" : "رونوشت",
+ "Copied!" : "رونوشت شد!",
+ "Not supported!" : "پشتیبانی نشده!",
+ "Press ⌘-C to copy." : "برای کپی کردن از دکمه های C+⌘ استفاده نمایید",
+ "Press Ctrl-C to copy." : "برای کپی کردن از دکمه ctrl+c استفاده نمایید",
+ "Open documentation" : "گشودن مستندات"
},
-"nplurals=1; plural=0;");
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/federatedfilesharing/l10n/fa.json b/apps/federatedfilesharing/l10n/fa.json
index 4bc34351fd2..12d6ed8ffbf 100644
--- a/apps/federatedfilesharing/l10n/fa.json
+++ b/apps/federatedfilesharing/l10n/fa.json
@@ -1,6 +1,36 @@
{ "translations": {
+ "Do you want to add the remote share {name} from {owner}@{remote}?" : "می‌خواهید هم‌رسانی دوردست {name} را از ‪{owner}@{remote}‬ بیفزایید؟",
+ "Remote share" : "هم‌رسانی دوردست",
+ "Remote share password" : "گذرواژهٔ هم‌رسانی دوردست",
+ "Cancel" : "لغو",
+ "Add remote share" : "افزودن هم‌رسانی دوردست",
+ "Invalid Federated Cloud ID" : "شناسهٔ ابری خودگردان نامعتبر",
+ "Server to server sharing is not enabled on this server" : "هم‌رسانی کارساز به کارساز روی این کارساز به کار نیفتاده",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "هم‌رسانی %1$s شکست خورد، چرا که این مورد از پیش با کاربر%2$s هم رسانی شده بود",
+ "Not allowed to create a federated share with the same user" : "ایجاد یک هم‌رسانی خودگران با همان کاربر مجاز نیست",
+ "Could not find share" : "نتوانست هم‌رسانی را بیابد",
+ "Federated sharing" : "هم‌رسانی خودگردان",
"Accept" : "قبول",
- "Open documentation" : "بازکردن مستند",
- "HTML Code:" : "کد HTML :"
-},"pluralForm" :"nplurals=1; plural=0;"
+ "Decline" : "کاهش می یابد",
+ "Federated Cloud Sharing" : "هم‌رسانی ابری خودگردان",
+ "Sharing" : "هم‌رسانی",
+ "Federated file sharing" : "هم‌رسانی پروندهٔ خودگردان",
+ "Provide federated file sharing across servers" : "فراهم‌کنندهٔ هم‌رسانی پروندهٔ خودگردان میان کارسازها",
+ "Federated Cloud" : "ابر خودگردان",
+ "Your Federated Cloud ID:" : "شناسهٔ ابردی خودگردانتان:",
+ "Facebook" : "فیس‌بوک",
+ "Twitter" : "توییتر",
+ "Diaspora" : "دیازپورا",
+ "Add to your website" : "افزودن به پایگاه وبتان",
+ "Share with me via Nextcloud" : "هم‌رسانی با من روی نسکت‌کلود",
+ "HTML Code:" : "کد HTML :",
+ "Copy to clipboard" : "رونوشت به تخته‌گیره",
+ "Clipboard is not available" : "تخته گیره موحود نیست",
+ "Copy" : "رونوشت",
+ "Copied!" : "رونوشت شد!",
+ "Not supported!" : "پشتیبانی نشده!",
+ "Press ⌘-C to copy." : "برای کپی کردن از دکمه های C+⌘ استفاده نمایید",
+ "Press Ctrl-C to copy." : "برای کپی کردن از دکمه ctrl+c استفاده نمایید",
+ "Open documentation" : "گشودن مستندات"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/federatedfilesharing/lib/Notifier.php b/apps/federatedfilesharing/lib/Notifier.php
index 5e57b77b64a..87c05e19e4b 100644
--- a/apps/federatedfilesharing/lib/Notifier.php
+++ b/apps/federatedfilesharing/lib/Notifier.php
@@ -108,10 +108,6 @@ class Notifier implements INotifier {
$params[3] = $remoteInitiator['name'] . '@' . $remoteInitiator['server'];
$params[4] = $remoteOwner['name'] . '@' . $remoteOwner['server'];
- $notification->setParsedSubject(
- $l->t('You received "%3$s" as a remote share from %4$s (%1$s) (on behalf of %5$s (%2$s))', $params)
- );
-
$notification->setRichSubject(
$l->t('You received {share} as a remote share from {user} (on behalf of {behalf})'),
[
@@ -128,11 +124,6 @@ class Notifier implements INotifier {
$remoteOwner = $this->createRemoteUser($params[0]);
$params[3] = $remoteOwner['name'] . '@' . $remoteOwner['server'];
- $notification->setParsedSubject(
- $l->t('You received "%3$s" as a remote share from %4$s (%1$s)', $params)
- );
-
-
$notification->setRichSubject(
$l->t('You received {share} as a remote share from {user}'),
[
diff --git a/apps/federation/composer/autoload.php b/apps/federation/composer/autoload.php
index 77ae3e1c118..08b3d13070a 100644
--- a/apps/federation/composer/autoload.php
+++ b/apps/federation/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/federation/composer/composer/installed.php b/apps/federation/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/federation/composer/composer/installed.php
+++ b/apps/federation/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/files/composer/autoload.php b/apps/files/composer/autoload.php
index cbac9333296..b43b6f6d2dc 100644
--- a/apps/files/composer/autoload.php
+++ b/apps/files/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/files/composer/composer/installed.php b/apps/files/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/files/composer/composer/installed.php
+++ b/apps/files/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/files/css/detailsView.css b/apps/files/css/detailsView.css
index 46c2eeabe36..972c40726ef 100644
--- a/apps/files/css/detailsView.css
+++ b/apps/files/css/detailsView.css
@@ -28,14 +28,12 @@
.app-sidebar .thumbnailContainer.large {
margin-left: -15px;
- margin-right: -35px;
- /* 15 + 20 for the close button */
+ margin-right: -35px; /* 15 + 20 for the close button */
margin-top: -15px;
}
.app-sidebar .thumbnailContainer.large.portrait {
- margin: 0;
- /* if we don't fit the image anyway we give it back the margin */
+ margin: 0; /* if we don't fit the image anyway we give it back the margin */
}
.app-sidebar .large .thumbnail {
@@ -52,8 +50,7 @@
.app-sidebar .large .thumbnail .stretcher {
content: "";
display: block;
- padding-bottom: 56.25%;
- /* sets height of .thumbnail to 9/16 of the width */
+ padding-bottom: 56.25%; /* sets height of .thumbnail to 9/16 of the width */
}
.app-sidebar .large.portrait .thumbnail {
@@ -95,8 +92,7 @@
}
.app-sidebar .fileName h3 {
- width: calc(100% - 42px);
- /* 36px is the with of the copy link icon, but this breaks so we add some more to be sure */
+ width: calc(100% - 42px); /* 36px is the with of the copy link icon, but this breaks so we add some more to be sure */
display: inline-block;
padding: 5px 0;
margin: -5px 0;
diff --git a/apps/files/css/detailsView.css.map b/apps/files/css/detailsView.css.map
index 30726744caf..d406f8f18c1 100644
--- a/apps/files/css/detailsView.css.map
+++ b/apps/files/css/detailsView.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["detailsView.scss"],"names":[],"mappings":"AAAA;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;AAAqB;EACrB;;;AAGD;EACC;AAAW;;;AAGZ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;AAAwB;;;AAGzB;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;AAA0B;EAC1B;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA","file":"detailsView.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["detailsView.scss"],"names":[],"mappings":"AAAA;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA","file":"detailsView.css"} \ No newline at end of file
diff --git a/apps/files/css/files.css b/apps/files/css/files.css
index 431e3bf29b5..8696d5f7707 100644
--- a/apps/files/css/files.css
+++ b/apps/files/css/files.css
@@ -150,6 +150,9 @@
.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext {
color: var(--color-text-maxcontrast);
}
+.files-filestable tbody tr[data-e2eencrypted=true] {
+ pointer-events: none;
+}
.files-filestable.hidden {
display: none;
@@ -375,8 +378,7 @@ table td {
table th.column-name {
position: relative;
- width: 9999px;
- /* not really sure why this works better than 100% … table styling */
+ width: 9999px; /* not really sure why this works better than 100% … table styling */
padding: 0;
}
@@ -434,8 +436,7 @@ table.multiselect thead th {
table.multiselect .column-name {
position: relative;
- width: 9999px;
- /* when we use 100%, the styling breaks on mobile … table styling */
+ width: 9999px; /* when we use 100%, the styling breaks on mobile … table styling */
}
table.multiselect .column-mtime > a {
@@ -452,8 +453,7 @@ table td.fileaction {
table td.filename a.name,
table td.filename p.name {
display: flex;
- position: relative;
- /* Firefox needs to explicitly have this default set … */
+ position: relative; /* Firefox needs to explicitly have this default set … */
-moz-box-sizing: border-box;
box-sizing: border-box;
height: 50px;
@@ -931,8 +931,7 @@ table.dragshadow td.size {
padding: 0;
margin: 0;
background-color: var(--color-main-background-translucent);
- z-index: 62;
- /* must be above the filelist sticky header and texteditor menubar */
+ z-index: 62; /* must be above the filelist sticky header and texteditor menubar */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
diff --git a/apps/files/css/files.css.map b/apps/files/css/files.css.map
index 71beac8f680..ea917aa36b4 100644
--- a/apps/files/css/files.css.map
+++ b/apps/files/css/files.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA;EAEA;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;;AAMJ;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;AClEC;EAEA;;;ADmED;ACrEC;EAEA;;;ADsED;ACxEC;EAEA;;;ADyED;AAAA;AAAA;AAAA;AC3EC;EAEA;;;AD+ED;ACjFC;EAEA;;;ADkFD;ACpFC;EAEA;;;ADqFD;ACvFC;EAEA;;;ADwFD;AC1FC;EAEA;;;AD2FD;AC7FC;EAEA;;;AD8FD;AChGC;EAEA;;;ADkGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAGF;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;AAAe;EACf;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;AAAe;;;AAEhB;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;AAAmB;EACnB;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAa;EACb;EACA;EACA;EACA;EACA;EACA;EACA;;AAKE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAMJ;AAEA;EACC;;;AAGD;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;EACC;;;AAIF;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAIF;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKA;EACC;;AAIF;EACC;EACA;;;AAIF;AACA;AAIC;AAaA;AAqOA;;AAhPC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAoJA;AA8BA;;AA/KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAxNO;;AAyNP;EACC;EACA,OA3NM;EA4NN,QA5NM;;AAkOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;AAGD;EAEC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA","file":"files.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA;EAEA;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;AAKF;EACC;;;AAKH;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;ACvEC;EAEA;;;ADwED;AC1EC;EAEA;;;AD2ED;AC7EC;EAEA;;;AD8ED;AAAA;AAAA;AAAA;AChFC;EAEA;;;ADoFD;ACtFC;EAEA;;;ADuFD;ACzFC;EAEA;;;AD0FD;AC5FC;EAEA;;;AD6FD;AC/FC;EAEA;;;ADgGD;AClGC;EAEA;;;ADmGD;ACrGC;EAEA;;;ADuGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAGF;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAMJ;AAEA;EACC;;;AAGD;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;EACC;;;AAIF;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAIF;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKA;EACC;;AAIF;EACC;EACA;;;AAIF;AACA;AAIC;AAaA;AAqOA;;AAhPC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAoJA;AA8BA;;AA/KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAxNO;;AAyNP;EACC;EACA,OA3NM;EA4NN,QA5NM;;AAkOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;AAGD;EAEC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA","file":"files.css"} \ No newline at end of file
diff --git a/apps/files/css/files.scss b/apps/files/css/files.scss
index 1950d740bd7..612ac975aeb 100644
--- a/apps/files/css/files.scss
+++ b/apps/files/css/files.scss
@@ -91,6 +91,11 @@
color: var(--color-text-maxcontrast);
}
}
+
+ // Deactivates the possiblility to checkmark or click on the encrypted folder
+ tr[data-e2eencrypted="true"] {
+ pointer-events: none;
+ }
}
}
diff --git a/apps/files/css/merged.css b/apps/files/css/merged.css
index e4b2c51d7f3..38ac0c66b13 100644
--- a/apps/files/css/merged.css
+++ b/apps/files/css/merged.css
@@ -150,6 +150,9 @@
.files-filestable tbody tr[data-permissions="16"] td.filename .nametext .innernametext {
color: var(--color-text-maxcontrast);
}
+.files-filestable tbody tr[data-e2eencrypted=true] {
+ pointer-events: none;
+}
.files-filestable.hidden {
display: none;
@@ -375,8 +378,7 @@ table td {
table th.column-name {
position: relative;
- width: 9999px;
- /* not really sure why this works better than 100% … table styling */
+ width: 9999px; /* not really sure why this works better than 100% … table styling */
padding: 0;
}
@@ -434,8 +436,7 @@ table.multiselect thead th {
table.multiselect .column-name {
position: relative;
- width: 9999px;
- /* when we use 100%, the styling breaks on mobile … table styling */
+ width: 9999px; /* when we use 100%, the styling breaks on mobile … table styling */
}
table.multiselect .column-mtime > a {
@@ -452,8 +453,7 @@ table td.fileaction {
table td.filename a.name,
table td.filename p.name {
display: flex;
- position: relative;
- /* Firefox needs to explicitly have this default set … */
+ position: relative; /* Firefox needs to explicitly have this default set … */
-moz-box-sizing: border-box;
box-sizing: border-box;
height: 50px;
@@ -931,8 +931,7 @@ table.dragshadow td.size {
padding: 0;
margin: 0;
background-color: var(--color-main-background-translucent);
- z-index: 62;
- /* must be above the filelist sticky header and texteditor menubar */
+ z-index: 62; /* must be above the filelist sticky header and texteditor menubar */
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
@@ -1353,8 +1352,7 @@ table.dragshadow td.size {
box-sizing: border-box;
height: 36px;
width: 39px;
- padding: 0 !important;
- /* override default control bar button padding */
+ padding: 0 !important; /* override default control bar button padding */
margin-left: 3px;
overflow: hidden;
vertical-align: top;
@@ -1538,7 +1536,7 @@ table.dragshadow td.size {
.oc-dialog .fileexists .original,
.oc-dialog .fileexists .replacement {
float: left;
- width: 225px;
+ width: 50%;
}
.oc-dialog .fileexists .conflicts {
@@ -1639,32 +1637,26 @@ table.dragshadow td.size {
.app-files #app-content.dir-drop {
background-color: rgb(255, 255, 255) !important;
}
-
table th.column-size,
-table td.filesize,
-table th.column-mtime,
-table td.date {
+ table td.filesize,
+ table th.column-mtime,
+ table td.date {
display: none;
}
-
/* remove padding to let border bottom fill the whole width*/
table td {
padding: 0;
}
-
/* remove shift for multiselect bar to account for missing navigation */
table.multiselect thead {
padding-left: 0;
}
-
.fileList a.action.action-menu img {
padding-left: 0;
}
-
.fileList .fileActionsMenu {
margin-right: 6px;
}
-
/* hide text of the share action on mobile */
/* .hidden-visually for accessbility */
.fileList a.action-share span:not(.icon):not(.avatar) {
@@ -1675,21 +1667,17 @@ table td.date {
height: 1px;
overflow: hidden;
}
-
/* shorten elements for mobile */
#uploadprogressbar, #uploadprogressbar .label.inner {
width: 50px;
}
-
/* hide desktop-only parts */
#uploadprogressbar .desktop {
display: none !important;
}
-
#uploadprogressbar .mobile {
display: block !important;
}
-
/* ensure that it is visible over #app-content */
table.dragshadow {
z-index: 1000;
@@ -1700,16 +1688,13 @@ table td.date {
table th .selectedActions {
float: right;
}
-
table th .selectedActions > a span:not(.icon) {
display: none;
}
-
/* Increase touch area for the icons */
table th .selectedActions a {
padding: 17px 14px;
}
-
/* Remove the margin to reduce the overlap between the name and the icons */
table.multiselect th .columntitle.name {
margin-left: 0;
@@ -1745,14 +1730,12 @@ table td.date {
.app-sidebar .thumbnailContainer.large {
margin-left: -15px;
- margin-right: -35px;
- /* 15 + 20 for the close button */
+ margin-right: -35px; /* 15 + 20 for the close button */
margin-top: -15px;
}
.app-sidebar .thumbnailContainer.large.portrait {
- margin: 0;
- /* if we don't fit the image anyway we give it back the margin */
+ margin: 0; /* if we don't fit the image anyway we give it back the margin */
}
.app-sidebar .large .thumbnail {
@@ -1769,8 +1752,7 @@ table td.date {
.app-sidebar .large .thumbnail .stretcher {
content: "";
display: block;
- padding-bottom: 56.25%;
- /* sets height of .thumbnail to 9/16 of the width */
+ padding-bottom: 56.25%; /* sets height of .thumbnail to 9/16 of the width */
}
.app-sidebar .large.portrait .thumbnail {
@@ -1812,8 +1794,7 @@ table td.date {
}
.app-sidebar .fileName h3 {
- width: calc(100% - 42px);
- /* 36px is the with of the copy link icon, but this breaks so we add some more to be sure */
+ width: calc(100% - 42px); /* 36px is the with of the copy link icon, but this breaks so we add some more to be sure */
display: inline-block;
padding: 5px 0;
margin: -5px 0;
diff --git a/apps/files/css/merged.css.map b/apps/files/css/merged.css.map
index 023e7588cc4..c4fe79c3b39 100644
--- a/apps/files/css/merged.css.map
+++ b/apps/files/css/merged.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA;EAEA;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;;AAMJ;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;AClEC;EAEA;;;ADmED;ACrEC;EAEA;;;ADsED;ACxEC;EAEA;;;ADyED;AAAA;AAAA;AAAA;AC3EC;EAEA;;;AD+ED;ACjFC;EAEA;;;ADkFD;ACpFC;EAEA;;;ADqFD;ACvFC;EAEA;;;ADwFD;AC1FC;EAEA;;;AD2FD;AC7FC;EAEA;;;AD8FD;AChGC;EAEA;;;ADkGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAGF;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;AAAe;EACf;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;AAAe;;;AAEhB;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;AAAmB;EACnB;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;AAAa;EACb;EACA;EACA;EACA;EACA;EACA;EACA;;AAKE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAMJ;AAEA;EACC;;;AAGD;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;EACC;;;AAIF;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAIF;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKA;EACC;;AAIF;EACC;EACA;;;AAIF;AACA;AAIC;AAaA;AAqOA;;AAhPC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAoJA;AA8BA;;AA/KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAxNO;;AAyNP;EACC;EACA,OA3NM;EA4NN,QA5NM;;AAkOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;AAGD;EAEC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;;;AElyCF;EACC;EACA;EACA;EACA;AAAuB;EACvB;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AHjNT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AIEA;AAAA;AAAA;AAIA;EAEA;IACC;;;EAGD;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;EAGD;IACC;;;EAGD;IACC;;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;;AAID;EACA;IACC;;;AAED;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;AClFF;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;AAAqB;EACrB;;;AAGD;EACC;AAAW;;;AAGZ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;AAAwB;;;AAGzB;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;AAA0B;EAC1B;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AC/HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE","file":"merged.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","files.scss","../../../core/css/functions.scss","upload.scss","mobile.scss","detailsView.scss","../../../core/css/whatsnew.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADxCA;AACA;EACC;EACA;EACA;EACA;;;AAED;EAAoD;EAAU;;;AAC9D;EAAqB;;;AACrB;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;;AACA;EACC;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;AAiBA;AAAA;AAAA;;AAfA;EACC;;AAGD;EACC;EACA;EAEA;EAEA;EACA;EACA;;AAMD;EACC;EACA;;AAEA;AAAA;EAEC;;AAEA;AAAA;EACC;;AAKF;EACC;;;AAKH;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;EAGC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACA;ACvEC;EAEA;;;ADwED;AC1EC;EAEA;;;AD2ED;AC7EC;EAEA;;;AD8ED;AAAA;AAAA;AAAA;AChFC;EAEA;;;ADoFD;ACtFC;EAEA;;;ADuFD;ACzFC;EAEA;;;AD0FD;AC5FC;EAEA;;;AD6FD;AC/FC;EAEA;;;ADgGD;AClGC;EAEA;;;ADmGD;ACrGC;EAEA;;;ADuGD;EACC;;;AAED;AACA;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAED;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAGD;EAAU;;;AAEV;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;AACA;EACC;;;AAGF;EACC;EACA;;;AAED;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;;;AAED;AAAA;EAEC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAED;EACC;;;AAED;AAAA;EAEC;EACA;EACA;AACA;EACA;;;AAGD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAQC;;AACA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;;;AAIF;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;AACC;EACA;EACA;EACA;EACA;;;AAGA;EACC;;AAED;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAID;EACC;;;AAGD;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;;;AAGD;EAA6H;;;AAC7H;EAAwE;EAAY;;;AAEpF;EACC;EACA;EACA;EACA;;;AAGD;AAEC;EACC;;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EAEA;EACA;EACA;EACA;EACA;EAEA;EACA;EAEA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;EACA;;;AAGD;AACA;AAAA;AAAA;AAAA;EAIC;;;AAGD;AACA;EACC;;;AAGD;AAGC;AAAA;EACC;;AAGD;AAAA;EACC;EACA;EACA;EACA;EACA;;;AAIF;AAAA;EAEC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EAA2C;EAAwC;EAAsC;;;AAG1H;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EAAsC;;;AAEtC;AACA;EACC;;;AAGD;EACC;;;AAGD;AACA;AAAA;EAEC;;;AAGD;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAIC;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACI;EACA;EACA;;;AAEJ;EACI;;;AAEJ;EACC;EACA;EACA;;;AAGD;EACC;;;AAED;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;;AACA;EACC;;AACA;AACC;AACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;;AAGF;EACC;EACA;EACA;EACA;;AAGA;EACC;;AAID;AAAA;EAEC;;AAED;EACC;;AACA;EACC;;AAIH;EACC;;AAED;EACC;EACA;;AAGF;EACC;;AAED;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAAA;AAAA;AAAA;EAKC;;;AAGD;EACC;;;AAGD;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;AACA;EAEA;;;AAED;EACC;AACA;EACA;;;AAED;AAAA;AAAA;AAGA;EACC;;;AAED;AAAA;AAAA;AAAA;EAIC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;EACA;AAEA;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;AAEA;;AACA;EACC;;;AAKF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAKE;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAED;EACC;;;AAMJ;AAEA;EACC;;;AAGD;AAAA;AAAA;AAAA;EAIC;EACA;EACA;;;AAMA;EACC;;AAED;EACC;;;AAIF;AAAA;AAAA;EAGC;;;AAGD;AAAA;AAAA;EAGC;EACA;;;AAGD;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAIF;AAAA;EAEC;;;AAED;EACC;;AACA;EACC;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAKA;EACC;;AAIF;EACC;EACA;;;AAIF;AACA;AAIC;AAaA;AAqOA;;AAhPC;EACC;EACA;EACA;;AACA;EACC;EACA;;AAMH;EACC;EACA;EACA;EACA;EACA;;AAGA;EACC;EACA;EACA;EACA;;AAEA;AAAA;EAKC;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;;AAKH;EACC;EACA;AAoJA;AA8BA;;AA/KC;EACC;EACA;EACA;EACA,OAvDQ;EAwDR,QAxDQ;EAyDR,SAxDO;EAyDP;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;AAEA;AAAA;AAAA;;AAGA;EACC,SA1EK;EA2EL;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;EAEA;EACA;EAEA;;AAGD;EACC;EACA;EAIA;EAKA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;AAoBA;;AAlBA;EACC;EACA;EACA;EACA;EACA;;AAED;EACC;EACA;EACA;;AAED;EACC;EACA;EACA;;AAID;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC,SApJK;EAqJL;EACA;EACA;EACA;EACA;;AAGA;EACC;;AAQH;EACC;;AAEA;EACC;EACA;;AAIF;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAEA;EACC;EACA;EACA;;AAMH;EAEC;;AAGD;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA,SAxNO;;AAyNP;EACC;EACA,OA3NM;EA4NN,QA5NM;;AAkOT;EACC;EACA;EACA;AAEA;;AACA;EACC;EACA;;AAMJ;EACC;;AAID;EACC;;AAEA;EACC;EACA;EAEA;;AAEA;EACC;;AAEA;EAEC;;AAGD;EACI;;;AAOR;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;;AAGD;EAEC;;;AAIF;AAAA;AAAA;AAAA;AAAA;AAKA;EACC;EACA;;;AAGD;AACA;AAaC;;AAZA;AACC;AAKA;;AAJA;EACC;;AAID;EACC;;AAKF;EACC;EACA;EACA;;;AAIF;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;;;AEvyCF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AHjNT;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AIEA;AAAA;AAAA;AAIA;EAEA;IACC;;EAGD;AAAA;AAAA;AAAA;IAIC;;AAGD;EACA;IACC;;AAGD;EACA;IACC;;EAGD;IACC;;EAGD;IACC;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;AAID;EACA;IACC;;AAED;EACA;IACC;;EAED;IACC;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;EAED;IACC;;AAGD;EACA;IACC;;AAGD;EACA;IACC;;;AClFF;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;EACA;EACA;;AAEA;EAEC;;;AAGF;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AC/HD;AAAA;AAAA;AAAA;AAAA;AAAA;AAOA;EACE;EACA;EACA;EACA;;;AAGF;EACE;;;AAGF;EACE;EACA;;;AAGF;EACE;EACA;;;AAGF;EACE","file":"merged.css"} \ No newline at end of file
diff --git a/apps/files/css/mobile.css b/apps/files/css/mobile.css
index 1cd122d60ec..a7e2ca2b099 100644
--- a/apps/files/css/mobile.css
+++ b/apps/files/css/mobile.css
@@ -27,32 +27,26 @@
.app-files #app-content.dir-drop {
background-color: rgb(255, 255, 255) !important;
}
-
table th.column-size,
-table td.filesize,
-table th.column-mtime,
-table td.date {
+ table td.filesize,
+ table th.column-mtime,
+ table td.date {
display: none;
}
-
/* remove padding to let border bottom fill the whole width*/
table td {
padding: 0;
}
-
/* remove shift for multiselect bar to account for missing navigation */
table.multiselect thead {
padding-left: 0;
}
-
.fileList a.action.action-menu img {
padding-left: 0;
}
-
.fileList .fileActionsMenu {
margin-right: 6px;
}
-
/* hide text of the share action on mobile */
/* .hidden-visually for accessbility */
.fileList a.action-share span:not(.icon):not(.avatar) {
@@ -63,21 +57,17 @@ table td.date {
height: 1px;
overflow: hidden;
}
-
/* shorten elements for mobile */
#uploadprogressbar, #uploadprogressbar .label.inner {
width: 50px;
}
-
/* hide desktop-only parts */
#uploadprogressbar .desktop {
display: none !important;
}
-
#uploadprogressbar .mobile {
display: block !important;
}
-
/* ensure that it is visible over #app-content */
table.dragshadow {
z-index: 1000;
@@ -88,16 +78,13 @@ table td.date {
table th .selectedActions {
float: right;
}
-
table th .selectedActions > a span:not(.icon) {
display: none;
}
-
/* Increase touch area for the icons */
table th .selectedActions a {
padding: 17px 14px;
}
-
/* Remove the margin to reduce the overlap between the name and the icons */
table.multiselect th .columntitle.name {
margin-left: 0;
diff --git a/apps/files/css/mobile.css.map b/apps/files/css/mobile.css.map
index 11729879c85..0ca9bdaa893 100644
--- a/apps/files/css/mobile.css.map
+++ b/apps/files/css/mobile.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAAA;AAAA;AAIA;EAEA;IACC;;;EAGD;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;;;EAGD;IACC;;;EAGD;IACC;;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;;AAID;EACA;IACC;;;AAED;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;;EAED;IACC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC","file":"mobile.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAAA;AAAA;AAIA;EAEA;IACC;;EAGD;AAAA;AAAA;AAAA;IAIC;;AAGD;EACA;IACC;;AAGD;EACA;IACC;;EAGD;IACC;;EAGD;IACC;;AAED;AACA;EACA;IACC;IACA;IACA;IACA;IACA;IACA;;AAID;EACA;IACC;;AAED;EACA;IACC;;EAED;IACC;;AAGD;EACA;IACC;;;AAID;AACC;EACA;IACC;;EAED;IACC;;AAGD;EACA;IACC;;AAGD;EACA;IACC","file":"mobile.css"} \ No newline at end of file
diff --git a/apps/files/css/upload.css b/apps/files/css/upload.css
index 1ab561b2156..7074ba2827d 100644
--- a/apps/files/css/upload.css
+++ b/apps/files/css/upload.css
@@ -2,8 +2,7 @@
box-sizing: border-box;
height: 36px;
width: 39px;
- padding: 0 !important;
- /* override default control bar button padding */
+ padding: 0 !important; /* override default control bar button padding */
margin-left: 3px;
overflow: hidden;
vertical-align: top;
@@ -187,7 +186,7 @@
.oc-dialog .fileexists .original,
.oc-dialog .fileexists .replacement {
float: left;
- width: 225px;
+ width: 50%;
}
.oc-dialog .fileexists .conflicts {
diff --git a/apps/files/css/upload.css.map b/apps/files/css/upload.css.map
index 718462f2607..a15557f66b1 100644
--- a/apps/files/css/upload.css.map
+++ b/apps/files/css/upload.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["upload.scss"],"names":[],"mappings":"AAAA;EACC;EACA;EACA;EACA;AAAuB;EACvB;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO","file":"upload.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["upload.scss"],"names":[],"mappings":"AAAA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAED;EAAsB;;;AACtB;EAAoB;EAAgB;EAAY;EAAU;EAAW;EAAgB;;;AAErF;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;;;AAGF;EACC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;EACA;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGD;AAAA;EAEC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;;;AAGD;EACC;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO;;;AAET;EACE;IAAK;;EACL;IAAO","file":"upload.css"} \ No newline at end of file
diff --git a/apps/files/css/upload.scss b/apps/files/css/upload.scss
index 3706bb5323f..88207e0a844 100644
--- a/apps/files/css/upload.scss
+++ b/apps/files/css/upload.scss
@@ -156,7 +156,7 @@
.oc-dialog .fileexists .original,
.oc-dialog .fileexists .replacement {
float: left;
- width: 225px;
+ width: 50%;
}
.oc-dialog .fileexists .conflicts {
overflow-y: auto;
diff --git a/apps/files/js/file-upload.js b/apps/files/js/file-upload.js
index 69f9d9d0e63..a0b46e1d03b 100644
--- a/apps/files/js/file-upload.js
+++ b/apps/files/js/file-upload.js
@@ -76,6 +76,11 @@ OC.FileUpload.prototype = {
id: null,
/**
+ * Upload data structure
+ */
+ data: null,
+
+ /**
* Upload element
*
* @type Object
@@ -337,6 +342,10 @@ OC.FileUpload.prototype = {
return
}
this.aborted = true;
+ if (this.data) {
+ // abort running XHR
+ this.data.abort();
+ }
this._delete();
},
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 7caed29baa3..1eed1902b29 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -976,6 +976,8 @@
// Select only visible checkboxes to filter out unmatched file in search
this.$fileList.find('td.selection > .selectCheckBox:visible').prop('checked', checked)
.closest('tr').toggleClass('selected', checked);
+ // For prevents the selection of encrypted folders when clicking on the "Select all" checkbox
+ this.$fileList.find('tr[data-e2eencrypted="true"]').find('td.selection > .selectCheckBox:visible').prop('checked', false).closest('tr').toggleClass('selected', false);
if (checked) {
for (var i = 0; i < this.files.length; i++) {
@@ -984,7 +986,7 @@
var fileData = this.files[i];
var fileRow = this.$fileList.find('tr[data-id=' + fileData.id + ']');
// do not select already selected ones
- if (!fileRow.hasClass('hidden') && _.isUndefined(this._selectedFiles[fileData.id])) {
+ if (!fileRow.hasClass('hidden') && _.isUndefined(this._selectedFiles[fileData.id]) && (!fileData.isEncrypted)) {
this._selectedFiles[fileData.id] = fileData;
this._selectionSummary.add(fileData);
}
@@ -1424,6 +1426,10 @@
tr.addClass('selected');
tr.find('.selectCheckBox').prop('checked', true);
}
+ if (tr.attr('data-e2eencrypted') === 'true') {
+ tr.toggleClass('selected', false);
+ tr.find('td.selection > .selectCheckBox:visible').prop('checked', false);
+ }
if (animate) {
tr.addClass('appear transparent');
}
diff --git a/apps/files/l10n/ca.js b/apps/files/l10n/ca.js
index a75d08f0846..f68f316b9b2 100644
--- a/apps/files/l10n/ca.js
+++ b/apps/files/l10n/ca.js
@@ -17,14 +17,15 @@ OC.L10N.register(
"Could not create folder \"{dir}\"" : "No s'ha pogut crear la carpeta «{dir}»",
"This will stop your current uploads." : "Això aturarà les pujades actuals.",
"Upload cancelled." : "S'ha cancel·lat la pujada.",
- "Processing files …" : "S'estan processant els fitxers...",
+ "Processing files …" : "S'estan processant els fitxers …",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "No s'ha pogut pujar {filename} perquè és una carpeta o té 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, esteu pujant {size1} però només teniu {size2} lliures",
"Target folder \"{dir}\" does not exist any more" : "La carpeta de destinació «{dir}» ja no existeix",
"Not enough free space" : "No hi ha prou espai lliure",
"An unknown error has occurred" : "S'ha produït un error desconegut",
- "Uploading …" : "S'està pujant...",
+ "File could not be uploaded" : "No s'ha pogut pujar el fitxer",
+ "Uploading …" : "S'està pujant …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Uploading that item is not supported" : "No s'admet la pujada aquest element",
"Target folder does not exist any more" : "La carpeta de destinació ja no existeix",
@@ -35,6 +36,7 @@ OC.L10N.register(
"Move" : "Mou",
"Copy" : "Copia",
"Choose target folder" : "Trieu la carpeta de destinació",
+ "Edit locally" : "Edició local",
"Open" : "Obre",
"Delete file" : "Suprimeix el fitxer",
"Delete folder" : "Suprimeix la carpeta",
@@ -50,7 +52,7 @@ OC.L10N.register(
"Pending" : "Pendent",
"Unable to determine date" : "No s'ha pogut determinar la data",
"This operation is forbidden" : "Aquesta operació no està permesa",
- "This directory is unavailable, please check the logs or contact the administrator" : "Aquesta carpeta no està disponible. Consulteu els registres o contacteu amb l'administrador.",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Aquest directori no està disponible. Consulteu els registres o contacteu amb l'administrador",
"Could not move \"{file}\", target exists" : "No s'ha pogut desplaçar «{file}», el fitxer de destinació ja existeix",
"Could not move \"{file}\"" : "No s'ha pogut desplaçar «{file}»",
"copy" : "còpia",
@@ -58,6 +60,7 @@ OC.L10N.register(
"Could not copy \"{file}\"" : "No s'ha pogut copiar «{file}»",
"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}",
+ "Failed to redirect to client" : "No s'ha pogut redirigir al client",
"{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.",
@@ -78,7 +81,9 @@ OC.L10N.register(
"_including %n hidden_::_including %n hidden_" : ["incloent-hi %n element ocult","incloent-hi %n elements ocults"],
"You do not have permission to upload or create files here" : "No teniu permís per a pujar o crear fitxers aquí",
"_Uploading %n file_::_Uploading %n files_" : ["S'està pujant %n fitxer","S'estan pujant %n fitxers"],
+ "New file/folder menu" : "Nou menú fitxer/carpeta",
"Select file range" : "Selecciona un interval de fitxers",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "{used} de {quota} en ús",
"{used} used" : "{used} en ús",
"\"{name}\" is an invalid file name." : "«{name}» no és un nom de fitxer vàlid.",
@@ -188,7 +193,9 @@ OC.L10N.register(
"Templates" : "Plantilles",
"Unable to initialize the templates directory" : "No s'ha pogut inicialitzar la carpeta de plantilles",
"%s used" : "%s en ús",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%1$s de %2$s en ús",
+ "Files settings" : "Paràmetres dels fitxers",
"Show hidden files" : "Mostra els fitxers ocults",
"Crop image previews" : "Retalla les previsualitzacions de les imatges",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/ca.json b/apps/files/l10n/ca.json
index 271de7171fc..bfc68ea19ee 100644
--- a/apps/files/l10n/ca.json
+++ b/apps/files/l10n/ca.json
@@ -15,14 +15,15 @@
"Could not create folder \"{dir}\"" : "No s'ha pogut crear la carpeta «{dir}»",
"This will stop your current uploads." : "Això aturarà les pujades actuals.",
"Upload cancelled." : "S'ha cancel·lat la pujada.",
- "Processing files …" : "S'estan processant els fitxers...",
+ "Processing files …" : "S'estan processant els fitxers …",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "No s'ha pogut pujar {filename} perquè és una carpeta o té 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "No hi ha prou espai lliure, esteu pujant {size1} però només teniu {size2} lliures",
"Target folder \"{dir}\" does not exist any more" : "La carpeta de destinació «{dir}» ja no existeix",
"Not enough free space" : "No hi ha prou espai lliure",
"An unknown error has occurred" : "S'ha produït un error desconegut",
- "Uploading …" : "S'està pujant...",
+ "File could not be uploaded" : "No s'ha pogut pujar el fitxer",
+ "Uploading …" : "S'està pujant …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Uploading that item is not supported" : "No s'admet la pujada aquest element",
"Target folder does not exist any more" : "La carpeta de destinació ja no existeix",
@@ -33,6 +34,7 @@
"Move" : "Mou",
"Copy" : "Copia",
"Choose target folder" : "Trieu la carpeta de destinació",
+ "Edit locally" : "Edició local",
"Open" : "Obre",
"Delete file" : "Suprimeix el fitxer",
"Delete folder" : "Suprimeix la carpeta",
@@ -48,7 +50,7 @@
"Pending" : "Pendent",
"Unable to determine date" : "No s'ha pogut determinar la data",
"This operation is forbidden" : "Aquesta operació no està permesa",
- "This directory is unavailable, please check the logs or contact the administrator" : "Aquesta carpeta no està disponible. Consulteu els registres o contacteu amb l'administrador.",
+ "This directory is unavailable, please check the logs or contact the administrator" : "Aquest directori no està disponible. Consulteu els registres o contacteu amb l'administrador",
"Could not move \"{file}\", target exists" : "No s'ha pogut desplaçar «{file}», el fitxer de destinació ja existeix",
"Could not move \"{file}\"" : "No s'ha pogut desplaçar «{file}»",
"copy" : "còpia",
@@ -56,6 +58,7 @@
"Could not copy \"{file}\"" : "No s'ha pogut copiar «{file}»",
"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}",
+ "Failed to redirect to client" : "No s'ha pogut redirigir al client",
"{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.",
@@ -76,7 +79,9 @@
"_including %n hidden_::_including %n hidden_" : ["incloent-hi %n element ocult","incloent-hi %n elements ocults"],
"You do not have permission to upload or create files here" : "No teniu permís per a pujar o crear fitxers aquí",
"_Uploading %n file_::_Uploading %n files_" : ["S'està pujant %n fitxer","S'estan pujant %n fitxers"],
+ "New file/folder menu" : "Nou menú fitxer/carpeta",
"Select file range" : "Selecciona un interval de fitxers",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "{used} de {quota} en ús",
"{used} used" : "{used} en ús",
"\"{name}\" is an invalid file name." : "«{name}» no és un nom de fitxer vàlid.",
@@ -186,7 +191,9 @@
"Templates" : "Plantilles",
"Unable to initialize the templates directory" : "No s'ha pogut inicialitzar la carpeta de plantilles",
"%s used" : "%s en ús",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%1$s de %2$s en ús",
+ "Files settings" : "Paràmetres dels fitxers",
"Show hidden files" : "Mostra els fitxers ocults",
"Crop image previews" : "Retalla les previsualitzacions de les imatges",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/da.js b/apps/files/l10n/da.js
index 6d8d08d80c9..ab9ce8e1f90 100644
--- a/apps/files/l10n/da.js
+++ b/apps/files/l10n/da.js
@@ -61,7 +61,7 @@ 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}",
"Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
- "{newName} already exists" : "{newName} eksistere allerede",
+ "{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}\"",
@@ -218,7 +218,7 @@ OC.L10N.register(
"Deleted shares" : "Slettede delinger",
"Pending shares" : "Afventende delinger",
"Text file" : "Tekstfil",
- "New text file.txt" : "Ny tekst file.txt",
+ "New text file.txt" : "Ny tekst fil.txt",
"Select" : "Vælg",
"You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her",
"New" : "Ny",
diff --git a/apps/files/l10n/da.json b/apps/files/l10n/da.json
index d2ae39efe7d..4ca04bf7ccf 100644
--- a/apps/files/l10n/da.json
+++ b/apps/files/l10n/da.json
@@ -59,7 +59,7 @@
"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}",
"Failed to redirect to client" : "Kunne ikke omdirigere til klienten",
- "{newName} already exists" : "{newName} eksistere allerede",
+ "{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}\"",
@@ -216,7 +216,7 @@
"Deleted shares" : "Slettede delinger",
"Pending shares" : "Afventende delinger",
"Text file" : "Tekstfil",
- "New text file.txt" : "Ny tekst file.txt",
+ "New text file.txt" : "Ny tekst fil.txt",
"Select" : "Vælg",
"You don’t have permission to upload or create files here" : "Du har ikke tilladelse til at uploade eller oprette filer her",
"New" : "Ny",
diff --git a/apps/files/l10n/el.js b/apps/files/l10n/el.js
index bdd00456c65..4a160142688 100644
--- a/apps/files/l10n/el.js
+++ b/apps/files/l10n/el.js
@@ -60,6 +60,7 @@ OC.L10N.register(
"Could not copy \"{file}\"" : "Αδυναμία αντιγραφής του \"{file}\"",
"Copied {origin} inside {destination}" : "Αντιγράφτηκε το {origin} στο {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Αντιγράφτηκε το {origin} και {nbfiles} άλλα αρχεία στο {destination}",
+ "Failed to redirect to client" : "Αποτυχία ανακατεύθυνσης στον πελάτη",
"{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}\". Παρακαλούμε διαλέξτε ένα διαφορετικό όνομα.",
diff --git a/apps/files/l10n/el.json b/apps/files/l10n/el.json
index 468eae4f11a..1a546a8eef0 100644
--- a/apps/files/l10n/el.json
+++ b/apps/files/l10n/el.json
@@ -58,6 +58,7 @@
"Could not copy \"{file}\"" : "Αδυναμία αντιγραφής του \"{file}\"",
"Copied {origin} inside {destination}" : "Αντιγράφτηκε το {origin} στο {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Αντιγράφτηκε το {origin} και {nbfiles} άλλα αρχεία στο {destination}",
+ "Failed to redirect to client" : "Αποτυχία ανακατεύθυνσης στον πελάτη",
"{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}\". Παρακαλούμε διαλέξτε ένα διαφορετικό όνομα.",
diff --git a/apps/files/l10n/en_GB.js b/apps/files/l10n/en_GB.js
index 5f4eafefe70..ce28fb4d90d 100644
--- a/apps/files/l10n/en_GB.js
+++ b/apps/files/l10n/en_GB.js
@@ -9,31 +9,46 @@ OC.L10N.register(
"Download" : "Download",
"Delete" : "Delete",
"Tags" : "Tags",
+ "Show list view" : "Show list view",
+ "Show grid view" : "Show grid view",
"Home" : "Home",
"Close" : "Close",
"Favorites" : "Favourites",
"Could not create folder \"{dir}\"" : "Could not create folder \"{dir}\"",
+ "This will stop your current uploads." : "This will stop your current uploads.",
"Upload cancelled." : "Upload cancelled.",
+ "Processing files …" : "Processing files …",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Unable to upload {filename} as it is a directory or has 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Not enough free space, you are uploading {size1} but only {size2} is left",
"Target folder \"{dir}\" does not exist any more" : "Target folder \"{dir}\" does not exist any more",
"Not enough free space" : "Not enough free space",
+ "An unknown error has occurred" : "An unknown error has occurred",
+ "File could not be uploaded" : "File could not be uploaded",
"Uploading …" : "Uploading …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Uploading that item is not supported",
"Target folder does not exist any more" : "Target folder does not exist any more",
+ "Operation is blocked by access control" : "Operation is blocked by access control",
"Error when assembling chunks, status code {status}" : "Error when assembling chunks, status code {status}",
"Actions" : "Actions",
"Rename" : "Rename",
"Move" : "Move",
"Copy" : "Copy",
+ "Choose target folder" : "Choose target folder",
+ "Edit locally" : "Edit locally",
"Open" : "Open",
"Delete file" : "Delete file",
"Delete folder" : "Delete folder",
"Disconnect storage" : "Disconnect storage",
+ "Leave this share" : "Leave this share",
"Could not load info for file \"{file}\"" : "Could not load info for file \"{file}\"",
"Files" : "Files",
"Details" : "Details",
+ "Please select tag(s) to add to the selection" : "Please select tag(s) to add to the selection",
+ "Apply tag(s) to selection" : "Apply tag(s) to selection",
+ "Select directory \"{dirName}\"" : "Select directory \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Select file \"{fileName}\"",
"Pending" : "Pending",
"Unable to determine date" : "Unable to determine date",
"This operation is forbidden" : "This operation is forbidden",
@@ -45,6 +60,7 @@ OC.L10N.register(
"Could not copy \"{file}\"" : "Could not copy \"{file}\"",
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
+ "Failed to redirect to client" : "Failed to redirect to client",
"{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.",
@@ -52,8 +68,10 @@ OC.L10N.register(
"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",
+ "Could not fetch file details \"{file}\"" : "Could not fetch file details \"{file}\"",
"Error deleting file \"{fileName}\"." : "Error deleting file \"{fileName}\".",
"No search results in other folders for {tag}{filter}{endtag}" : "No search results in other folders for {tag}{filter}{endtag}",
+ "Enter more than two characters to search in other folders" : "Enter more than two characters to search in other folders",
"Name" : "Name",
"Size" : "Size",
"Modified" : "Modified",
@@ -61,13 +79,26 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n file","%n files"],
"{dirs} and {files}" : "{dirs} and {files}",
"_including %n hidden_::_including %n hidden_" : ["including %n hidden","including %n hidden"],
+ "You do not have permission to upload or create files here" : "You do not have permission to upload or create files here",
"_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"],
+ "New file/folder menu" : "New file/folder menu",
+ "Select file range" : "Select file range",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "{used} of {quota} used",
"{used} used" : "{used} used",
"\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.",
"File name cannot be empty." : "File name cannot be empty.",
"\"/\" is not allowed inside a file name." : "\"/\" is not allowed inside a file name.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" is not an allowed filetype",
+ "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Storage of {owner} is full, files cannot be updated or synced anymore!",
+ "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!",
+ "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!",
+ "Your storage is full, files cannot be updated or synced anymore!" : "Your storage is full, files cannot be updated or synced anymore!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Storage of {owner} is almost full ({usedSpacePercent}%).",
+ "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%).",
+ "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%).",
+ "Your storage is almost full ({usedSpacePercent}%)." : "Your storage is almost full ({usedSpacePercent}%).",
+ "_matches \"{filter}\"_::_match \"{filter}\"_" : ["matches \"{filter}\"","match \"{filter}\""],
"View in folder" : "View in folder",
"Copied!" : "Copied!",
"Copy direct link (only works for users who have access to this file/folder)" : "Copy direct link (only works for users who have access to this file/folder)",
@@ -110,7 +141,13 @@ OC.L10N.register(
"{user} deleted an encrypted file in {file}" : "{user} deleted an encrypted file in {file}",
"You restored {file}" : "You restored {file}",
"{user} restored {file}" : "{user} restored {file}",
+ "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "You renamed {oldfile} (hidden) to {newfile} (hidden)",
+ "You renamed {oldfile} (hidden) to {newfile}" : "You renamed {oldfile} (hidden) to {newfile}",
+ "You renamed {oldfile} to {newfile} (hidden)" : "You renamed {oldfile} to {newfile} (hidden)",
"You renamed {oldfile} to {newfile}" : "You renamed {oldfile} to {newfile}",
+ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} renamed {oldfile} (hidden) to {newfile} (hidden)",
+ "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} renamed {oldfile} (hidden) to {newfile}",
+ "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} renamed {oldfile} to {newfile} (hidden)",
"{user} renamed {oldfile} to {newfile}" : "{user} renamed {oldfile} to {newfile}",
"You moved {oldfile} to {newfile}" : "You moved {oldfile} to {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} moved {oldfile} to {newfile}",
@@ -122,16 +159,49 @@ OC.L10N.register(
"Upload (max. %s)" : "Upload (max. %s)",
"Accept" : "Accept",
"Reject" : "Reject",
+ "Incoming ownership transfer from {user}" : "Incoming ownership transfer from {user}",
+ "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour.",
+ "Ownership transfer failed" : "Ownership transfer failed",
+ "Your ownership transfer of {path} to {user} failed." : "Your ownership transfer of {path} to {user} failed.",
+ "The ownership transfer of {path} from {user} failed." : "The ownership transfer of {path} from {user} failed.",
+ "Ownership transfer done" : "Ownership transfer done",
+ "Your ownership transfer of {path} to {user} has completed." : "Your ownership transfer of {path} to {user} has completed.",
+ "The ownership transfer of {path} from {user} has completed." : "The ownership transfer of {path} from {user} has completed.",
"in %s" : "in %s",
"File Management" : "File Management",
+ "Transfer ownership of a file or folder" : "Transfer ownership of a file or folder",
+ "Choose file or folder to transfer" : "Choose file or folder to transfer",
"Change" : "Change",
+ "New owner" : "New owner",
+ "Search users" : "Search users",
+ "Choose a file or folder to transfer" : "Choose a file or folder to transfer",
"Transfer" : "Transfer",
+ "Transfer {path} to {userid}" : "Transfer {path} to {userid}",
+ "Invalid path selected" : "Invalid path selected",
+ "Ownership transfer request sent" : "Ownership transfer request sent",
+ "Cannot transfer ownership of a file or folder you do not own" : "Cannot transfer ownership of a file or folder you do not own",
+ "Unable to change the favourite state of the file" : "Unable to change the favourite state of the file",
+ "Error while loading the file data" : "Error while loading the file data",
+ "Pick a template for {name}" : "Pick a template for {name}",
"Cancel" : "Cancel",
"Create" : "Create",
+ "Create a new file with the selected template" : "Create a new file with the selected template",
+ "Creating file" : "Creating file",
+ "Blank" : "Blank",
+ "Unable to create new file from template" : "Unable to create new file from template",
+ "Set up templates folder" : "Set up templates folder",
+ "Templates" : "Templates",
+ "Unable to initialize the templates directory" : "Unable to initialize the templates directory",
"%s used" : "%s used",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%1$s of %2$s used",
+ "Files settings" : "Files settings",
"Show hidden files" : "Show hidden files",
+ "Crop image previews" : "Crop image previews",
"WebDAV" : "WebDAV",
+ "Use this address to access your Files via WebDAV" : "Use this address to access your Files via WebDAV",
+ "Toggle %1$s sublist" : "Toggle %1$s sublist",
+ "Toggle grid view" : "Toggle grid view",
"No files in here" : "No files in here",
"Upload some content or sync with your devices!" : "Upload some content or sync with your devices!",
"No entries found in this folder" : "No entries found in this folder",
@@ -145,11 +215,14 @@ OC.L10N.register(
"Shared with others" : "Shared with others",
"Shared with you" : "Shared with you",
"Shared by link" : "Shared by link",
+ "Deleted shares" : "Deleted shares",
+ "Pending shares" : "Pending shares",
"Text file" : "Text file",
"New text file.txt" : "New text file.txt",
"Select" : "Select",
"You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here",
"New" : "New",
+ "Cannot transfer ownership of a file or folder you don't own" : "Cannot transfer ownership of a file or folder you don't own",
"Settings" : "Settings"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files/l10n/en_GB.json b/apps/files/l10n/en_GB.json
index c9ce683d7cf..54f2bb09ebd 100644
--- a/apps/files/l10n/en_GB.json
+++ b/apps/files/l10n/en_GB.json
@@ -7,31 +7,46 @@
"Download" : "Download",
"Delete" : "Delete",
"Tags" : "Tags",
+ "Show list view" : "Show list view",
+ "Show grid view" : "Show grid view",
"Home" : "Home",
"Close" : "Close",
"Favorites" : "Favourites",
"Could not create folder \"{dir}\"" : "Could not create folder \"{dir}\"",
+ "This will stop your current uploads." : "This will stop your current uploads.",
"Upload cancelled." : "Upload cancelled.",
+ "Processing files …" : "Processing files …",
"…" : "…",
"Unable to upload {filename} as it is a directory or has 0 bytes" : "Unable to upload {filename} as it is a directory or has 0 bytes",
"Not enough free space, you are uploading {size1} but only {size2} is left" : "Not enough free space, you are uploading {size1} but only {size2} is left",
"Target folder \"{dir}\" does not exist any more" : "Target folder \"{dir}\" does not exist any more",
"Not enough free space" : "Not enough free space",
+ "An unknown error has occurred" : "An unknown error has occurred",
+ "File could not be uploaded" : "File could not be uploaded",
"Uploading …" : "Uploading …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} of {totalSize} ({bitrate})",
+ "Uploading that item is not supported" : "Uploading that item is not supported",
"Target folder does not exist any more" : "Target folder does not exist any more",
+ "Operation is blocked by access control" : "Operation is blocked by access control",
"Error when assembling chunks, status code {status}" : "Error when assembling chunks, status code {status}",
"Actions" : "Actions",
"Rename" : "Rename",
"Move" : "Move",
"Copy" : "Copy",
+ "Choose target folder" : "Choose target folder",
+ "Edit locally" : "Edit locally",
"Open" : "Open",
"Delete file" : "Delete file",
"Delete folder" : "Delete folder",
"Disconnect storage" : "Disconnect storage",
+ "Leave this share" : "Leave this share",
"Could not load info for file \"{file}\"" : "Could not load info for file \"{file}\"",
"Files" : "Files",
"Details" : "Details",
+ "Please select tag(s) to add to the selection" : "Please select tag(s) to add to the selection",
+ "Apply tag(s) to selection" : "Apply tag(s) to selection",
+ "Select directory \"{dirName}\"" : "Select directory \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Select file \"{fileName}\"",
"Pending" : "Pending",
"Unable to determine date" : "Unable to determine date",
"This operation is forbidden" : "This operation is forbidden",
@@ -43,6 +58,7 @@
"Could not copy \"{file}\"" : "Could not copy \"{file}\"",
"Copied {origin} inside {destination}" : "Copied {origin} inside {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copied {origin} and {nbfiles} other files inside {destination}",
+ "Failed to redirect to client" : "Failed to redirect to client",
"{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.",
@@ -50,8 +66,10 @@
"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",
+ "Could not fetch file details \"{file}\"" : "Could not fetch file details \"{file}\"",
"Error deleting file \"{fileName}\"." : "Error deleting file \"{fileName}\".",
"No search results in other folders for {tag}{filter}{endtag}" : "No search results in other folders for {tag}{filter}{endtag}",
+ "Enter more than two characters to search in other folders" : "Enter more than two characters to search in other folders",
"Name" : "Name",
"Size" : "Size",
"Modified" : "Modified",
@@ -59,13 +77,26 @@
"_%n file_::_%n files_" : ["%n file","%n files"],
"{dirs} and {files}" : "{dirs} and {files}",
"_including %n hidden_::_including %n hidden_" : ["including %n hidden","including %n hidden"],
+ "You do not have permission to upload or create files here" : "You do not have permission to upload or create files here",
"_Uploading %n file_::_Uploading %n files_" : ["Uploading %n file","Uploading %n files"],
+ "New file/folder menu" : "New file/folder menu",
+ "Select file range" : "Select file range",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "{used} of {quota} used",
"{used} used" : "{used} used",
"\"{name}\" is an invalid file name." : "\"{name}\" is an invalid file name.",
"File name cannot be empty." : "File name cannot be empty.",
"\"/\" is not allowed inside a file name." : "\"/\" is not allowed inside a file name.",
"\"{name}\" is not an allowed filetype" : "\"{name}\" is not an allowed filetype",
+ "Storage of {owner} is full, files cannot be updated or synced anymore!" : "Storage of {owner} is full, files cannot be updated or synced anymore!",
+ "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "Group folder \"{mountPoint}\" is full, files cannot be updated or synced anymore!",
+ "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!" : "External storage \"{mountPoint}\" is full, files cannot be updated or synced anymore!",
+ "Your storage is full, files cannot be updated or synced anymore!" : "Your storage is full, files cannot be updated or synced anymore!",
+ "Storage of {owner} is almost full ({usedSpacePercent}%)." : "Storage of {owner} is almost full ({usedSpacePercent}%).",
+ "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "Group folder \"{mountPoint}\" is almost full ({usedSpacePercent}%).",
+ "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%)." : "External storage \"{mountPoint}\" is almost full ({usedSpacePercent}%).",
+ "Your storage is almost full ({usedSpacePercent}%)." : "Your storage is almost full ({usedSpacePercent}%).",
+ "_matches \"{filter}\"_::_match \"{filter}\"_" : ["matches \"{filter}\"","match \"{filter}\""],
"View in folder" : "View in folder",
"Copied!" : "Copied!",
"Copy direct link (only works for users who have access to this file/folder)" : "Copy direct link (only works for users who have access to this file/folder)",
@@ -108,7 +139,13 @@
"{user} deleted an encrypted file in {file}" : "{user} deleted an encrypted file in {file}",
"You restored {file}" : "You restored {file}",
"{user} restored {file}" : "{user} restored {file}",
+ "You renamed {oldfile} (hidden) to {newfile} (hidden)" : "You renamed {oldfile} (hidden) to {newfile} (hidden)",
+ "You renamed {oldfile} (hidden) to {newfile}" : "You renamed {oldfile} (hidden) to {newfile}",
+ "You renamed {oldfile} to {newfile} (hidden)" : "You renamed {oldfile} to {newfile} (hidden)",
"You renamed {oldfile} to {newfile}" : "You renamed {oldfile} to {newfile}",
+ "{user} renamed {oldfile} (hidden) to {newfile} (hidden)" : "{user} renamed {oldfile} (hidden) to {newfile} (hidden)",
+ "{user} renamed {oldfile} (hidden) to {newfile}" : "{user} renamed {oldfile} (hidden) to {newfile}",
+ "{user} renamed {oldfile} to {newfile} (hidden)" : "{user} renamed {oldfile} to {newfile} (hidden)",
"{user} renamed {oldfile} to {newfile}" : "{user} renamed {oldfile} to {newfile}",
"You moved {oldfile} to {newfile}" : "You moved {oldfile} to {newfile}",
"{user} moved {oldfile} to {newfile}" : "{user} moved {oldfile} to {newfile}",
@@ -120,16 +157,49 @@
"Upload (max. %s)" : "Upload (max. %s)",
"Accept" : "Accept",
"Reject" : "Reject",
+ "Incoming ownership transfer from {user}" : "Incoming ownership transfer from {user}",
+ "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour." : "Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour.",
+ "Ownership transfer failed" : "Ownership transfer failed",
+ "Your ownership transfer of {path} to {user} failed." : "Your ownership transfer of {path} to {user} failed.",
+ "The ownership transfer of {path} from {user} failed." : "The ownership transfer of {path} from {user} failed.",
+ "Ownership transfer done" : "Ownership transfer done",
+ "Your ownership transfer of {path} to {user} has completed." : "Your ownership transfer of {path} to {user} has completed.",
+ "The ownership transfer of {path} from {user} has completed." : "The ownership transfer of {path} from {user} has completed.",
"in %s" : "in %s",
"File Management" : "File Management",
+ "Transfer ownership of a file or folder" : "Transfer ownership of a file or folder",
+ "Choose file or folder to transfer" : "Choose file or folder to transfer",
"Change" : "Change",
+ "New owner" : "New owner",
+ "Search users" : "Search users",
+ "Choose a file or folder to transfer" : "Choose a file or folder to transfer",
"Transfer" : "Transfer",
+ "Transfer {path} to {userid}" : "Transfer {path} to {userid}",
+ "Invalid path selected" : "Invalid path selected",
+ "Ownership transfer request sent" : "Ownership transfer request sent",
+ "Cannot transfer ownership of a file or folder you do not own" : "Cannot transfer ownership of a file or folder you do not own",
+ "Unable to change the favourite state of the file" : "Unable to change the favourite state of the file",
+ "Error while loading the file data" : "Error while loading the file data",
+ "Pick a template for {name}" : "Pick a template for {name}",
"Cancel" : "Cancel",
"Create" : "Create",
+ "Create a new file with the selected template" : "Create a new file with the selected template",
+ "Creating file" : "Creating file",
+ "Blank" : "Blank",
+ "Unable to create new file from template" : "Unable to create new file from template",
+ "Set up templates folder" : "Set up templates folder",
+ "Templates" : "Templates",
+ "Unable to initialize the templates directory" : "Unable to initialize the templates directory",
"%s used" : "%s used",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%1$s of %2$s used",
+ "Files settings" : "Files settings",
"Show hidden files" : "Show hidden files",
+ "Crop image previews" : "Crop image previews",
"WebDAV" : "WebDAV",
+ "Use this address to access your Files via WebDAV" : "Use this address to access your Files via WebDAV",
+ "Toggle %1$s sublist" : "Toggle %1$s sublist",
+ "Toggle grid view" : "Toggle grid view",
"No files in here" : "No files in here",
"Upload some content or sync with your devices!" : "Upload some content or sync with your devices!",
"No entries found in this folder" : "No entries found in this folder",
@@ -143,11 +213,14 @@
"Shared with others" : "Shared with others",
"Shared with you" : "Shared with you",
"Shared by link" : "Shared by link",
+ "Deleted shares" : "Deleted shares",
+ "Pending shares" : "Pending shares",
"Text file" : "Text file",
"New text file.txt" : "New text file.txt",
"Select" : "Select",
"You don’t have permission to upload or create files here" : "You don’t have permission to upload or create files here",
"New" : "New",
+ "Cannot transfer ownership of a file or folder you don't own" : "Cannot transfer ownership of a file or folder you don't own",
"Settings" : "Settings"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files/l10n/fa.js b/apps/files/l10n/fa.js
index 9e16aae3c96..3a690aec41e 100644
--- a/apps/files/l10n/fa.js
+++ b/apps/files/l10n/fa.js
@@ -103,6 +103,7 @@ OC.L10N.register(
"Invalid path selected" : "مسیر نامعتبر انتخاب شده است",
"Cancel" : "لغو",
"Create" : "ساخت",
+ "Templates" : "قالب‌ها",
"%1$s of %2$s used" : "%1$s از %2$s استفاده شده ",
"Show hidden files" : "نمایش فایل‌های مخفی",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/fa.json b/apps/files/l10n/fa.json
index 149a73b4b78..1f710152897 100644
--- a/apps/files/l10n/fa.json
+++ b/apps/files/l10n/fa.json
@@ -101,6 +101,7 @@
"Invalid path selected" : "مسیر نامعتبر انتخاب شده است",
"Cancel" : "لغو",
"Create" : "ساخت",
+ "Templates" : "قالب‌ها",
"%1$s of %2$s used" : "%1$s از %2$s استفاده شده ",
"Show hidden files" : "نمایش فایل‌های مخفی",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/fr.js b/apps/files/l10n/fr.js
index 23ccff5dc7a..8cd4fe4d9ef 100644
--- a/apps/files/l10n/fr.js
+++ b/apps/files/l10n/fr.js
@@ -197,7 +197,7 @@ OC.L10N.register(
"%1$s of %2$s used" : "%1$s utilisés sur %2$s",
"Files settings" : "Paramètres des fichiers",
"Show hidden files" : "Afficher les fichiers masqués",
- "Crop image previews" : "Activer l'affichage en miniatures carrées",
+ "Crop image previews" : "Afficher en miniatures carrées",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Utilisez cette adresse pour accéder à vos fichiers via WebDAV",
"Toggle %1$s sublist" : "Basculer %1$s sous-liste",
diff --git a/apps/files/l10n/fr.json b/apps/files/l10n/fr.json
index 14fe18ae9ff..212fbeb7b27 100644
--- a/apps/files/l10n/fr.json
+++ b/apps/files/l10n/fr.json
@@ -195,7 +195,7 @@
"%1$s of %2$s used" : "%1$s utilisés sur %2$s",
"Files settings" : "Paramètres des fichiers",
"Show hidden files" : "Afficher les fichiers masqués",
- "Crop image previews" : "Activer l'affichage en miniatures carrées",
+ "Crop image previews" : "Afficher en miniatures carrées",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Utilisez cette adresse pour accéder à vos fichiers via WebDAV",
"Toggle %1$s sublist" : "Basculer %1$s sous-liste",
diff --git a/apps/files/l10n/gl.js b/apps/files/l10n/gl.js
index f7b42e94ef9..989f6f26c0a 100644
--- a/apps/files/l10n/gl.js
+++ b/apps/files/l10n/gl.js
@@ -9,6 +9,8 @@ OC.L10N.register(
"Download" : "Descargar",
"Delete" : "Eliminar",
"Tags" : "Etiquetas",
+ "Show list view" : "Mostrar vista de lista",
+ "Show grid view" : "Mostrar a vista de cuadrícula",
"Home" : "Inicio",
"Close" : "Pechar",
"Favorites" : "Favoritos",
@@ -22,6 +24,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "O cartafol de destino «{dir}» xa non existe",
"Not enough free space" : "Non hai espazo libre abondo",
"An unknown error has occurred" : "Produciuse un erro descoñecido",
+ "File could not be uploaded" : "Non se puido cargar o ficheiro",
"Uploading …" : "Enviando…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Non se admite o envío deste elemento",
@@ -33,6 +36,7 @@ OC.L10N.register(
"Move" : "Mover",
"Copy" : "Copiar",
"Choose target folder" : "Escoller o cartafol de destino",
+ "Edit locally" : "Editar localmente",
"Open" : "Abrir",
"Delete file" : "Eliminar ficheiro",
"Delete folder" : "Eliminar cartafol",
@@ -43,6 +47,8 @@ OC.L10N.register(
"Details" : "Detalles",
"Please select tag(s) to add to the selection" : "Elixe a etiqueta(s) para engadir á selección",
"Apply tag(s) to selection" : "Aplicar etiqueta(s) á selección",
+ "Select directory \"{dirName}\"" : "Seleccione o directorio \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Seleccione o ficheiro \"{fileName}\"",
"Pending" : "Pendentes",
"Unable to determine date" : "Non é posíbel determinar a data",
"This operation is forbidden" : "Esta operación está prohibida",
@@ -54,6 +60,7 @@ OC.L10N.register(
"Could not copy \"{file}\"" : "Non foi posíbel copiar «{file}",
"Copied {origin} inside {destination}" : "Copiado {origin} en {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiado {origin} e outros {nbfiles} ficheiros en {destination} ",
+ "Failed to redirect to client" : "Produciuse un erro ao redirixir ao cliente",
"{newName} already exists" : "Xa existe {newName}",
"Could not rename \"{fileName}\", it does not exist any more" : "Non foi posíbel renomear «{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.",
@@ -72,8 +79,11 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluíndo %n agachado","incluíndo %n agochados"],
+ "You do not have permission to upload or create files here" : "Non tes permiso para cargar ou crear ficheiros aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Enviando %n ficheiro","Enviando %n ficheiros"],
+ "New file/folder menu" : "Novo menú ficheiro/cartafol",
"Select file range" : "Seleccionar o intervalo de ficheiros ",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "Usados {used} de {quota}",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.",
@@ -168,6 +178,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Transferir {path} cara a {userid}",
"Invalid path selected" : "Seleccionou unha ruta incorrecta.",
"Ownership transfer request sent" : "Enviouse solicitude de transferencia da propiedade",
+ "Cannot transfer ownership of a file or folder you do not own" : "Non se pode transferir a propiedade dun ficheiro ou cartafol do que non eres propietario",
"Unable to change the favourite state of the file" : "Non é posíbel cambiar o estado favorito do ficheiro",
"Error while loading the file data" : "Produciuse un erro ao cargar os datos do ficheiro",
"Pick a template for {name}" : "Escolla un modelo para {name}",
@@ -181,11 +192,14 @@ OC.L10N.register(
"Templates" : "Modelos",
"Unable to initialize the templates directory" : "Non é posíbel iniciar o directorio de modelos",
"%s used" : "%s utilizado",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%s de %s utilizado",
+ "Files settings" : "Axustes de ficheiros",
"Show hidden files" : "Amosar os ficheiros agochados",
"Crop image previews" : "Recortar a vista previa das imaxes",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Empregue este enderezo para acceder ao seu Ficheiros mediante WebDAV",
+ "Toggle %1$s sublist" : "Alternar %1$s sublista",
"Toggle grid view" : "Alternar a vista como grella",
"No files in here" : "Aquí non hai ficheiros",
"Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!",
diff --git a/apps/files/l10n/gl.json b/apps/files/l10n/gl.json
index 0b432ebfba8..c8f6f1c92b3 100644
--- a/apps/files/l10n/gl.json
+++ b/apps/files/l10n/gl.json
@@ -7,6 +7,8 @@
"Download" : "Descargar",
"Delete" : "Eliminar",
"Tags" : "Etiquetas",
+ "Show list view" : "Mostrar vista de lista",
+ "Show grid view" : "Mostrar a vista de cuadrícula",
"Home" : "Inicio",
"Close" : "Pechar",
"Favorites" : "Favoritos",
@@ -20,6 +22,7 @@
"Target folder \"{dir}\" does not exist any more" : "O cartafol de destino «{dir}» xa non existe",
"Not enough free space" : "Non hai espazo libre abondo",
"An unknown error has occurred" : "Produciuse un erro descoñecido",
+ "File could not be uploaded" : "Non se puido cargar o ficheiro",
"Uploading …" : "Enviando…",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} de {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Non se admite o envío deste elemento",
@@ -31,6 +34,7 @@
"Move" : "Mover",
"Copy" : "Copiar",
"Choose target folder" : "Escoller o cartafol de destino",
+ "Edit locally" : "Editar localmente",
"Open" : "Abrir",
"Delete file" : "Eliminar ficheiro",
"Delete folder" : "Eliminar cartafol",
@@ -41,6 +45,8 @@
"Details" : "Detalles",
"Please select tag(s) to add to the selection" : "Elixe a etiqueta(s) para engadir á selección",
"Apply tag(s) to selection" : "Aplicar etiqueta(s) á selección",
+ "Select directory \"{dirName}\"" : "Seleccione o directorio \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Seleccione o ficheiro \"{fileName}\"",
"Pending" : "Pendentes",
"Unable to determine date" : "Non é posíbel determinar a data",
"This operation is forbidden" : "Esta operación está prohibida",
@@ -52,6 +58,7 @@
"Could not copy \"{file}\"" : "Non foi posíbel copiar «{file}",
"Copied {origin} inside {destination}" : "Copiado {origin} en {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Copiado {origin} e outros {nbfiles} ficheiros en {destination} ",
+ "Failed to redirect to client" : "Produciuse un erro ao redirixir ao cliente",
"{newName} already exists" : "Xa existe {newName}",
"Could not rename \"{fileName}\", it does not exist any more" : "Non foi posíbel renomear «{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.",
@@ -70,8 +77,11 @@
"_%n file_::_%n files_" : ["%n ficheiro","%n ficheiros"],
"{dirs} and {files}" : "{dirs} e {files}",
"_including %n hidden_::_including %n hidden_" : ["incluíndo %n agachado","incluíndo %n agochados"],
+ "You do not have permission to upload or create files here" : "Non tes permiso para cargar ou crear ficheiros aquí",
"_Uploading %n file_::_Uploading %n files_" : ["Enviando %n ficheiro","Enviando %n ficheiros"],
+ "New file/folder menu" : "Novo menú ficheiro/cartafol",
"Select file range" : "Seleccionar o intervalo de ficheiros ",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "Usados {used} de {quota}",
"{used} used" : "{used} usados",
"\"{name}\" is an invalid file name." : "«{name}» é un nome incorrecto de ficheiro.",
@@ -166,6 +176,7 @@
"Transfer {path} to {userid}" : "Transferir {path} cara a {userid}",
"Invalid path selected" : "Seleccionou unha ruta incorrecta.",
"Ownership transfer request sent" : "Enviouse solicitude de transferencia da propiedade",
+ "Cannot transfer ownership of a file or folder you do not own" : "Non se pode transferir a propiedade dun ficheiro ou cartafol do que non eres propietario",
"Unable to change the favourite state of the file" : "Non é posíbel cambiar o estado favorito do ficheiro",
"Error while loading the file data" : "Produciuse un erro ao cargar os datos do ficheiro",
"Pick a template for {name}" : "Escolla un modelo para {name}",
@@ -179,11 +190,14 @@
"Templates" : "Modelos",
"Unable to initialize the templates directory" : "Non é posíbel iniciar o directorio de modelos",
"%s used" : "%s utilizado",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%s de %s utilizado",
+ "Files settings" : "Axustes de ficheiros",
"Show hidden files" : "Amosar os ficheiros agochados",
"Crop image previews" : "Recortar a vista previa das imaxes",
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Empregue este enderezo para acceder ao seu Ficheiros mediante WebDAV",
+ "Toggle %1$s sublist" : "Alternar %1$s sublista",
"Toggle grid view" : "Alternar a vista como grella",
"No files in here" : "Aquí non hai ficheiros",
"Upload some content or sync with your devices!" : "Envíe algún contido ou sincronice cos seus dispositivos!",
diff --git a/apps/files/l10n/mk.js b/apps/files/l10n/mk.js
index bf8e3acabed..bbf7e1830a4 100644
--- a/apps/files/l10n/mk.js
+++ b/apps/files/l10n/mk.js
@@ -36,6 +36,7 @@ OC.L10N.register(
"Move" : "Премести",
"Copy" : "Копирај",
"Choose target folder" : "Избери папка",
+ "Edit locally" : "Уреди локално",
"Open" : "Отвори",
"Delete file" : "Избриши датотека",
"Delete folder" : "Избриши папка",
@@ -59,6 +60,7 @@ OC.L10N.register(
"Could not copy \"{file}\"" : "Не може да се копира \"{file}\"",
"Copied {origin} inside {destination}" : "Копирана {origin} во {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Копирана {origin} и {nbfiles} други датотеки во {destination}",
+ "Failed to redirect to client" : "Неуспешно пренасочување кон клиентот",
"{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}\". Ве молиме изберете друго име.",
@@ -81,6 +83,7 @@ OC.L10N.register(
"_Uploading %n file_::_Uploading %n files_" : ["Прикачување %n датотека","Прикачување на %n датотеки"],
"New file/folder menu" : "Мени Нова датотека/папка",
"Select file range" : "Избери опсег на датотеки",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "Искористени {used} од {quota}",
"{used} used" : "Искористени {used}",
"\"{name}\" is an invalid file name." : "\"{name}\" е невалидно име за датотека.",
@@ -190,6 +193,7 @@ OC.L10N.register(
"Templates" : "Шаблони",
"Unable to initialize the templates directory" : "Не може да се иницијализира папка за шаблони",
"%s used" : "Искористено %s",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "Искористено %1$s од %2$s",
"Files settings" : "Параметри за датотеки",
"Show hidden files" : "Прикажи сокриени датотеки",
diff --git a/apps/files/l10n/mk.json b/apps/files/l10n/mk.json
index 5e1daf98594..d617748c211 100644
--- a/apps/files/l10n/mk.json
+++ b/apps/files/l10n/mk.json
@@ -34,6 +34,7 @@
"Move" : "Премести",
"Copy" : "Копирај",
"Choose target folder" : "Избери папка",
+ "Edit locally" : "Уреди локално",
"Open" : "Отвори",
"Delete file" : "Избриши датотека",
"Delete folder" : "Избриши папка",
@@ -57,6 +58,7 @@
"Could not copy \"{file}\"" : "Не може да се копира \"{file}\"",
"Copied {origin} inside {destination}" : "Копирана {origin} во {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "Копирана {origin} и {nbfiles} други датотеки во {destination}",
+ "Failed to redirect to client" : "Неуспешно пренасочување кон клиентот",
"{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}\". Ве молиме изберете друго име.",
@@ -79,6 +81,7 @@
"_Uploading %n file_::_Uploading %n files_" : ["Прикачување %n датотека","Прикачување на %n датотеки"],
"New file/folder menu" : "Мени Нова датотека/папка",
"Select file range" : "Избери опсег на датотеки",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "Искористени {used} од {quota}",
"{used} used" : "Искористени {used}",
"\"{name}\" is an invalid file name." : "\"{name}\" е невалидно име за датотека.",
@@ -188,6 +191,7 @@
"Templates" : "Шаблони",
"Unable to initialize the templates directory" : "Не може да се иницијализира папка за шаблони",
"%s used" : "Искористено %s",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "Искористено %1$s од %2$s",
"Files settings" : "Параметри за датотеки",
"Show hidden files" : "Прикажи сокриени датотеки",
diff --git a/apps/files/l10n/nb.js b/apps/files/l10n/nb.js
index e2f64de6fef..818602f5263 100644
--- a/apps/files/l10n/nb.js
+++ b/apps/files/l10n/nb.js
@@ -36,6 +36,7 @@ OC.L10N.register(
"Move" : "Flytt",
"Copy" : "Kopier",
"Choose target folder" : "Velg målmappe",
+ "Edit locally" : "Rediger lokalt",
"Open" : "Åpne",
"Delete file" : "Slett fil",
"Delete folder" : "Slett mappe",
diff --git a/apps/files/l10n/nb.json b/apps/files/l10n/nb.json
index 2eac5e712a6..9024c948b92 100644
--- a/apps/files/l10n/nb.json
+++ b/apps/files/l10n/nb.json
@@ -34,6 +34,7 @@
"Move" : "Flytt",
"Copy" : "Kopier",
"Choose target folder" : "Velg målmappe",
+ "Edit locally" : "Rediger lokalt",
"Open" : "Åpne",
"Delete file" : "Slett fil",
"Delete folder" : "Slett mappe",
diff --git a/apps/files/l10n/nl.js b/apps/files/l10n/nl.js
index 0d195cdd9d8..b68036ad55b 100644
--- a/apps/files/l10n/nl.js
+++ b/apps/files/l10n/nl.js
@@ -9,6 +9,8 @@ OC.L10N.register(
"Download" : "Downloaden",
"Delete" : "Verwijderen",
"Tags" : "Tags",
+ "Show list view" : "Toon lijstweergave",
+ "Show grid view" : "Toon roosterweergave",
"Home" : "Thuis",
"Close" : "Sluiten",
"Favorites" : "Favorieten",
@@ -22,6 +24,7 @@ OC.L10N.register(
"Target folder \"{dir}\" does not exist any more" : "Doelmap \"{dir}\" bestaat niet meer",
"Not enough free space" : "Onvoldoende vrije ruimte",
"An unknown error has occurred" : "Er trad een onbekende fout op.",
+ "File could not be uploaded" : "Bestand kon niet geüpload worden",
"Uploading …" : "Uploaden …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Uploaden van dat object is niet ondersteund",
@@ -43,6 +46,8 @@ OC.L10N.register(
"Details" : "Details",
"Please select tag(s) to add to the selection" : "Selecteer alsjeblieft tag(s) om aan de selectie toe te voegen",
"Apply tag(s) to selection" : "Pas tag(s) toe voor selectie",
+ "Select directory \"{dirName}\"" : "Kies map \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Kies bestand \"{fileName}\"",
"Pending" : "In behandeling",
"Unable to determine date" : "Kon datum niet vaststellen",
"This operation is forbidden" : "Deze taak is verboden",
@@ -72,8 +77,10 @@ OC.L10N.register(
"_%n file_::_%n files_" : ["%n bestand","%n bestanden"],
"{dirs} and {files}" : "{dirs} en {files}",
"_including %n hidden_::_including %n hidden_" : ["inclusief %n verborgen","inclusief %n verborgen"],
+ "You do not have permission to upload or create files here" : "Je hebt geen toestemming om hier te uploaden of bestanden aan te maken",
"_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"],
"Select file range" : "Kies een reeks bestanden",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "{used} van {quota} gebruikt",
"{used} used" : "{used} gebruikt",
"\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.",
@@ -169,6 +176,7 @@ OC.L10N.register(
"Transfer {path} to {userid}" : "Draag {path} over aan {userid}",
"Invalid path selected" : "Ongeldig pad geselecteerd",
"Ownership transfer request sent" : "Aanvraag eigendomsoverdracht verstuurd",
+ "Cannot transfer ownership of a file or folder you do not own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
"Unable to change the favourite state of the file" : "Niet mogelijk om favoriet status van het bestand te wijzigen",
"Error while loading the file data" : "Fout bij het lezen van de bestandsgegevens",
"Pick a template for {name}" : "Kies een sjabloon voor {name}",
@@ -182,6 +190,7 @@ OC.L10N.register(
"Templates" : "Sjablonen",
"Unable to initialize the templates directory" : "Kon de sjablonenmap niet instellen",
"%s used" : "%s gebruikt",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%1$s van %2$s gebruikt",
"Show hidden files" : "Toon verborgen bestanden",
"Crop image previews" : "Snij afbeeldingvoorbeelden bij",
diff --git a/apps/files/l10n/nl.json b/apps/files/l10n/nl.json
index 202f27dab20..55296d113e7 100644
--- a/apps/files/l10n/nl.json
+++ b/apps/files/l10n/nl.json
@@ -7,6 +7,8 @@
"Download" : "Downloaden",
"Delete" : "Verwijderen",
"Tags" : "Tags",
+ "Show list view" : "Toon lijstweergave",
+ "Show grid view" : "Toon roosterweergave",
"Home" : "Thuis",
"Close" : "Sluiten",
"Favorites" : "Favorieten",
@@ -20,6 +22,7 @@
"Target folder \"{dir}\" does not exist any more" : "Doelmap \"{dir}\" bestaat niet meer",
"Not enough free space" : "Onvoldoende vrije ruimte",
"An unknown error has occurred" : "Er trad een onbekende fout op.",
+ "File could not be uploaded" : "Bestand kon niet geüpload worden",
"Uploading …" : "Uploaden …",
"{loadedSize} of {totalSize} ({bitrate})" : "{loadedSize} van {totalSize} ({bitrate})",
"Uploading that item is not supported" : "Uploaden van dat object is niet ondersteund",
@@ -41,6 +44,8 @@
"Details" : "Details",
"Please select tag(s) to add to the selection" : "Selecteer alsjeblieft tag(s) om aan de selectie toe te voegen",
"Apply tag(s) to selection" : "Pas tag(s) toe voor selectie",
+ "Select directory \"{dirName}\"" : "Kies map \"{dirName}\"",
+ "Select file \"{fileName}\"" : "Kies bestand \"{fileName}\"",
"Pending" : "In behandeling",
"Unable to determine date" : "Kon datum niet vaststellen",
"This operation is forbidden" : "Deze taak is verboden",
@@ -70,8 +75,10 @@
"_%n file_::_%n files_" : ["%n bestand","%n bestanden"],
"{dirs} and {files}" : "{dirs} en {files}",
"_including %n hidden_::_including %n hidden_" : ["inclusief %n verborgen","inclusief %n verborgen"],
+ "You do not have permission to upload or create files here" : "Je hebt geen toestemming om hier te uploaden of bestanden aan te maken",
"_Uploading %n file_::_Uploading %n files_" : ["%n bestand aan het uploaden","%n bestanden aan het uploaden"],
"Select file range" : "Kies een reeks bestanden",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "{used} van {quota} gebruikt",
"{used} used" : "{used} gebruikt",
"\"{name}\" is an invalid file name." : "\"{name}\" is een ongeldige bestandsnaam.",
@@ -167,6 +174,7 @@
"Transfer {path} to {userid}" : "Draag {path} over aan {userid}",
"Invalid path selected" : "Ongeldig pad geselecteerd",
"Ownership transfer request sent" : "Aanvraag eigendomsoverdracht verstuurd",
+ "Cannot transfer ownership of a file or folder you do not own" : "Kan de eigendom van een bestand of map waarvan u niet de eigenaar bent, niet overdragen",
"Unable to change the favourite state of the file" : "Niet mogelijk om favoriet status van het bestand te wijzigen",
"Error while loading the file data" : "Fout bij het lezen van de bestandsgegevens",
"Pick a template for {name}" : "Kies een sjabloon voor {name}",
@@ -180,6 +188,7 @@
"Templates" : "Sjablonen",
"Unable to initialize the templates directory" : "Kon de sjablonenmap niet instellen",
"%s used" : "%s gebruikt",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%1$s van %2$s gebruikt",
"Show hidden files" : "Toon verborgen bestanden",
"Crop image previews" : "Snij afbeeldingvoorbeelden bij",
diff --git a/apps/files/l10n/pt_BR.js b/apps/files/l10n/pt_BR.js
index cc36a02a49e..46fbb726f67 100644
--- a/apps/files/l10n/pt_BR.js
+++ b/apps/files/l10n/pt_BR.js
@@ -201,7 +201,7 @@ OC.L10N.register(
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Use este endereço para acessar seus Arquivos via WebDAV",
"Toggle %1$s sublist" : "Alternar a sublista %1$s",
- "Toggle grid view" : "Alternar vista de grade",
+ "Toggle grid view" : "Alternar a visão em grade",
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Envie um arquivo ou sincronize com seus dispositivos!",
"No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta",
@@ -212,7 +212,7 @@ OC.L10N.register(
"Files and folders you mark as favorite will show up here" : "Suas pastas e arquivos favoritos serão exibidos aqui.",
"Deleted files" : "Arquivos apagados",
"Shares" : "Compartilhamentos",
- "Shared with others" : "Compartilhado com outros",
+ "Shared with others" : "Compartilhado com os outros",
"Shared with you" : "Compartilhado com você",
"Shared by link" : "Compartilhado via link",
"Deleted shares" : "Compartilhamentos apagados",
diff --git a/apps/files/l10n/pt_BR.json b/apps/files/l10n/pt_BR.json
index d3b682683ff..b8786027fa5 100644
--- a/apps/files/l10n/pt_BR.json
+++ b/apps/files/l10n/pt_BR.json
@@ -199,7 +199,7 @@
"WebDAV" : "WebDAV",
"Use this address to access your Files via WebDAV" : "Use este endereço para acessar seus Arquivos via WebDAV",
"Toggle %1$s sublist" : "Alternar a sublista %1$s",
- "Toggle grid view" : "Alternar vista de grade",
+ "Toggle grid view" : "Alternar a visão em grade",
"No files in here" : "Nenhum arquivo aqui",
"Upload some content or sync with your devices!" : "Envie um arquivo ou sincronize com seus dispositivos!",
"No entries found in this folder" : "Nenhuma entrada foi encontrada nesta pasta",
@@ -210,7 +210,7 @@
"Files and folders you mark as favorite will show up here" : "Suas pastas e arquivos favoritos serão exibidos aqui.",
"Deleted files" : "Arquivos apagados",
"Shares" : "Compartilhamentos",
- "Shared with others" : "Compartilhado com outros",
+ "Shared with others" : "Compartilhado com os outros",
"Shared with you" : "Compartilhado com você",
"Shared by link" : "Compartilhado via link",
"Deleted shares" : "Compartilhamentos apagados",
diff --git a/apps/files/l10n/ru.js b/apps/files/l10n/ru.js
index d85f7d9a586..b46528c7de1 100644
--- a/apps/files/l10n/ru.js
+++ b/apps/files/l10n/ru.js
@@ -36,6 +36,7 @@ OC.L10N.register(
"Move" : "Переместить",
"Copy" : "Копировать",
"Choose target folder" : "Выбор папки назначения",
+ "Edit locally" : "Редактировать локально",
"Open" : "Открыть",
"Delete file" : "Удалить файл",
"Delete folder" : "Удалить каталог",
@@ -59,6 +60,7 @@ OC.L10N.register(
"Could not copy \"{file}\"" : "Невозможно скопировать файл «{file}»",
"Copied {origin} inside {destination}" : "{origin} скопирован в {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} и {nbfiles} других файлов скопированы в {destination}",
+ "Failed to redirect to client" : "Ошибка перенаправления в клиент",
"{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}». Выберите другое имя.",
@@ -79,7 +81,9 @@ OC.L10N.register(
"_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"],
"You do not have permission to upload or create files here" : "У вас нет разрешения на загрузку или создание файлов здесь",
"_Uploading %n file_::_Uploading %n files_" : ["Передача %n файла","Передача %n файлов","Передача %n файлов","Передача %n файлов"],
+ "New file/folder menu" : "Меню создания файла или папки",
"Select file range" : "Выбор диапазона файлов",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "использовано {used} из {quota}",
"{used} used" : "Использовано {used}",
"\"{name}\" is an invalid file name." : "«{name}» — недопустимое имя файла.",
@@ -189,7 +193,9 @@ OC.L10N.register(
"Templates" : "Шаблоны",
"Unable to initialize the templates directory" : "Не удалось инициализировать каталог шаблонов",
"%s used" : "%s использовано",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "использовано %1$s из %2$s ",
+ "Files settings" : "Настройки файлов",
"Show hidden files" : "Показывать скрытые файлы",
"Crop image previews" : "Обрезать пред. просмотр",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/ru.json b/apps/files/l10n/ru.json
index 14aad04e6bb..99b734ce8c4 100644
--- a/apps/files/l10n/ru.json
+++ b/apps/files/l10n/ru.json
@@ -34,6 +34,7 @@
"Move" : "Переместить",
"Copy" : "Копировать",
"Choose target folder" : "Выбор папки назначения",
+ "Edit locally" : "Редактировать локально",
"Open" : "Открыть",
"Delete file" : "Удалить файл",
"Delete folder" : "Удалить каталог",
@@ -57,6 +58,7 @@
"Could not copy \"{file}\"" : "Невозможно скопировать файл «{file}»",
"Copied {origin} inside {destination}" : "{origin} скопирован в {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} и {nbfiles} других файлов скопированы в {destination}",
+ "Failed to redirect to client" : "Ошибка перенаправления в клиент",
"{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}». Выберите другое имя.",
@@ -77,7 +79,9 @@
"_including %n hidden_::_including %n hidden_" : ["включая %n скрытый","включая %n скрытых","включая %n скрытых","включая %n скрытых"],
"You do not have permission to upload or create files here" : "У вас нет разрешения на загрузку или создание файлов здесь",
"_Uploading %n file_::_Uploading %n files_" : ["Передача %n файла","Передача %n файлов","Передача %n файлов","Передача %n файлов"],
+ "New file/folder menu" : "Меню создания файла или папки",
"Select file range" : "Выбор диапазона файлов",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "использовано {used} из {quota}",
"{used} used" : "Использовано {used}",
"\"{name}\" is an invalid file name." : "«{name}» — недопустимое имя файла.",
@@ -187,7 +191,9 @@
"Templates" : "Шаблоны",
"Unable to initialize the templates directory" : "Не удалось инициализировать каталог шаблонов",
"%s used" : "%s использовано",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "использовано %1$s из %2$s ",
+ "Files settings" : "Настройки файлов",
"Show hidden files" : "Показывать скрытые файлы",
"Crop image previews" : "Обрезать пред. просмотр",
"WebDAV" : "WebDAV",
diff --git a/apps/files/l10n/sv.js b/apps/files/l10n/sv.js
index a30460788cc..afc9ff54fc0 100644
--- a/apps/files/l10n/sv.js
+++ b/apps/files/l10n/sv.js
@@ -31,7 +31,7 @@ OC.L10N.register(
"Target folder does not exist any more" : "Målmapp existerar inte längre",
"Operation is blocked by access control" : "Operationen blockeras av åtkomstkontroll",
"Error when assembling chunks, status code {status}" : "Fel vid ihopsättning av bitarna: statuskod: {status}",
- "Actions" : "Åtgärder",
+ "Actions" : "Funktioner",
"Rename" : "Byt namn",
"Move" : "Flytta",
"Copy" : "Kopiera",
@@ -83,6 +83,7 @@ OC.L10N.register(
"_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"],
"New file/folder menu" : "Ny fil/mapp -meny",
"Select file range" : "Välj filintervall",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "{used} av {quota} använt",
"{used} used" : "{used} använt",
"\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltigt filnamn.",
@@ -192,6 +193,7 @@ OC.L10N.register(
"Templates" : "Mallar",
"Unable to initialize the templates directory" : "Kunde inte initialisera mall-mappen",
"%s used" : "%s använt",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%1$s av %2$s använt",
"Files settings" : "Filinställningar",
"Show hidden files" : "Visa dolda filer",
diff --git a/apps/files/l10n/sv.json b/apps/files/l10n/sv.json
index db2c5d868e9..316d77919d7 100644
--- a/apps/files/l10n/sv.json
+++ b/apps/files/l10n/sv.json
@@ -29,7 +29,7 @@
"Target folder does not exist any more" : "Målmapp existerar inte längre",
"Operation is blocked by access control" : "Operationen blockeras av åtkomstkontroll",
"Error when assembling chunks, status code {status}" : "Fel vid ihopsättning av bitarna: statuskod: {status}",
- "Actions" : "Åtgärder",
+ "Actions" : "Funktioner",
"Rename" : "Byt namn",
"Move" : "Flytta",
"Copy" : "Kopiera",
@@ -81,6 +81,7 @@
"_Uploading %n file_::_Uploading %n files_" : ["Laddar upp %n fil","Laddar upp %n filer"],
"New file/folder menu" : "Ny fil/mapp -meny",
"Select file range" : "Välj filintervall",
+ "{used}%" : "{used}%",
"{used} of {quota} used" : "{used} av {quota} använt",
"{used} used" : "{used} använt",
"\"{name}\" is an invalid file name." : "\"{name}\" är ett ogiltigt filnamn.",
@@ -190,6 +191,7 @@
"Templates" : "Mallar",
"Unable to initialize the templates directory" : "Kunde inte initialisera mall-mappen",
"%s used" : "%s använt",
+ "%s%%" : "%s%%",
"%1$s of %2$s used" : "%1$s av %2$s använt",
"Files settings" : "Filinställningar",
"Show hidden files" : "Visa dolda filer",
diff --git a/apps/files/l10n/uk.js b/apps/files/l10n/uk.js
index d439702cdb8..1193ec96b15 100644
--- a/apps/files/l10n/uk.js
+++ b/apps/files/l10n/uk.js
@@ -60,6 +60,7 @@ OC.L10N.register(
"Could not copy \"{file}\"" : "Неможливо скопіювати \"{file}\"",
"Copied {origin} inside {destination}" : "Скопійовано {origin} до {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} та {nbfiles} інших файлів скопійовано до {destination}",
+ "Failed to redirect to client" : "Не вдалося перенаправити на клієнта",
"{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}\". Будь-ласка, виберіть іншу назву.",
@@ -194,7 +195,7 @@ OC.L10N.register(
"%s used" : "%s використано",
"%s%%" : "%s%%",
"%1$s of %2$s used" : "Використано %1$s із %2$s",
- "Files settings" : "Налаштування файлів",
+ "Files settings" : "Налаштування",
"Show hidden files" : "Показувати приховані файли",
"Crop image previews" : "Кадрування попереднього перегляду зображень",
"WebDAV" : "WebDAV",
@@ -203,7 +204,7 @@ OC.L10N.register(
"Toggle grid view" : "Перемкнути подання сіткою",
"No files in here" : "Тут немає файлів",
"Upload some content or sync with your devices!" : "Завантажте вміст або синхронізуйтеся з вашими пристроями!",
- "No entries found in this folder" : "В цьому каталозі нічого немає",
+ "No entries found in this folder" : "В цьому каталозі нічого не знайдено",
"Select all" : "Вибрати все",
"Upload too large" : "Файл занадто великий",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли, які ви намагаєтеся завантажити, перевищують максимально дозволений розмір завантаження файлів на сервер.",
diff --git a/apps/files/l10n/uk.json b/apps/files/l10n/uk.json
index 4e085faecd9..8d2ff9e5531 100644
--- a/apps/files/l10n/uk.json
+++ b/apps/files/l10n/uk.json
@@ -58,6 +58,7 @@
"Could not copy \"{file}\"" : "Неможливо скопіювати \"{file}\"",
"Copied {origin} inside {destination}" : "Скопійовано {origin} до {destination}",
"Copied {origin} and {nbfiles} other files inside {destination}" : "{origin} та {nbfiles} інших файлів скопійовано до {destination}",
+ "Failed to redirect to client" : "Не вдалося перенаправити на клієнта",
"{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}\". Будь-ласка, виберіть іншу назву.",
@@ -192,7 +193,7 @@
"%s used" : "%s використано",
"%s%%" : "%s%%",
"%1$s of %2$s used" : "Використано %1$s із %2$s",
- "Files settings" : "Налаштування файлів",
+ "Files settings" : "Налаштування",
"Show hidden files" : "Показувати приховані файли",
"Crop image previews" : "Кадрування попереднього перегляду зображень",
"WebDAV" : "WebDAV",
@@ -201,7 +202,7 @@
"Toggle grid view" : "Перемкнути подання сіткою",
"No files in here" : "Тут немає файлів",
"Upload some content or sync with your devices!" : "Завантажте вміст або синхронізуйтеся з вашими пристроями!",
- "No entries found in this folder" : "В цьому каталозі нічого немає",
+ "No entries found in this folder" : "В цьому каталозі нічого не знайдено",
"Select all" : "Вибрати все",
"Upload too large" : "Файл занадто великий",
"The files you are trying to upload exceed the maximum size for file uploads on this server." : "Файли, які ви намагаєтеся завантажити, перевищують максимально дозволений розмір завантаження файлів на сервер.",
diff --git a/apps/files/lib/Activity/FavoriteProvider.php b/apps/files/lib/Activity/FavoriteProvider.php
index a1c08370e4e..9c7018e6a5c 100644
--- a/apps/files/lib/Activity/FavoriteProvider.php
+++ b/apps/files/lib/Activity/FavoriteProvider.php
@@ -172,7 +172,6 @@ class FavoriteProvider implements IProvider {
'link' => $this->url->linkToRouteAbsolute('files.viewcontroller.showFile', ['fileid' => $subjectParams['id']]),
];
- $event->setParsedSubject(str_replace('{file}', $parameter['path'], $subject))
- ->setRichSubject($subject, ['file' => $parameter]);
+ $event->setRichSubject($subject, ['file' => $parameter]);
}
}
diff --git a/apps/files/lib/Activity/Provider.php b/apps/files/lib/Activity/Provider.php
index c21e8f9ad16..2cfd48ede3b 100644
--- a/apps/files/lib/Activity/Provider.php
+++ b/apps/files/lib/Activity/Provider.php
@@ -38,12 +38,10 @@ use OCP\Files\Node;
use OCP\Files\NotFoundException;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory;
class Provider implements IProvider {
-
/** @var IFactory */
protected $languageFactory;
@@ -306,19 +304,8 @@ class Provider implements IProvider {
return strlen($filename) > 0 && $filename[0] === '.';
}
- protected function setSubjects(IEvent $event, $subject, array $parameters) {
- $placeholders = $replacements = [];
- foreach ($parameters as $placeholder => $parameter) {
- $placeholders[] = '{' . $placeholder . '}';
- if ($parameter['type'] === 'file') {
- $replacements[] = $parameter['path'];
- } else {
- $replacements[] = $parameter['name'];
- }
- }
-
- $event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
- ->setRichSubject($subject, $parameters);
+ protected function setSubjects(IEvent $event, string $subject, array $parameters): void {
+ $event->setRichSubject($subject, $parameters);
}
/**
diff --git a/apps/files/lib/BackgroundJob/CleanupDirectEditingTokens.php b/apps/files/lib/BackgroundJob/CleanupDirectEditingTokens.php
index 16f76a76dd8..a9b5b1446b2 100644
--- a/apps/files/lib/BackgroundJob/CleanupDirectEditingTokens.php
+++ b/apps/files/lib/BackgroundJob/CleanupDirectEditingTokens.php
@@ -1,4 +1,7 @@
<?php
+
+declare(strict_types=1);
+
/**
* @copyright Copyright (c) 2016 Julius Härtl <jus@bitgrid.net>
*
@@ -23,18 +26,18 @@
*/
namespace OCA\Files\BackgroundJob;
-use OC\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCP\DirectEditing\IManager;
class CleanupDirectEditingTokens extends TimedJob {
private const INTERVAL_MINUTES = 15 * 60;
- /**
- * @var IManager
- */
- private $manager;
+ private IManager $manager;
- public function __construct(IManager $manager) {
+ public function __construct(ITimeFactory $time,
+ IManager $manager) {
+ parent::__construct($time);
$this->interval = self::INTERVAL_MINUTES;
$this->manager = $manager;
}
diff --git a/apps/files/lib/BackgroundJob/CleanupFileLocks.php b/apps/files/lib/BackgroundJob/CleanupFileLocks.php
index f22b8edcd9b..e0ad72eaaf0 100644
--- a/apps/files/lib/BackgroundJob/CleanupFileLocks.php
+++ b/apps/files/lib/BackgroundJob/CleanupFileLocks.php
@@ -23,14 +23,14 @@
*/
namespace OCA\Files\BackgroundJob;
-use OC\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OC\Lock\DBLockingProvider;
/**
* Clean up all file locks that are expired for the DB file locking provider
*/
class CleanupFileLocks extends TimedJob {
-
/**
* Default interval in minutes
*
@@ -41,7 +41,9 @@ class CleanupFileLocks extends TimedJob {
/**
* sets the correct interval for this timed job
*/
- public function __construct() {
+ public function __construct(ITimeFactory $time) {
+ parent::__construct($time);
+
$this->interval = $this->defaultIntervalMin * 60;
}
diff --git a/apps/files/lib/BackgroundJob/DeleteOrphanedItems.php b/apps/files/lib/BackgroundJob/DeleteOrphanedItems.php
index 720785f5727..669c2a4cde6 100644
--- a/apps/files/lib/BackgroundJob/DeleteOrphanedItems.php
+++ b/apps/files/lib/BackgroundJob/DeleteOrphanedItems.php
@@ -24,7 +24,8 @@
*/
namespace OCA\Files\BackgroundJob;
-use OC\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCP\DB\QueryBuilder\IQueryBuilder;
/**
@@ -49,7 +50,8 @@ class DeleteOrphanedItems extends TimedJob {
/**
* sets the correct interval for this timed job
*/
- public function __construct() {
+ public function __construct(ITimeFactory $time) {
+ parent::__construct($time);
$this->interval = $this->defaultIntervalMin * 60;
$this->connection = \OC::$server->getDatabaseConnection();
$this->logger = \OC::$server->getLogger();
diff --git a/apps/files/lib/Notification/Notifier.php b/apps/files/lib/Notification/Notifier.php
index 1a7a3726229..90784749b27 100644
--- a/apps/files/lib/Notification/Notifier.php
+++ b/apps/files/lib/Notification/Notifier.php
@@ -41,7 +41,6 @@ use OCP\Notification\INotification;
use OCP\Notification\INotifier;
class Notifier implements INotifier, IDismissableNotifier {
-
/** @var IFactory */
protected $l10nFactory;
@@ -151,7 +150,6 @@ class Notifier implements INotifier, IDismissableNotifier {
'name' => $sourceUser->getDisplayName(),
],
])
- ->setParsedSubject(str_replace('{user}', $sourceUser->getDisplayName(), $l->t('Incoming ownership transfer from {user}')))
->setRichMessage(
$l->t("Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour."),
[
@@ -160,20 +158,17 @@ class Notifier implements INotifier, IDismissableNotifier {
'id' => $param['targetUser'] . '::' . $param['nodeName'],
'name' => $param['nodeName'],
]
- ])
- ->setParsedMessage(str_replace('{path}', $param['nodeName'], $l->t("Do you want to accept {path}?\n\nNote: The transfer process after accepting may take up to 1 hour.")));
+ ]);
return $notification;
}
- public function handleTransferOwnershipFailedSource(INotification $notification, string $languageCode): INotification {
+ public function handleTransferOwnershipFailedSource(INotification $notification, string $languageCode): INotification {
$l = $this->l10nFactory->get('files', $languageCode);
$param = $notification->getSubjectParameters();
$targetUser = $this->getUser($param['targetUser']);
$notification->setRichSubject($l->t('Ownership transfer failed'))
- ->setParsedSubject($l->t('Ownership transfer failed'))
-
->setRichMessage(
$l->t('Your ownership transfer of {path} to {user} failed.'),
[
@@ -187,19 +182,16 @@ class Notifier implements INotifier, IDismissableNotifier {
'id' => $targetUser->getUID(),
'name' => $targetUser->getDisplayName(),
],
- ])
- ->setParsedMessage(str_replace(['{path}', '{user}'], [$param['nodeName'], $targetUser->getDisplayName()], $l->t('Your ownership transfer of {path} to {user} failed.')));
+ ]);
return $notification;
}
- public function handleTransferOwnershipFailedTarget(INotification $notification, string $languageCode): INotification {
+ public function handleTransferOwnershipFailedTarget(INotification $notification, string $languageCode): INotification {
$l = $this->l10nFactory->get('files', $languageCode);
$param = $notification->getSubjectParameters();
$sourceUser = $this->getUser($param['sourceUser']);
$notification->setRichSubject($l->t('Ownership transfer failed'))
- ->setParsedSubject($l->t('Ownership transfer failed'))
-
->setRichMessage(
$l->t('The ownership transfer of {path} from {user} failed.'),
[
@@ -213,20 +205,17 @@ class Notifier implements INotifier, IDismissableNotifier {
'id' => $sourceUser->getUID(),
'name' => $sourceUser->getDisplayName(),
],
- ])
- ->setParsedMessage(str_replace(['{path}', '{user}'], [$param['nodeName'], $sourceUser->getDisplayName()], $l->t('The ownership transfer of {path} from {user} failed.')));
+ ]);
return $notification;
}
- public function handleTransferOwnershipDoneSource(INotification $notification, string $languageCode): INotification {
+ public function handleTransferOwnershipDoneSource(INotification $notification, string $languageCode): INotification {
$l = $this->l10nFactory->get('files', $languageCode);
$param = $notification->getSubjectParameters();
$targetUser = $this->getUser($param['targetUser']);
$notification->setRichSubject($l->t('Ownership transfer done'))
- ->setParsedSubject($l->t('Ownership transfer done'))
-
->setRichMessage(
$l->t('Your ownership transfer of {path} to {user} has completed.'),
[
@@ -240,20 +229,17 @@ class Notifier implements INotifier, IDismissableNotifier {
'id' => $targetUser->getUID(),
'name' => $targetUser->getDisplayName(),
],
- ])
- ->setParsedMessage(str_replace(['{path}', '{user}'], [$param['nodeName'], $targetUser->getDisplayName()], $l->t('Your ownership transfer of {path} to {user} has completed.')));
+ ]);
return $notification;
}
- public function handleTransferOwnershipDoneTarget(INotification $notification, string $languageCode): INotification {
+ public function handleTransferOwnershipDoneTarget(INotification $notification, string $languageCode): INotification {
$l = $this->l10nFactory->get('files', $languageCode);
$param = $notification->getSubjectParameters();
$sourceUser = $this->getUser($param['sourceUser']);
$notification->setRichSubject($l->t('Ownership transfer done'))
- ->setParsedSubject($l->t('Ownership transfer done'))
-
->setRichMessage(
$l->t('The ownership transfer of {path} from {user} has completed.'),
[
@@ -267,8 +253,7 @@ class Notifier implements INotifier, IDismissableNotifier {
'id' => $sourceUser->getUID(),
'name' => $sourceUser->getDisplayName(),
],
- ])
- ->setParsedMessage(str_replace(['{path}', '{user}'], [$param['nodeName'], $sourceUser->getDisplayName()], $l->t('The ownership transfer of {path} from {user} has completed.')));
+ ]);
return $notification;
}
diff --git a/apps/files/src/components/SidebarTab.vue b/apps/files/src/components/SidebarTab.vue
index c0f5a7d4416..ac3cfba7d02 100644
--- a/apps/files/src/components/SidebarTab.vue
+++ b/apps/files/src/components/SidebarTab.vue
@@ -26,6 +26,9 @@
:name="name"
:icon="icon"
@bottomReached="onScrollBottomReached">
+ <template #icon>
+ <slot name="icon" />
+ </template>
<!-- Fallback loading -->
<NcEmptyContent v-if="loading" icon="icon-loading" />
@@ -63,7 +66,7 @@ export default {
},
icon: {
type: String,
- required: true,
+ required: false,
},
/**
diff --git a/apps/files/src/models/Tab.js b/apps/files/src/models/Tab.js
index 4c41ec5a3b1..63d1ad97ff6 100644
--- a/apps/files/src/models/Tab.js
+++ b/apps/files/src/models/Tab.js
@@ -19,12 +19,14 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
*/
+import { sanitizeSVG } from '@skjnldsv/sanitize-svg'
export default class Tab {
_id
_name
_icon
+ _iconSvgSanitized
_mount
_update
_destroy
@@ -37,19 +39,20 @@ export default class Tab {
* @param {object} options destructuring object
* @param {string} options.id the unique id of this tab
* @param {string} options.name the translated tab name
- * @param {string} options.icon the vue component
+ * @param {?string} options.icon the icon css class
+ * @param {?string} options.iconSvg the icon in svg format
* @param {Function} options.mount function to mount the tab
* @param {Function} options.update function to update the tab
* @param {Function} options.destroy function to destroy the tab
* @param {Function} [options.enabled] define conditions whether this tab is active. Must returns a boolean
* @param {Function} [options.scrollBottomReached] executed when the tab is scrolled to the bottom
*/
- constructor({ id, name, icon, mount, update, destroy, enabled, scrollBottomReached } = {}) {
+ constructor({ id, name, icon, iconSvg, mount, update, destroy, enabled, scrollBottomReached } = {}) {
if (enabled === undefined) {
enabled = () => true
}
if (scrollBottomReached === undefined) {
- scrollBottomReached = () => {}
+ scrollBottomReached = () => { }
}
// Sanity checks
@@ -59,8 +62,8 @@ export default class Tab {
if (typeof name !== 'string' || name.trim() === '') {
throw new Error('The name argument is not a valid string')
}
- if (typeof icon !== 'string' || icon.trim() === '') {
- throw new Error('The icon argument is not a valid string')
+ if ((typeof icon !== 'string' || icon.trim() === '') && typeof iconSvg !== 'string') {
+ throw new Error('Missing valid string for icon or iconSvg argument')
}
if (typeof mount !== 'function') {
throw new Error('The mount argument should be a function')
@@ -87,6 +90,13 @@ export default class Tab {
this._enabled = enabled
this._scrollBottomReached = scrollBottomReached
+ if (typeof iconSvg === 'string') {
+ sanitizeSVG(iconSvg)
+ .then(sanitizedSvg => {
+ this._iconSvgSanitized = sanitizedSvg
+ })
+ }
+
}
get id() {
@@ -101,6 +111,10 @@ export default class Tab {
return this._icon
}
+ get iconSvg() {
+ return this._iconSvgSanitized
+ }
+
get mount() {
return this._mount
}
diff --git a/apps/files/src/views/Sidebar.vue b/apps/files/src/views/Sidebar.vue
index d4bf8cfde40..4c29da59708 100644
--- a/apps/files/src/views/Sidebar.vue
+++ b/apps/files/src/views/Sidebar.vue
@@ -72,7 +72,12 @@
:on-update="tab.update"
:on-destroy="tab.destroy"
:on-scroll-bottom-reached="tab.scrollBottomReached"
- :file-info="fileInfo" />
+ :file-info="fileInfo">
+ <template v-if="tab.iconSvg !== undefined" #icon>
+ <!-- eslint-disable-next-line vue/no-v-html -->
+ <span class="svg-icon" v-html="tab.iconSvg" />
+ </template>
+ </SidebarTab>
</template>
</NcAppSidebar>
</template>
@@ -508,5 +513,13 @@ export default {
top: 0 !important;
height: 100% !important;
}
+
+ .svg-icon {
+ ::v-deep svg {
+ width: 20px;
+ height: 20px;
+ fill: currentColor;
+ }
+ }
}
</style>
diff --git a/apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php b/apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php
index 75318b1802f..f7562345d8a 100644
--- a/apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php
+++ b/apps/files/tests/BackgroundJob/DeleteOrphanedItemsJobTest.php
@@ -24,6 +24,7 @@
namespace OCA\Files\Tests\BackgroundJob;
use OCA\Files\BackgroundJob\DeleteOrphanedItems;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\DB\QueryBuilder\IQueryBuilder;
/**
@@ -34,13 +35,15 @@ use OCP\DB\QueryBuilder\IQueryBuilder;
* @package Test\BackgroundJob
*/
class DeleteOrphanedItemsJobTest extends \Test\TestCase {
-
/** @var \OCP\IDBConnection */
protected $connection;
+ protected ITimeFactory $timeFactory;
+
protected function setUp(): void {
parent::setUp();
$this->connection = \OC::$server->getDatabaseConnection();
+ $this->timeFactory = $this->createMock(ITimeFactory::class);
}
protected function cleanMapping($table) {
@@ -95,7 +98,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$mapping = $this->getMappings('systemtag_object_mapping');
$this->assertCount(2, $mapping);
- $job = new DeleteOrphanedItems();
+ $job = new DeleteOrphanedItems($this->timeFactory);
$this->invokePrivate($job, 'cleanSystemTags');
$mapping = $this->getMappings('systemtag_object_mapping');
@@ -144,7 +147,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$mapping = $this->getMappings('vcategory_to_object');
$this->assertCount(2, $mapping);
- $job = new DeleteOrphanedItems();
+ $job = new DeleteOrphanedItems($this->timeFactory);
$this->invokePrivate($job, 'cleanUserTags');
$mapping = $this->getMappings('vcategory_to_object');
@@ -195,7 +198,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$mapping = $this->getMappings('comments');
$this->assertCount(2, $mapping);
- $job = new DeleteOrphanedItems();
+ $job = new DeleteOrphanedItems($this->timeFactory);
$this->invokePrivate($job, 'cleanComments');
$mapping = $this->getMappings('comments');
@@ -244,7 +247,7 @@ class DeleteOrphanedItemsJobTest extends \Test\TestCase {
$mapping = $this->getMappings('comments_read_markers');
$this->assertCount(2, $mapping);
- $job = new DeleteOrphanedItems();
+ $job = new DeleteOrphanedItems($this->timeFactory);
$this->invokePrivate($job, 'cleanCommentMarkers');
$mapping = $this->getMappings('comments_read_markers');
diff --git a/apps/files_external/css/settings.css b/apps/files_external/css/settings.css
index 778e2292932..6b4b0d9bf47 100644
--- a/apps/files_external/css/settings.css
+++ b/apps/files_external/css/settings.css
@@ -13,6 +13,10 @@
width: 100%;
}
+#externalStorage .popovermenu li > .menuitem {
+ width: fit-content !important;
+}
+
#externalStorage td.status {
/* overwrite conflicting core styles */
display: table-cell;
diff --git a/apps/files_external/css/settings.css.map b/apps/files_external/css/settings.css.map
index b767a2be016..442480cd41a 100644
--- a/apps/files_external/css/settings.css.map
+++ b/apps/files_external/css/settings.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["settings.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAKD;EACC;;;AAIF;AACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACC;EACA;;;AAGF;EAA0B;EAAiB;;;AAC3C;EAAgC;EAAiB;EAAgB;;;AACjE;EAAoB;;;AACpB;EAA+B;;;AAC/B;EAA2B;;;AAE3B;EACC;;AACA;EAGC;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACC;;;AAMJ;EACC;EACA;;;AAGD;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;AACA;EACC;EACA;EACA;EACA;;;AAIF;EACC;;;AAGD;EACC","file":"settings.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["settings.scss"],"names":[],"mappings":"AAAA;EACC;;;AAGD;EACC;;AAEA;EACC;;;AAKD;EACC;;;AAIF;EACI;;;AAGJ;AACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;;AAGA;EACC;EACA;;;AAGF;EAA0B;EAAiB;;;AAC3C;EAAgC;EAAiB;EAAgB;;;AACjE;EAAoB;;;AACpB;EAA+B;;;AAC/B;EAA2B;;;AAE3B;EACC;;AACA;EAGC;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;EACA;;AACA;AAAA;AAAA;AAAA;EACC;;;AAMJ;EACC;EACA;;;AAGD;AAAA;EAEC;;;AAED;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAID;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAED;EACC;EACA;;;AAED;EACC;;;AAED;EACC;EACA;EACA;;;AAED;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;AACA;EACC;EACA;EACA;EACA;;;AAIF;EACC;;;AAGD;EACC","file":"settings.css"} \ No newline at end of file
diff --git a/apps/files_external/css/settings.scss b/apps/files_external/css/settings.scss
index ce30aa556c7..7485faa4c92 100644
--- a/apps/files_external/css/settings.scss
+++ b/apps/files_external/css/settings.scss
@@ -16,6 +16,10 @@
}
}
+#externalStorage .popovermenu li > .menuitem {
+ width: fit-content !important;
+}
+
#externalStorage td.status {
/* overwrite conflicting core styles */
display: table-cell;
diff --git a/apps/files_external/l10n/ca.js b/apps/files_external/l10n/ca.js
index e93f3b6b085..84aebe1348c 100644
--- a/apps/files_external/l10n/ca.js
+++ b/apps/files_external/l10n/ca.js
@@ -13,9 +13,9 @@ OC.L10N.register(
"All users. Type to select user or group." : "Tots els usuaris. Escriviu per seleccionar un usuari o grup.",
"(Group)" : "(Grup)",
"Compatibility with Mac NFD encoding (slow)" : "Compatibilitat amb la codificació de Mac NFD (lent)",
- "Enable encryption" : "Activa l'encriptació",
- "Enable previews" : "Active les vistes prèvies",
- "Enable sharing" : "Activa la compartició",
+ "Enable encryption" : "Habilita el xifratge",
+ "Enable previews" : "Habilita les vistes prèvies",
+ "Enable sharing" : "Habilita la compartició",
"Check for changes" : "Comprova si hi ha canvis",
"Never" : "Mai",
"Once every direct access" : "Un cop cada accés directe",
@@ -23,7 +23,7 @@ OC.L10N.register(
"Disconnect" : "Desconnecta",
"Admin defined" : "Administrador definit",
"Automatic status checking is disabled due to the large number of configured storages, click to check status" : "La comprovació automàtica de l'estat està inhabilitada a causa del gran nombre d'emmagatzematges configurats, feu clic per comprovar l'estat",
- "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." : "Segur que voleu desconnectar aquest mitjà extern? Això farà que l'emmagatzematge no es trobi disponible a Nextcloud i provocarà l'eliminació d'aquests fitxers i carpetes en qualsevol client que s'hi sincronitze, però no eliminarà cap fitxer ni carpeta en el mitjà d'emmagatzematge extern.",
+ "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." : "Segur que voleu desconnectar aquest mitjà extern? Això farà que l'emmagatzematge no es trobi disponible a Nextcloud i provocarà l'eliminació d'aquests fitxers i carpetes en qualsevol client que s'hi sincronitze, però no eliminarà cap fitxer ni carpeta en el mitjà d'emmagatzematge extern.",
"Delete storage?" : "Suprimeix-ho l'emmagatzematge?",
"Saved" : "Desat",
"Saving …" : "S'està desant ...",
@@ -42,7 +42,7 @@ OC.L10N.register(
"Credentials saved" : "Credencials desades",
"Credentials saving failed" : "Error en desar les credencials",
"Credentials required" : "Es necessiten credencials",
- "Forbidden to manage local mounts" : "No es permès gestionar volums locals",
+ "Forbidden to manage local mounts" : "Prohibit gestionar volums locals",
"Storage with ID \"%d\" not found" : "No s’ha trobat l’emmagatzematge amb ID \"%d\"",
"Invalid backend or authentication mechanism class" : "Classe de mecanisme d'autenticació o rerefons no vàlids",
"Invalid mount point" : "Punt de muntatge no vàlid",
@@ -61,7 +61,7 @@ OC.L10N.register(
"None" : "Cap",
"OAuth1" : "OAuth1",
"App key" : "Clau de l'aplicació",
- "App secret" : "Secret de l'aplicació",
+ "App secret" : "Secret d'aplicació",
"OAuth2" : "OAuth2",
"Client ID" : "Client ID",
"Client secret" : "Secret del client",
@@ -90,8 +90,8 @@ OC.L10N.register(
"Hostname" : "Nom del servidor",
"Port" : "Port",
"Region" : "Regió",
- "Enable SSL" : "Activa SSL",
- "Enable Path Style" : "Activa l'estil del camí",
+ "Enable SSL" : "Habilita SSL",
+ "Enable Path Style" : "Habilita l'estil del camí",
"Legacy (v2) authentication" : "Autenticació heretada (v2)",
"WebDAV" : "WebDAV",
"URL" : "URL",
@@ -116,7 +116,7 @@ OC.L10N.register(
"Username as share" : "Nom d'usuari amb que es comparteix",
"OpenStack Object Storage" : "OpenStack Object Storage",
"Service name" : "Nom del servei",
- "Request timeout (seconds)" : "Temps d'espera de petició (segons)",
+ "Request timeout (seconds)" : "Temps d'espera de sol·licitud (segons)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "El suport de cURL a PHP no està activat o instal·lat. El muntatge de %s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "El suport d'FTP a PHP no està activat o instal·lat. El muntatge de %s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.",
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" no està instal·lat. El muntatge de %2$s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.",
diff --git a/apps/files_external/l10n/ca.json b/apps/files_external/l10n/ca.json
index 07c3d96cc19..d8d6502cc71 100644
--- a/apps/files_external/l10n/ca.json
+++ b/apps/files_external/l10n/ca.json
@@ -11,9 +11,9 @@
"All users. Type to select user or group." : "Tots els usuaris. Escriviu per seleccionar un usuari o grup.",
"(Group)" : "(Grup)",
"Compatibility with Mac NFD encoding (slow)" : "Compatibilitat amb la codificació de Mac NFD (lent)",
- "Enable encryption" : "Activa l'encriptació",
- "Enable previews" : "Active les vistes prèvies",
- "Enable sharing" : "Activa la compartició",
+ "Enable encryption" : "Habilita el xifratge",
+ "Enable previews" : "Habilita les vistes prèvies",
+ "Enable sharing" : "Habilita la compartició",
"Check for changes" : "Comprova si hi ha canvis",
"Never" : "Mai",
"Once every direct access" : "Un cop cada accés directe",
@@ -21,7 +21,7 @@
"Disconnect" : "Desconnecta",
"Admin defined" : "Administrador definit",
"Automatic status checking is disabled due to the large number of configured storages, click to check status" : "La comprovació automàtica de l'estat està inhabilitada a causa del gran nombre d'emmagatzematges configurats, feu clic per comprovar l'estat",
- "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." : "Segur que voleu desconnectar aquest mitjà extern? Això farà que l'emmagatzematge no es trobi disponible a Nextcloud i provocarà l'eliminació d'aquests fitxers i carpetes en qualsevol client que s'hi sincronitze, però no eliminarà cap fitxer ni carpeta en el mitjà d'emmagatzematge extern.",
+ "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." : "Segur que voleu desconnectar aquest mitjà extern? Això farà que l'emmagatzematge no es trobi disponible a Nextcloud i provocarà l'eliminació d'aquests fitxers i carpetes en qualsevol client que s'hi sincronitze, però no eliminarà cap fitxer ni carpeta en el mitjà d'emmagatzematge extern.",
"Delete storage?" : "Suprimeix-ho l'emmagatzematge?",
"Saved" : "Desat",
"Saving …" : "S'està desant ...",
@@ -40,7 +40,7 @@
"Credentials saved" : "Credencials desades",
"Credentials saving failed" : "Error en desar les credencials",
"Credentials required" : "Es necessiten credencials",
- "Forbidden to manage local mounts" : "No es permès gestionar volums locals",
+ "Forbidden to manage local mounts" : "Prohibit gestionar volums locals",
"Storage with ID \"%d\" not found" : "No s’ha trobat l’emmagatzematge amb ID \"%d\"",
"Invalid backend or authentication mechanism class" : "Classe de mecanisme d'autenticació o rerefons no vàlids",
"Invalid mount point" : "Punt de muntatge no vàlid",
@@ -59,7 +59,7 @@
"None" : "Cap",
"OAuth1" : "OAuth1",
"App key" : "Clau de l'aplicació",
- "App secret" : "Secret de l'aplicació",
+ "App secret" : "Secret d'aplicació",
"OAuth2" : "OAuth2",
"Client ID" : "Client ID",
"Client secret" : "Secret del client",
@@ -88,8 +88,8 @@
"Hostname" : "Nom del servidor",
"Port" : "Port",
"Region" : "Regió",
- "Enable SSL" : "Activa SSL",
- "Enable Path Style" : "Activa l'estil del camí",
+ "Enable SSL" : "Habilita SSL",
+ "Enable Path Style" : "Habilita l'estil del camí",
"Legacy (v2) authentication" : "Autenticació heretada (v2)",
"WebDAV" : "WebDAV",
"URL" : "URL",
@@ -114,7 +114,7 @@
"Username as share" : "Nom d'usuari amb que es comparteix",
"OpenStack Object Storage" : "OpenStack Object Storage",
"Service name" : "Nom del servei",
- "Request timeout (seconds)" : "Temps d'espera de petició (segons)",
+ "Request timeout (seconds)" : "Temps d'espera de sol·licitud (segons)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "El suport de cURL a PHP no està activat o instal·lat. El muntatge de %s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "El suport d'FTP a PHP no està activat o instal·lat. El muntatge de %s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.",
"\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" no està instal·lat. El muntatge de %2$s no és possible. Si us plau, demaneu a l'administrador del sistema que l'instal·li.",
diff --git a/apps/files_external/l10n/el.js b/apps/files_external/l10n/el.js
index 3161d9551c9..3deb875bc35 100644
--- a/apps/files_external/l10n/el.js
+++ b/apps/files_external/l10n/el.js
@@ -42,7 +42,7 @@ OC.L10N.register(
"Credentials required" : "Απαιτούνται διαπιστευτήρια ",
"Storage with ID \"%d\" not found" : "Αποθηκευτικός χώρος με ID \"%d\" δεν βρέθηκε ",
"Invalid backend or authentication mechanism class" : "Μη έγκυρη κλάση συστήματος ή μηχανισμού πιστοποίησης",
- "Invalid mount point" : "Μη έγκυρο σημείο ανάρτησης",
+ "Invalid mount point" : "Μη έγκυρο σημείο προσάρτησης",
"Objectstore forbidden" : "Απαγορευμένο objectstore",
"Invalid storage backend \"%s\"" : "Μή έγκυρο σύστημα υποστήριξης αποθηκευτικού χώρου \"%s\"",
"Not permitted to use backend \"%s\"" : "Μη επιτρεπόμενο σύστημα υποστήριξης \"%s\"",
diff --git a/apps/files_external/l10n/el.json b/apps/files_external/l10n/el.json
index 5e45f213b99..8c0b3131b6f 100644
--- a/apps/files_external/l10n/el.json
+++ b/apps/files_external/l10n/el.json
@@ -40,7 +40,7 @@
"Credentials required" : "Απαιτούνται διαπιστευτήρια ",
"Storage with ID \"%d\" not found" : "Αποθηκευτικός χώρος με ID \"%d\" δεν βρέθηκε ",
"Invalid backend or authentication mechanism class" : "Μη έγκυρη κλάση συστήματος ή μηχανισμού πιστοποίησης",
- "Invalid mount point" : "Μη έγκυρο σημείο ανάρτησης",
+ "Invalid mount point" : "Μη έγκυρο σημείο προσάρτησης",
"Objectstore forbidden" : "Απαγορευμένο objectstore",
"Invalid storage backend \"%s\"" : "Μή έγκυρο σύστημα υποστήριξης αποθηκευτικού χώρου \"%s\"",
"Not permitted to use backend \"%s\"" : "Μη επιτρεπόμενο σύστημα υποστήριξης \"%s\"",
diff --git a/apps/files_external/l10n/en_GB.js b/apps/files_external/l10n/en_GB.js
index 5d1d25721b8..59df79e7c7f 100644
--- a/apps/files_external/l10n/en_GB.js
+++ b/apps/files_external/l10n/en_GB.js
@@ -11,6 +11,7 @@ OC.L10N.register(
"Generate keys" : "Generate keys",
"Error generating key pair" : "Error generating key pair",
"All users. Type to select user or group." : "All users. Type to select user or group.",
+ "(Group)" : "(Group)",
"Compatibility with Mac NFD encoding (slow)" : "Compatibility with Mac NFD encoding (slow)",
"Enable encryption" : "Enable encryption",
"Enable previews" : "Enable previews",
@@ -21,8 +22,11 @@ OC.L10N.register(
"Read only" : "Read only",
"Disconnect" : "Disconnect",
"Admin defined" : "Admin defined",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Automatic status checking is disabled due to the large number of configured storages, click to check status",
+ "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." : "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.",
"Delete storage?" : "Delete storage?",
"Saved" : "Saved",
+ "Saving …" : "Saving …",
"Save" : "Save",
"Empty response from the server" : "Empty response from the server",
"Couldn't access. Please log out and in again to activate this mount point" : "Couldn't access. Please log out and in again to activate this mount point",
@@ -38,6 +42,7 @@ OC.L10N.register(
"Credentials saved" : "Credentials saved",
"Credentials saving failed" : "Credentials saving failed",
"Credentials required" : "Credentials required",
+ "Forbidden to manage local mounts" : "Forbidden to manage local mounts",
"Storage with ID \"%d\" not found" : "Storage with ID \"%d\" not found",
"Invalid backend or authentication mechanism class" : "Invalid backend or authentication mechanism class",
"Invalid mount point" : "Invalid mount point",
@@ -71,11 +76,14 @@ OC.L10N.register(
"Log-in credentials, save in database" : "Log-in credentials, save in database",
"Username and password" : "Username and password",
"Log-in credentials, save in session" : "Log-in credentials, save in session",
+ "Global credentials, user entered" : "Global credentials, user entered",
"User entered, store in database" : "User entered, store in database",
"RSA public key" : "RSA public key",
"Public key" : "Public key",
"RSA private key" : "RSA private key",
"Private key" : "Private key",
+ "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberos default realm, defaults to \"WORKGROUP\"",
+ "Kerberos ticket Apache mode" : "Kerberos ticket Apache mode",
"Kerberos ticket" : "Kerberos ticket",
"Amazon S3" : "Amazon S3",
"Bucket" : "Bucket",
@@ -98,14 +106,20 @@ OC.L10N.register(
"SFTP" : "SFTP",
"Root" : "Root",
"SFTP with secret key login" : "SFTP with secret key login",
+ "SMB/CIFS" : "SMB/CIFS",
"Share" : "Share",
"Show hidden files" : "Show hidden files",
+ "Verify ACL access when listing files" : "Verify ACL access when listing files",
+ "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty" : "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty",
+ "Timeout" : "Timeout",
+ "SMB/CIFS using OC login" : "SMB/CIFS using OC login",
"Username as share" : "Username as share",
"OpenStack Object Storage" : "OpenStack Object Storage",
"Service name" : "Service name",
"Request timeout (seconds)" : "Request timeout (seconds)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
+ "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it.",
"External storage support" : "External storage support",
"Adds basic external storage support" : "Adds basic external storage support",
"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. Administrators can choose which types of storage to enable and can mount these storage locations for a user, 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 users 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 advanced user 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." : "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. Administrators can choose which types of storage to enable and can mount these storage locations for a user, 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 users 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 advanced user 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.",
@@ -114,6 +128,7 @@ OC.L10N.register(
"Storage type" : "Storage type",
"Scope" : "Scope",
"Open documentation" : "Open documentation",
+ "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services.",
"Folder name" : "Folder name",
"Authentication" : "Authentication",
"Configuration" : "Configuration",
@@ -122,7 +137,9 @@ OC.L10N.register(
"Add storage" : "Add storage",
"Advanced settings" : "Advanced settings",
"Allow users to mount external storage" : "Allow users to mount external storage",
+ "Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Global credentials can be used to authenticate with multiple external storages that have the same credentials.",
"Delete" : "Delete",
- "Are you sure you want to delete this external storage?" : "Are you sure you want to delete this external storage?"
+ "Are you sure you want to delete this external storage?" : "Are you sure you want to delete this external storage?",
+ "Kerberos ticket apache mode" : "Kerberos ticket apache mode"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_external/l10n/en_GB.json b/apps/files_external/l10n/en_GB.json
index 51e0a380549..75eb2455b2e 100644
--- a/apps/files_external/l10n/en_GB.json
+++ b/apps/files_external/l10n/en_GB.json
@@ -9,6 +9,7 @@
"Generate keys" : "Generate keys",
"Error generating key pair" : "Error generating key pair",
"All users. Type to select user or group." : "All users. Type to select user or group.",
+ "(Group)" : "(Group)",
"Compatibility with Mac NFD encoding (slow)" : "Compatibility with Mac NFD encoding (slow)",
"Enable encryption" : "Enable encryption",
"Enable previews" : "Enable previews",
@@ -19,8 +20,11 @@
"Read only" : "Read only",
"Disconnect" : "Disconnect",
"Admin defined" : "Admin defined",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "Automatic status checking is disabled due to the large number of configured storages, click to check status",
+ "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." : "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.",
"Delete storage?" : "Delete storage?",
"Saved" : "Saved",
+ "Saving …" : "Saving …",
"Save" : "Save",
"Empty response from the server" : "Empty response from the server",
"Couldn't access. Please log out and in again to activate this mount point" : "Couldn't access. Please log out and in again to activate this mount point",
@@ -36,6 +40,7 @@
"Credentials saved" : "Credentials saved",
"Credentials saving failed" : "Credentials saving failed",
"Credentials required" : "Credentials required",
+ "Forbidden to manage local mounts" : "Forbidden to manage local mounts",
"Storage with ID \"%d\" not found" : "Storage with ID \"%d\" not found",
"Invalid backend or authentication mechanism class" : "Invalid backend or authentication mechanism class",
"Invalid mount point" : "Invalid mount point",
@@ -69,11 +74,14 @@
"Log-in credentials, save in database" : "Log-in credentials, save in database",
"Username and password" : "Username and password",
"Log-in credentials, save in session" : "Log-in credentials, save in session",
+ "Global credentials, user entered" : "Global credentials, user entered",
"User entered, store in database" : "User entered, store in database",
"RSA public key" : "RSA public key",
"Public key" : "Public key",
"RSA private key" : "RSA private key",
"Private key" : "Private key",
+ "Kerberos default realm, defaults to \"WORKGROUP\"" : "Kerberos default realm, defaults to \"WORKGROUP\"",
+ "Kerberos ticket Apache mode" : "Kerberos ticket Apache mode",
"Kerberos ticket" : "Kerberos ticket",
"Amazon S3" : "Amazon S3",
"Bucket" : "Bucket",
@@ -96,14 +104,20 @@
"SFTP" : "SFTP",
"Root" : "Root",
"SFTP with secret key login" : "SFTP with secret key login",
+ "SMB/CIFS" : "SMB/CIFS",
"Share" : "Share",
"Show hidden files" : "Show hidden files",
+ "Verify ACL access when listing files" : "Verify ACL access when listing files",
+ "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty" : "Check the ACL's of each file or folder inside a directory to filter out items where the user has no read permissions, comes with a performance penalty",
+ "Timeout" : "Timeout",
+ "SMB/CIFS using OC login" : "SMB/CIFS using OC login",
"Username as share" : "Username as share",
"OpenStack Object Storage" : "OpenStack Object Storage",
"Service name" : "Service name",
"Request timeout (seconds)" : "Request timeout (seconds)",
"The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "The cURL support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
"The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it." : "The FTP support in PHP is not enabled or installed. Mounting of %s is not possible. Please ask your system administrator to install it.",
+ "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it." : "\"%1$s\" is not installed. Mounting of %2$s is not possible. Please ask your system administrator to install it.",
"External storage support" : "External storage support",
"Adds basic external storage support" : "Adds basic external storage support",
"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. Administrators can choose which types of storage to enable and can mount these storage locations for a user, 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 users 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 advanced user 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." : "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. Administrators can choose which types of storage to enable and can mount these storage locations for a user, 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 users 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 advanced user 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.",
@@ -112,6 +126,7 @@
"Storage type" : "Storage type",
"Scope" : "Scope",
"Open documentation" : "Open documentation",
+ "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services." : "External storage enables you to mount external storage services and devices as secondary Nextcloud storage devices. You may also allow users to mount their own external storage services.",
"Folder name" : "Folder name",
"Authentication" : "Authentication",
"Configuration" : "Configuration",
@@ -120,7 +135,9 @@
"Add storage" : "Add storage",
"Advanced settings" : "Advanced settings",
"Allow users to mount external storage" : "Allow users to mount external storage",
+ "Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Global credentials can be used to authenticate with multiple external storages that have the same credentials.",
"Delete" : "Delete",
- "Are you sure you want to delete this external storage?" : "Are you sure you want to delete this external storage?"
+ "Are you sure you want to delete this external storage?" : "Are you sure you want to delete this external storage?",
+ "Kerberos ticket apache mode" : "Kerberos ticket apache mode"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_external/l10n/fr.js b/apps/files_external/l10n/fr.js
index 4ad6f6f4313..e7032efb6bf 100644
--- a/apps/files_external/l10n/fr.js
+++ b/apps/files_external/l10n/fr.js
@@ -22,6 +22,8 @@ OC.L10N.register(
"Read only" : "Lecture seule",
"Disconnect" : "Se déconnecter",
"Admin defined" : "Défini par l'administrateur",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "La vérification automatique d'état est désactivée à cause du grand nombre de stockages configurés, cliquez pour vérifier l'état",
+ "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." : "Êtes-vous certain de vouloir déconnecter ce stockage externe ? Cela rendra ce stockage indisponible dans Nextcloud et entraînera la suppression de ces fichiers et dossiers sur tous les clients actuellement connectés, mais ne supprimera aucun fichier ni dossier du stockage externe lui-même.",
"Delete storage?" : "Supprimer ce support de stockage ?",
"Saved" : "Enregistré",
"Saving …" : "Enregistrement ...",
@@ -80,6 +82,8 @@ OC.L10N.register(
"Public key" : "Clé publique",
"RSA private key" : "Clé privée RSA",
"Private key" : "Clé privée",
+ "Kerberos default realm, defaults to \"WORKGROUP\"" : "Domaine Kerberos par défault, valeur par défaut \"WORKGROUP\"",
+ "Kerberos ticket Apache mode" : "Ticket Kerberos, mode Apache",
"Kerberos ticket" : "Ticket Kerberos",
"Amazon S3" : "Amazon S3",
"Bucket" : "Bucket",
@@ -135,6 +139,7 @@ OC.L10N.register(
"Allow users to mount external storage" : "Autoriser les utilisateurs à monter des espaces de stockage externes",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Les identifiants globaux peuvent être utilisés pour s'authentifier auprès de multiples stockages externes qui ont les mêmes identifiants.",
"Delete" : "Supprimer",
- "Are you sure you want to delete this external storage?" : "Êtes-vous sûr de vouloir supprimer ce stockage externe ?"
+ "Are you sure you want to delete this external storage?" : "Êtes-vous sûr de vouloir supprimer ce stockage externe ?",
+ "Kerberos ticket apache mode" : "Ticket Kerberos, mode Apache"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_external/l10n/fr.json b/apps/files_external/l10n/fr.json
index 31b07c0ff46..eae18669333 100644
--- a/apps/files_external/l10n/fr.json
+++ b/apps/files_external/l10n/fr.json
@@ -20,6 +20,8 @@
"Read only" : "Lecture seule",
"Disconnect" : "Se déconnecter",
"Admin defined" : "Défini par l'administrateur",
+ "Automatic status checking is disabled due to the large number of configured storages, click to check status" : "La vérification automatique d'état est désactivée à cause du grand nombre de stockages configurés, cliquez pour vérifier l'état",
+ "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." : "Êtes-vous certain de vouloir déconnecter ce stockage externe ? Cela rendra ce stockage indisponible dans Nextcloud et entraînera la suppression de ces fichiers et dossiers sur tous les clients actuellement connectés, mais ne supprimera aucun fichier ni dossier du stockage externe lui-même.",
"Delete storage?" : "Supprimer ce support de stockage ?",
"Saved" : "Enregistré",
"Saving …" : "Enregistrement ...",
@@ -78,6 +80,8 @@
"Public key" : "Clé publique",
"RSA private key" : "Clé privée RSA",
"Private key" : "Clé privée",
+ "Kerberos default realm, defaults to \"WORKGROUP\"" : "Domaine Kerberos par défault, valeur par défaut \"WORKGROUP\"",
+ "Kerberos ticket Apache mode" : "Ticket Kerberos, mode Apache",
"Kerberos ticket" : "Ticket Kerberos",
"Amazon S3" : "Amazon S3",
"Bucket" : "Bucket",
@@ -133,6 +137,7 @@
"Allow users to mount external storage" : "Autoriser les utilisateurs à monter des espaces de stockage externes",
"Global credentials can be used to authenticate with multiple external storages that have the same credentials." : "Les identifiants globaux peuvent être utilisés pour s'authentifier auprès de multiples stockages externes qui ont les mêmes identifiants.",
"Delete" : "Supprimer",
- "Are you sure you want to delete this external storage?" : "Êtes-vous sûr de vouloir supprimer ce stockage externe ?"
+ "Are you sure you want to delete this external storage?" : "Êtes-vous sûr de vouloir supprimer ce stockage externe ?",
+ "Kerberos ticket apache mode" : "Ticket Kerberos, mode Apache"
},"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_external/lib/Lib/Auth/PublicKey/RSA.php b/apps/files_external/lib/Lib/Auth/PublicKey/RSA.php
index 2d17b4e9698..d45db03b2da 100644
--- a/apps/files_external/lib/Lib/Auth/PublicKey/RSA.php
+++ b/apps/files_external/lib/Lib/Auth/PublicKey/RSA.php
@@ -60,7 +60,11 @@ class RSA extends AuthMechanism {
$auth = new RSACrypt();
$auth->setPassword($this->config->getSystemValue('secret', ''));
if (!$auth->loadKey($storage->getBackendOption('private_key'))) {
- throw new \RuntimeException('unable to load private key');
+ // Add fallback routine for a time where secret was not enforced to be exists
+ $auth->setPassword('');
+ if (!$auth->loadKey($storage->getBackendOption('private_key'))) {
+ throw new \RuntimeException('unable to load private key');
+ }
}
$storage->setBackendOption('public_key_auth', $auth);
}
diff --git a/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php b/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php
index 886d16965f4..7d04aaaf057 100644
--- a/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php
+++ b/apps/files_external/lib/Lib/Auth/PublicKey/RSAPrivateKey.php
@@ -58,7 +58,11 @@ class RSAPrivateKey extends AuthMechanism {
$auth = new RSACrypt();
$auth->setPassword($this->config->getSystemValue('secret', ''));
if (!$auth->loadKey($storage->getBackendOption('private_key'))) {
- throw new \RuntimeException('unable to load private key');
+ // Add fallback routine for a time where secret was not enforced to be exists
+ $auth->setPassword('');
+ if (!$auth->loadKey($storage->getBackendOption('private_key'))) {
+ throw new \RuntimeException('unable to load private key');
+ }
}
$storage->setBackendOption('public_key_auth', $auth);
}
diff --git a/apps/files_sharing/composer/autoload.php b/apps/files_sharing/composer/autoload.php
index 02b3c10c483..9ad3b4c77ed 100644
--- a/apps/files_sharing/composer/autoload.php
+++ b/apps/files_sharing/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/files_sharing/composer/composer/installed.php b/apps/files_sharing/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/files_sharing/composer/composer/installed.php
+++ b/apps/files_sharing/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/files_sharing/css/icons.css b/apps/files_sharing/css/icons.css
index ff5c5844df6..3c5fbf8539d 100644
--- a/apps/files_sharing/css/icons.css
+++ b/apps/files_sharing/css/icons.css
@@ -77,18 +77,15 @@
* @returns A background image with the url to the set to the requested icon.
*/
.icon-room {
- /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
- background-image: var(--icon-app-dark);
+ background-image: var(--icon-talk-dark);
}
.icon-circle {
- /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
background-image: var(--icon-circles-dark);
}
.icon-guests {
- /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
- background-image: var(--icon-app-dark);
+ background-image: var(--icon-user-dark);
}
/*# sourceMappingURL=icons.css.map */
diff --git a/apps/files_sharing/css/icons.css.map b/apps/files_sharing/css/icons.css.map
index a2766ac03f7..09610c8b8fe 100644
--- a/apps/files_sharing/css/icons.css.map
+++ b/apps/files_sharing/css/icons.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","icons.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADzBA;ACsCC;EAEA;;;ADrCD;ACmCC;EAEA;;;ADlCD;ACgCC;EAEA","file":"icons.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","icons.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ADzBA;EACC;;;AAED;EACC;;;AAED;EACC","file":"icons.css"} \ No newline at end of file
diff --git a/apps/files_sharing/css/icons.scss b/apps/files_sharing/css/icons.scss
index 529d8bd5100..21bd1bde019 100644
--- a/apps/files_sharing/css/icons.scss
+++ b/apps/files_sharing/css/icons.scss
@@ -24,11 +24,11 @@
// This is the icons used in the sharing ui (multiselect)
.icon-room {
- @include icon-color('app', 'spreed', variables.$color-black);
+ background-image: var(--icon-talk-dark);
}
.icon-circle {
- @include icon-color('circles', 'circles', variables.$color-black, 3, false);
+ background-image: var(--icon-circles-dark);
}
.icon-guests {
- @include icon-color('app', 'guests', variables.$color-black);
+ background-image: var(--icon-user-dark);
} \ No newline at end of file
diff --git a/apps/files_sharing/css/mobile.css b/apps/files_sharing/css/mobile.css
index 96b9736b6ac..c9e3e95acad 100644
--- a/apps/files_sharing/css/mobile.css
+++ b/apps/files_sharing/css/mobile.css
@@ -25,41 +25,34 @@
#header.share-file {
position: absolute !important;
}
-
/* hide size and date columns */
table th.column-size,
-table td.filesize,
-table th.column-mtime,
-table td.date {
+ table td.filesize,
+ table th.column-mtime,
+ table td.date {
display: none;
}
-
/* restrict length of displayed filename to prevent overflow */
table td.filename .nametext {
max-width: 75% !important;
}
-
/* on mobile, show single shared image at full width without margin */
#imgframe {
width: 100%;
padding: 0;
}
-
/* some margin for the file type icon */
#imgframe .publicpreview {
margin-top: 32px;
}
-
/* some padding for better clickability */
.files-fileList a.action img {
padding: 0 6px 0 12px;
}
-
/* hide text of the actions on mobile */
.files-fileList a.action:not(.menuitem) span {
display: none;
}
-
/* ellipsis on file names */
.nametext {
width: 60%;
@@ -67,16 +60,13 @@ table td.date {
overflow: hidden;
text-overflow: ellipsis;
}
-
#header .menutoggle {
padding-right: 14px;
background-position: center;
}
-
.note {
padding: 0 20px;
}
-
.emptycontent {
margin-top: 10vh;
}
diff --git a/apps/files_sharing/css/mobile.css.map b/apps/files_sharing/css/mobile.css.map
index ab822b947db..a099f82901e 100644
--- a/apps/files_sharing/css/mobile.css.map
+++ b/apps/files_sharing/css/mobile.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAEA;EACA;IACC;;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;IACA;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;IACA;;;EAGD;IACI;IACA;;;EAEJ;IACC;;;EAGD;IACC","file":"mobile.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACEA;AAEA;EACA;IACC;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;AAGD;EACA;IACC;;AAGD;EACA;IACC;IACA;;AAED;EACA;IACC;;AAGD;EACA;IACC;;AAED;EACA;IACC;;AAGD;EACA;IACC;IACA;IACA;IACA;;EAGD;IACI;IACA;;EAEJ;IACC;;EAGD;IACC","file":"mobile.css"} \ No newline at end of file
diff --git a/apps/files_sharing/css/publicView.css b/apps/files_sharing/css/publicView.css
index 6debc033ede..43d62b18997 100644
--- a/apps/files_sharing/css/publicView.css
+++ b/apps/files_sharing/css/publicView.css
@@ -294,41 +294,34 @@ thead {
#header.share-file {
position: absolute !important;
}
-
/* hide size and date columns */
table th.column-size,
-table td.filesize,
-table th.column-mtime,
-table td.date {
+ table td.filesize,
+ table th.column-mtime,
+ table td.date {
display: none;
}
-
/* restrict length of displayed filename to prevent overflow */
table td.filename .nametext {
max-width: 75% !important;
}
-
/* on mobile, show single shared image at full width without margin */
#imgframe {
width: 100%;
padding: 0;
}
-
/* some margin for the file type icon */
#imgframe .publicpreview {
margin-top: 32px;
}
-
/* some padding for better clickability */
.files-fileList a.action img {
padding: 0 6px 0 12px;
}
-
/* hide text of the actions on mobile */
.files-fileList a.action:not(.menuitem) span {
display: none;
}
-
/* ellipsis on file names */
.nametext {
width: 60%;
@@ -336,16 +329,13 @@ table td.date {
overflow: hidden;
text-overflow: ellipsis;
}
-
#header .menutoggle {
padding-right: 14px;
background-position: center;
}
-
.note {
padding: 0 20px;
}
-
.emptycontent {
margin-top: 10vh;
}
diff --git a/apps/files_sharing/css/publicView.css.map b/apps/files_sharing/css/publicView.css.map
index c196ee11a5a..04d50bba210 100644
--- a/apps/files_sharing/css/publicView.css.map
+++ b/apps/files_sharing/css/publicView.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","public.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACMA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACI;;;AAGJ;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EAEI;;;AAGJ;EACI;;;AAGJ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;;;AAGD;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;AAAA;AAGC;EACA;;;AAGD;EACC;;;AAIA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AACA;EACC;EACA;;;AAIF;EACC;EACA;;;AAKD;EAII;IACC;;;AAQL;EAGG;IACC;;;ADzQJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AEEA;AAEA;EACA;IACC;;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;;AAGD;EACA;IACC;;;AAGD;EACA;IACC;IACA;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;;;AAED;EACA;IACC;;;AAGD;EACA;IACC;IACA;IACA;IACA;;;EAGD;IACI;IACA;;;EAEJ;IACC;;;EAGD;IACC","file":"publicView.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","public.scss","mobile.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACMA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACI;;;AAGJ;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EAEI;;;AAGJ;EACI;;;AAGJ;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAID;EACC;;;AAGD;AACA;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;AACA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AACA;EACC;;;AAED;AAAA;AAAA;EAGC;EACA;;;AAED;AAAA;AAAA;AAGC;EACA;;;AAGD;EACC;;;AAIA;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;AAAA;EAEC;EACA;EACA;;;AAGD;EACC;EACA;EACA;;AACA;EACC;EACA;;;AAIF;EACC;EACA;;;AAKD;EAII;IACC;;;AAQL;EAGG;IACC;;;ADzQJ;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AEEA;AAEA;EACA;IACC;;AAGD;EACA;AAAA;AAAA;AAAA;IAIC;;AAGD;EACA;IACC;;AAGD;EACA;IACC;IACA;;AAED;EACA;IACC;;AAGD;EACA;IACC;;AAED;EACA;IACC;;AAGD;EACA;IACC;IACA;IACA;IACA;;EAGD;IACI;IACA;;EAEJ;IACC;;EAGD;IACC","file":"publicView.css"} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/ar.js b/apps/files_sharing/l10n/ar.js
index 9da3a844055..c3f1dbaac0f 100644
--- a/apps/files_sharing/l10n/ar.js
+++ b/apps/files_sharing/l10n/ar.js
@@ -168,11 +168,11 @@ OC.L10N.register(
"Added by {initiator}" : "تمت الإضافة بواسطة {initator}",
"Via “{folder}”" : "عبر “{folder}”",
"Internal link" : "الرابط الداخلي",
- "Link copied" : "نُسِخ الرابط",
"Cannot copy, please copy the link manually" : "لا يمكن النسخ ، يرجى نسخ الرابط يدويًا",
"Copy to clipboard" : "نسخ الرابط",
"Only works for users with access to this folder" : "يعمل فقط للمستخدمين الذين لديهم حق الوصول إلى هذا المجلد",
"Only works for users with access to this file" : "يعمل فقط للمستخدمين الذين لديهم حق الوصول إلى هذا الملف",
+ "Link copied" : "نُسِخ الرابط",
"Please enter the following required information before creating the share" : "الرجاء إدخال المعلومات المطلوبة التالية قبل إنشاء المشاركة",
"Password protection (enforced)" : "حماية كلمة المرور (الزامي)",
"Password protection" : "الحماية بكلمة السر",
diff --git a/apps/files_sharing/l10n/ar.json b/apps/files_sharing/l10n/ar.json
index 2b49710d3c7..bf3e5ec7eb5 100644
--- a/apps/files_sharing/l10n/ar.json
+++ b/apps/files_sharing/l10n/ar.json
@@ -166,11 +166,11 @@
"Added by {initiator}" : "تمت الإضافة بواسطة {initator}",
"Via “{folder}”" : "عبر “{folder}”",
"Internal link" : "الرابط الداخلي",
- "Link copied" : "نُسِخ الرابط",
"Cannot copy, please copy the link manually" : "لا يمكن النسخ ، يرجى نسخ الرابط يدويًا",
"Copy to clipboard" : "نسخ الرابط",
"Only works for users with access to this folder" : "يعمل فقط للمستخدمين الذين لديهم حق الوصول إلى هذا المجلد",
"Only works for users with access to this file" : "يعمل فقط للمستخدمين الذين لديهم حق الوصول إلى هذا الملف",
+ "Link copied" : "نُسِخ الرابط",
"Please enter the following required information before creating the share" : "الرجاء إدخال المعلومات المطلوبة التالية قبل إنشاء المشاركة",
"Password protection (enforced)" : "حماية كلمة المرور (الزامي)",
"Password protection" : "الحماية بكلمة السر",
diff --git a/apps/files_sharing/l10n/bg.js b/apps/files_sharing/l10n/bg.js
index 5b0ef20197a..ee7d4a27715 100644
--- a/apps/files_sharing/l10n/bg.js
+++ b/apps/files_sharing/l10n/bg.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Чрез “{folder}”",
"Internal link" : "Вътрешна връзка",
"Copy internal link to clipboard" : "Копиране на вътрешна връзката в клипборда",
- "Link copied" : "Връзката е копирана",
"Cannot copy, please copy the link manually" : "Не може да се копира, моля, копирайте връзката ръчно",
"Copy to clipboard" : "Копирай",
"Only works for users with access to this folder" : "Работи само за потребители, които имат достъп до тази папка",
"Only works for users with access to this file" : "Работи само за потребители, които имат достъп до този файл",
+ "Link copied" : "Връзката е копирана",
"Copy public link to clipboard" : "Копиране на публична връзка в клипборда",
"Please enter the following required information before creating the share" : "Моля, въведете следната необходима информация, преди да създадете споделянето",
"Password protection (enforced)" : "Защита с парола (приложена)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Споделяне на връзка ({label})",
"Share link" : "Връзка за споделяне",
"Error, please enter proper password and/or expiration date" : "Грешка, моля да въведете правилната парола и / или срок на годност",
+ "Error while creating the share" : "Грешка при създаване на споделянето",
+ "Share label saved" : "Запазен е етикет за споделяне",
+ "Share password saved" : "Запазена е парола за споделяне",
+ "Search for share recipients" : "Търсене на получатели на споделяне",
"No recommendations. Start typing." : "Няма препоръки. Започнете да пишете.",
"Resharing is not allowed" : "Повторното споделяне е забранено",
"Name or email …" : "Име или имейл",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Грешка при създаване на споделянето",
"Error updating the share: {errorMessage}" : "Грешка приактуализиране на споделянето: {errorMessage}",
"Error updating the share" : "Грешка при актуализиране на споделянето",
+ "Share note saved" : "Запазена е бележка за споделяне",
+ "File \"{path}\" has been unshared" : "Файл „{path}“ не е споделен",
+ "Folder \"{path}\" has been unshared" : "Папка „{path}“не е споделена",
"Shared" : "Споделен",
"Share" : "Сподели",
"Shared with" : "Споделено с",
diff --git a/apps/files_sharing/l10n/bg.json b/apps/files_sharing/l10n/bg.json
index cf69bb1c980..4cc8d521e5b 100644
--- a/apps/files_sharing/l10n/bg.json
+++ b/apps/files_sharing/l10n/bg.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Чрез “{folder}”",
"Internal link" : "Вътрешна връзка",
"Copy internal link to clipboard" : "Копиране на вътрешна връзката в клипборда",
- "Link copied" : "Връзката е копирана",
"Cannot copy, please copy the link manually" : "Не може да се копира, моля, копирайте връзката ръчно",
"Copy to clipboard" : "Копирай",
"Only works for users with access to this folder" : "Работи само за потребители, които имат достъп до тази папка",
"Only works for users with access to this file" : "Работи само за потребители, които имат достъп до този файл",
+ "Link copied" : "Връзката е копирана",
"Copy public link to clipboard" : "Копиране на публична връзка в клипборда",
"Please enter the following required information before creating the share" : "Моля, въведете следната необходима информация, преди да създадете споделянето",
"Password protection (enforced)" : "Защита с парола (приложена)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Споделяне на връзка ({label})",
"Share link" : "Връзка за споделяне",
"Error, please enter proper password and/or expiration date" : "Грешка, моля да въведете правилната парола и / или срок на годност",
+ "Error while creating the share" : "Грешка при създаване на споделянето",
+ "Share label saved" : "Запазен е етикет за споделяне",
+ "Share password saved" : "Запазена е парола за споделяне",
+ "Search for share recipients" : "Търсене на получатели на споделяне",
"No recommendations. Start typing." : "Няма препоръки. Започнете да пишете.",
"Resharing is not allowed" : "Повторното споделяне е забранено",
"Name or email …" : "Име или имейл",
@@ -229,6 +233,9 @@
"Error creating the share" : "Грешка при създаване на споделянето",
"Error updating the share: {errorMessage}" : "Грешка приактуализиране на споделянето: {errorMessage}",
"Error updating the share" : "Грешка при актуализиране на споделянето",
+ "Share note saved" : "Запазена е бележка за споделяне",
+ "File \"{path}\" has been unshared" : "Файл „{path}“ не е споделен",
+ "Folder \"{path}\" has been unshared" : "Папка „{path}“не е споделена",
"Shared" : "Споделен",
"Share" : "Сподели",
"Shared with" : "Споделено с",
diff --git a/apps/files_sharing/l10n/ca.js b/apps/files_sharing/l10n/ca.js
index cbd5f7a8a75..d89ce283500 100644
--- a/apps/files_sharing/l10n/ca.js
+++ b/apps/files_sharing/l10n/ca.js
@@ -13,7 +13,7 @@ OC.L10N.register(
"Deleted shares" : "Comparticions suprimides",
"No deleted shares" : "No hi ha cap compartició suprimida",
"Shares you deleted will show up here" : "Les comparticions que heu suprimit es mostraran aquí",
- "Pending shares" : "Compartits pendents",
+ "Pending shares" : "Comparticions pendents",
"No pending shares" : "Sense comparticions pendents",
"Shares you have received but not confirmed will show up here" : "Les comparticions que heu rebut però no confirmades es mostraran aquí",
"Shares" : "Comparticions",
@@ -31,9 +31,9 @@ OC.L10N.register(
"finished" : "finalitzat",
"This will stop your current uploads." : "Això aturarà les càrregues actuals.",
"Move or copy" : "Mou o copia",
- "Download" : "Baixa",
+ "Download" : "Baixada",
"Delete" : "Suprimeix",
- "You can upload into this folder" : "Podeu carregar dins d'aquesta carpeta",
+ "You can upload into this folder" : "Podeu pujar dins d'aquesta carpeta",
"Terms of service" : "Condicions del servei",
"Show list view" : "Mostra en vista de llista",
"Show grid view" : "Mostra en vista de graella",
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Mitjançant “{folder}”",
"Internal link" : "Enllaç intern",
"Copy internal link to clipboard" : "Copia l'enllaç intern al porta-retalls",
- "Link copied" : "Enllaç copiat",
"Cannot copy, please copy the link manually" : "No es pot copiar, si us plau, copieu l'enllaç manualment",
"Copy to clipboard" : "Copia-ho al porta-papers",
"Only works for users with access to this folder" : "Només funciona per a usuaris amb accés a aquesta carpeta",
"Only works for users with access to this file" : "Només funciona per a usuaris amb accés a aquest fitxer",
+ "Link copied" : "Enllaç copiat",
"Copy public link to clipboard" : "Copia l'enllaç públic al porta-retalls",
"Please enter the following required information before creating the share" : "Introduïu la informació necessària següent abans de crear la compartició",
"Password protection (enforced)" : "Protecció amb contrasenya (obligatòri)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Comparteix l'enllaç ({label})",
"Share link" : "Enllaç de compartició",
"Error, please enter proper password and/or expiration date" : "Error, introduïu la contrasenya i/o data de caducitat adequades",
+ "Error while creating the share" : "S'ha produït un error en crear la compartició",
+ "Share label saved" : "S'ha desat l'etiqueta de compartició",
+ "Share password saved" : "S’ha desat la contrasenya de compartició",
+ "Search for share recipients" : "Cerca destinataris compartits",
"No recommendations. Start typing." : "No hi ha recomanacions. Comenceu a escriure.",
"Resharing is not allowed" : "No està permesa la re-compartició",
"Name or email …" : "Nom o correu …",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "S'ha produït un error en crear la compartició",
"Error updating the share: {errorMessage}" : "Error en actualitzar la compartició: {errorMessage}",
"Error updating the share" : "S'ha produït un error en actualitzar la compartició",
+ "Share note saved" : "S'ha desat la nota de compartició",
+ "File \"{path}\" has been unshared" : "El fitxer “{path}” s’ha deixat de compartir",
+ "Folder \"{path}\" has been unshared" : "La carpeta \"{path}\" s'ha deixat de compartir",
"Shared" : "Compartit",
"Share" : "Comparteix",
"Shared with" : "Compartit amb",
diff --git a/apps/files_sharing/l10n/ca.json b/apps/files_sharing/l10n/ca.json
index 61048247aa7..e01954bf712 100644
--- a/apps/files_sharing/l10n/ca.json
+++ b/apps/files_sharing/l10n/ca.json
@@ -11,7 +11,7 @@
"Deleted shares" : "Comparticions suprimides",
"No deleted shares" : "No hi ha cap compartició suprimida",
"Shares you deleted will show up here" : "Les comparticions que heu suprimit es mostraran aquí",
- "Pending shares" : "Compartits pendents",
+ "Pending shares" : "Comparticions pendents",
"No pending shares" : "Sense comparticions pendents",
"Shares you have received but not confirmed will show up here" : "Les comparticions que heu rebut però no confirmades es mostraran aquí",
"Shares" : "Comparticions",
@@ -29,9 +29,9 @@
"finished" : "finalitzat",
"This will stop your current uploads." : "Això aturarà les càrregues actuals.",
"Move or copy" : "Mou o copia",
- "Download" : "Baixa",
+ "Download" : "Baixada",
"Delete" : "Suprimeix",
- "You can upload into this folder" : "Podeu carregar dins d'aquesta carpeta",
+ "You can upload into this folder" : "Podeu pujar dins d'aquesta carpeta",
"Terms of service" : "Condicions del servei",
"Show list view" : "Mostra en vista de llista",
"Show grid view" : "Mostra en vista de graella",
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Mitjançant “{folder}”",
"Internal link" : "Enllaç intern",
"Copy internal link to clipboard" : "Copia l'enllaç intern al porta-retalls",
- "Link copied" : "Enllaç copiat",
"Cannot copy, please copy the link manually" : "No es pot copiar, si us plau, copieu l'enllaç manualment",
"Copy to clipboard" : "Copia-ho al porta-papers",
"Only works for users with access to this folder" : "Només funciona per a usuaris amb accés a aquesta carpeta",
"Only works for users with access to this file" : "Només funciona per a usuaris amb accés a aquest fitxer",
+ "Link copied" : "Enllaç copiat",
"Copy public link to clipboard" : "Copia l'enllaç públic al porta-retalls",
"Please enter the following required information before creating the share" : "Introduïu la informació necessària següent abans de crear la compartició",
"Password protection (enforced)" : "Protecció amb contrasenya (obligatòri)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Comparteix l'enllaç ({label})",
"Share link" : "Enllaç de compartició",
"Error, please enter proper password and/or expiration date" : "Error, introduïu la contrasenya i/o data de caducitat adequades",
+ "Error while creating the share" : "S'ha produït un error en crear la compartició",
+ "Share label saved" : "S'ha desat l'etiqueta de compartició",
+ "Share password saved" : "S’ha desat la contrasenya de compartició",
+ "Search for share recipients" : "Cerca destinataris compartits",
"No recommendations. Start typing." : "No hi ha recomanacions. Comenceu a escriure.",
"Resharing is not allowed" : "No està permesa la re-compartició",
"Name or email …" : "Nom o correu …",
@@ -229,6 +233,9 @@
"Error creating the share" : "S'ha produït un error en crear la compartició",
"Error updating the share: {errorMessage}" : "Error en actualitzar la compartició: {errorMessage}",
"Error updating the share" : "S'ha produït un error en actualitzar la compartició",
+ "Share note saved" : "S'ha desat la nota de compartició",
+ "File \"{path}\" has been unshared" : "El fitxer “{path}” s’ha deixat de compartir",
+ "Folder \"{path}\" has been unshared" : "La carpeta \"{path}\" s'ha deixat de compartir",
"Shared" : "Compartit",
"Share" : "Comparteix",
"Shared with" : "Compartit amb",
diff --git a/apps/files_sharing/l10n/cs.js b/apps/files_sharing/l10n/cs.js
index b2d3814c562..0f227c87c12 100644
--- a/apps/files_sharing/l10n/cs.js
+++ b/apps/files_sharing/l10n/cs.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Prostřednictvím „{folder}“",
"Internal link" : "Interní odkaz",
"Copy internal link to clipboard" : "Zkopírovat interní odkaz do schránky",
- "Link copied" : "Odkaz zkopírován",
"Cannot copy, please copy the link manually" : "Nedaří se zkopírovat, zkopírujte odkaz ručně",
"Copy to clipboard" : "Zkopírovat do schránky",
"Only works for users with access to this folder" : "Funguje pouze pro uživatele, kteří mají přístup k této složce",
"Only works for users with access to this file" : "Funguje pouze pro uživatele, kteří mají přístup k tomuto souboru",
+ "Link copied" : "Odkaz zkopírován",
"Copy public link to clipboard" : "Zkopírovat veřejný odkaz do schránky",
"Please enter the following required information before creating the share" : "Před vytvořením sdílení zadejte následující potřebné informace",
"Password protection (enforced)" : "Ochrana heslem (vynucená)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Odkaz na sdílení ({label})",
"Share link" : "Odkaz pro sdílení",
"Error, please enter proper password and/or expiration date" : "Chyba – zadejte správné heslo a/nebo datum skončení platnosti",
+ "Error while creating the share" : "Chyba při vytváření sdílení",
+ "Share label saved" : "Štítek sdílení uložen",
+ "Share password saved" : "Heslo ke sdílení uloženo",
+ "Search for share recipients" : "Vyhledat příjemce sdílení",
"No recommendations. Start typing." : "Žádná doporučení. Pište",
"Resharing is not allowed" : "Příjemcům tohoto sdílení není dovoleno ho nasdílet dál dalším",
"Name or email …" : "Jméno nebo e-mail…",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Chyba při vytváření sdílení",
"Error updating the share: {errorMessage}" : "Chyba při aktualizaci sdílení: {errorMessage}",
"Error updating the share" : "Chyba při aktualizaci sdílení",
+ "Share note saved" : "Poznámka ke sdílení uložena",
+ "File \"{path}\" has been unshared" : "Sdílení souboru „{path}“ bylo zrušeno",
+ "Folder \"{path}\" has been unshared" : "Sdílení složky „{path}“ bylo zrušeno",
"Shared" : "Sdíleno",
"Share" : "Sdílet",
"Shared with" : "Sdíleno s",
diff --git a/apps/files_sharing/l10n/cs.json b/apps/files_sharing/l10n/cs.json
index f6d5362afea..ddeedf144c3 100644
--- a/apps/files_sharing/l10n/cs.json
+++ b/apps/files_sharing/l10n/cs.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Prostřednictvím „{folder}“",
"Internal link" : "Interní odkaz",
"Copy internal link to clipboard" : "Zkopírovat interní odkaz do schránky",
- "Link copied" : "Odkaz zkopírován",
"Cannot copy, please copy the link manually" : "Nedaří se zkopírovat, zkopírujte odkaz ručně",
"Copy to clipboard" : "Zkopírovat do schránky",
"Only works for users with access to this folder" : "Funguje pouze pro uživatele, kteří mají přístup k této složce",
"Only works for users with access to this file" : "Funguje pouze pro uživatele, kteří mají přístup k tomuto souboru",
+ "Link copied" : "Odkaz zkopírován",
"Copy public link to clipboard" : "Zkopírovat veřejný odkaz do schránky",
"Please enter the following required information before creating the share" : "Před vytvořením sdílení zadejte následující potřebné informace",
"Password protection (enforced)" : "Ochrana heslem (vynucená)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Odkaz na sdílení ({label})",
"Share link" : "Odkaz pro sdílení",
"Error, please enter proper password and/or expiration date" : "Chyba – zadejte správné heslo a/nebo datum skončení platnosti",
+ "Error while creating the share" : "Chyba při vytváření sdílení",
+ "Share label saved" : "Štítek sdílení uložen",
+ "Share password saved" : "Heslo ke sdílení uloženo",
+ "Search for share recipients" : "Vyhledat příjemce sdílení",
"No recommendations. Start typing." : "Žádná doporučení. Pište",
"Resharing is not allowed" : "Příjemcům tohoto sdílení není dovoleno ho nasdílet dál dalším",
"Name or email …" : "Jméno nebo e-mail…",
@@ -229,6 +233,9 @@
"Error creating the share" : "Chyba při vytváření sdílení",
"Error updating the share: {errorMessage}" : "Chyba při aktualizaci sdílení: {errorMessage}",
"Error updating the share" : "Chyba při aktualizaci sdílení",
+ "Share note saved" : "Poznámka ke sdílení uložena",
+ "File \"{path}\" has been unshared" : "Sdílení souboru „{path}“ bylo zrušeno",
+ "Folder \"{path}\" has been unshared" : "Sdílení složky „{path}“ bylo zrušeno",
"Shared" : "Sdíleno",
"Share" : "Sdílet",
"Shared with" : "Sdíleno s",
diff --git a/apps/files_sharing/l10n/da.js b/apps/files_sharing/l10n/da.js
index ca385f9180a..ebc2e21ae68 100644
--- a/apps/files_sharing/l10n/da.js
+++ b/apps/files_sharing/l10n/da.js
@@ -147,10 +147,10 @@ OC.L10N.register(
"remote group" : "ekstern gruppe",
"guest" : "Gæst",
"Internal link" : "Internt link",
- "Link copied" : "Link kopieret",
"Copy to clipboard" : "Kopier til udklipsholder",
"Only works for users with access to this folder" : "Virker kun for brugere med adgang til denne folder",
"Only works for users with access to this file" : "Virker kun for brugere med adgang til denne fil",
+ "Link copied" : "Link kopieret",
"Password protection" : "Password protection",
"Enter a password" : "Enter a password",
"Cancel" : "Annullér",
diff --git a/apps/files_sharing/l10n/da.json b/apps/files_sharing/l10n/da.json
index adf0281c836..7d2f4a98e90 100644
--- a/apps/files_sharing/l10n/da.json
+++ b/apps/files_sharing/l10n/da.json
@@ -145,10 +145,10 @@
"remote group" : "ekstern gruppe",
"guest" : "Gæst",
"Internal link" : "Internt link",
- "Link copied" : "Link kopieret",
"Copy to clipboard" : "Kopier til udklipsholder",
"Only works for users with access to this folder" : "Virker kun for brugere med adgang til denne folder",
"Only works for users with access to this file" : "Virker kun for brugere med adgang til denne fil",
+ "Link copied" : "Link kopieret",
"Password protection" : "Password protection",
"Enter a password" : "Enter a password",
"Cancel" : "Annullér",
diff --git a/apps/files_sharing/l10n/de.js b/apps/files_sharing/l10n/de.js
index c3309f79c0e..6b441e0a0a0 100644
--- a/apps/files_sharing/l10n/de.js
+++ b/apps/files_sharing/l10n/de.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Über “{folder}”",
"Internal link" : "Interner Link",
"Copy internal link to clipboard" : "Internen Link in die Zwischenablage kopieren",
- "Link copied" : "Link kopiert",
"Cannot copy, please copy the link manually" : "Kopieren fehlgeschlagen. Bitte kopiere den Link manuell.",
"Copy to clipboard" : "In die Zwischenablage kopieren",
"Only works for users with access to this folder" : "Funktioniert nur für Benutzer, die Zugriff auf diesen Ordner haben",
"Only works for users with access to this file" : "Funktioniert nur für Benutzer, die Zugriff auf diese Datei haben",
+ "Link copied" : "Link kopiert",
"Copy public link to clipboard" : "Öffentlichen Link in die Zwischenablage kopieren",
"Please enter the following required information before creating the share" : "Bitte gib die benötigten Informationen ein bevor die Freigabe erstellt wird",
"Password protection (enforced)" : "Passwortschutz (erzwungen)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Link teilen ({label})",
"Share link" : "Link teilen",
"Error, please enter proper password and/or expiration date" : "Fehler. Bitte gebe das richtige Passwort und/oder Ablaufdatum ein",
+ "Error while creating the share" : "Fehler beim Erstellen der Freigabe",
+ "Share label saved" : "Freigabe-Label gespeichert",
+ "Share password saved" : "Freigabe-Passwort gespeichert",
+ "Search for share recipients" : "Nach Freigabe-Empfängern suchen",
"No recommendations. Start typing." : "Keine Empfehlungen. Beginne mit der Eingabe.",
"Resharing is not allowed" : "Weiterteilen ist nicht erlaubt",
"Name or email …" : "Name oder E-Mail-Adresse …",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}",
"Error updating the share" : "Fehler beim Aktualisieren der Freigabe",
+ "Share note saved" : "Freigabe-Notiz gespeichert",
+ "File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt.",
+ "Folder \"{path}\" has been unshared" : "Freigabe für den Ordner \"{path}\" wurde entfernt.",
"Shared" : "Geteilt",
"Share" : "Teilen",
"Shared with" : "Geteilt mit",
diff --git a/apps/files_sharing/l10n/de.json b/apps/files_sharing/l10n/de.json
index f4d7c4059d0..375dff40cf6 100644
--- a/apps/files_sharing/l10n/de.json
+++ b/apps/files_sharing/l10n/de.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Über “{folder}”",
"Internal link" : "Interner Link",
"Copy internal link to clipboard" : "Internen Link in die Zwischenablage kopieren",
- "Link copied" : "Link kopiert",
"Cannot copy, please copy the link manually" : "Kopieren fehlgeschlagen. Bitte kopiere den Link manuell.",
"Copy to clipboard" : "In die Zwischenablage kopieren",
"Only works for users with access to this folder" : "Funktioniert nur für Benutzer, die Zugriff auf diesen Ordner haben",
"Only works for users with access to this file" : "Funktioniert nur für Benutzer, die Zugriff auf diese Datei haben",
+ "Link copied" : "Link kopiert",
"Copy public link to clipboard" : "Öffentlichen Link in die Zwischenablage kopieren",
"Please enter the following required information before creating the share" : "Bitte gib die benötigten Informationen ein bevor die Freigabe erstellt wird",
"Password protection (enforced)" : "Passwortschutz (erzwungen)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Link teilen ({label})",
"Share link" : "Link teilen",
"Error, please enter proper password and/or expiration date" : "Fehler. Bitte gebe das richtige Passwort und/oder Ablaufdatum ein",
+ "Error while creating the share" : "Fehler beim Erstellen der Freigabe",
+ "Share label saved" : "Freigabe-Label gespeichert",
+ "Share password saved" : "Freigabe-Passwort gespeichert",
+ "Search for share recipients" : "Nach Freigabe-Empfängern suchen",
"No recommendations. Start typing." : "Keine Empfehlungen. Beginne mit der Eingabe.",
"Resharing is not allowed" : "Weiterteilen ist nicht erlaubt",
"Name or email …" : "Name oder E-Mail-Adresse …",
@@ -229,6 +233,9 @@
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}",
"Error updating the share" : "Fehler beim Aktualisieren der Freigabe",
+ "Share note saved" : "Freigabe-Notiz gespeichert",
+ "File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt.",
+ "Folder \"{path}\" has been unshared" : "Freigabe für den Ordner \"{path}\" wurde entfernt.",
"Shared" : "Geteilt",
"Share" : "Teilen",
"Shared with" : "Geteilt mit",
diff --git a/apps/files_sharing/l10n/de_DE.js b/apps/files_sharing/l10n/de_DE.js
index 5d39d3e5523..88f7275bdab 100644
--- a/apps/files_sharing/l10n/de_DE.js
+++ b/apps/files_sharing/l10n/de_DE.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Über “{folder}”",
"Internal link" : "Interner Link",
"Copy internal link to clipboard" : "Internen Link in die Zwischenablage kopieren",
- "Link copied" : "Link kopiert",
"Cannot copy, please copy the link manually" : "Kopieren fehlgeschlagen. Bitte kopieren Sie den Link manuell",
"Copy to clipboard" : "In die Zwischenablage kopieren",
"Only works for users with access to this folder" : "Funktioniert nur für Benutzer, die Zugriff auf diesen Ordner haben",
"Only works for users with access to this file" : "Funktioniert nur für Benutzer, die Zugriff auf diese Datei haben",
+ "Link copied" : "Link kopiert",
"Copy public link to clipboard" : "Öffentlichen Link in die Zwischenablage kopieren",
"Please enter the following required information before creating the share" : "Bitte geben Sie die benötigten Informationen ein bevor die Freigabe erstellt wird",
"Password protection (enforced)" : "Passwortschutz (erzwungen)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Link teilen ({label})",
"Share link" : "Link teilen",
"Error, please enter proper password and/or expiration date" : "Fehler. Bitte gebe das richtige Passwort und/oder Ablaufdatum ein",
+ "Error while creating the share" : "Fehler beim Erstellen der Freigabe",
+ "Share label saved" : "Freigabe-Label gespeichert",
+ "Share password saved" : "Freigabe-Passwort gespeichert",
+ "Search for share recipients" : "Nach Freigabeempfängern suchen",
"No recommendations. Start typing." : "Keine Empfehlungen. Beginnen Sie mit der Eingabe.",
"Resharing is not allowed" : "Das Weiterteilen ist nicht erlaubt ",
"Name or email …" : "Name oder E-Mail-Adresse …",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}",
"Error updating the share" : "Fehler beim Aktualisieren der Freigabe",
+ "Share note saved" : "Freigabe-Notiz gespeichert",
+ "File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt",
+ "Folder \"{path}\" has been unshared" : "Freigabe für den Ordner \"{path}\" wurde entfernt",
"Shared" : "Geteilt",
"Share" : "Teilen",
"Shared with" : "Geteilt mit",
diff --git a/apps/files_sharing/l10n/de_DE.json b/apps/files_sharing/l10n/de_DE.json
index 04fc2426696..23a9bfb7820 100644
--- a/apps/files_sharing/l10n/de_DE.json
+++ b/apps/files_sharing/l10n/de_DE.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Über “{folder}”",
"Internal link" : "Interner Link",
"Copy internal link to clipboard" : "Internen Link in die Zwischenablage kopieren",
- "Link copied" : "Link kopiert",
"Cannot copy, please copy the link manually" : "Kopieren fehlgeschlagen. Bitte kopieren Sie den Link manuell",
"Copy to clipboard" : "In die Zwischenablage kopieren",
"Only works for users with access to this folder" : "Funktioniert nur für Benutzer, die Zugriff auf diesen Ordner haben",
"Only works for users with access to this file" : "Funktioniert nur für Benutzer, die Zugriff auf diese Datei haben",
+ "Link copied" : "Link kopiert",
"Copy public link to clipboard" : "Öffentlichen Link in die Zwischenablage kopieren",
"Please enter the following required information before creating the share" : "Bitte geben Sie die benötigten Informationen ein bevor die Freigabe erstellt wird",
"Password protection (enforced)" : "Passwortschutz (erzwungen)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Link teilen ({label})",
"Share link" : "Link teilen",
"Error, please enter proper password and/or expiration date" : "Fehler. Bitte gebe das richtige Passwort und/oder Ablaufdatum ein",
+ "Error while creating the share" : "Fehler beim Erstellen der Freigabe",
+ "Share label saved" : "Freigabe-Label gespeichert",
+ "Share password saved" : "Freigabe-Passwort gespeichert",
+ "Search for share recipients" : "Nach Freigabeempfängern suchen",
"No recommendations. Start typing." : "Keine Empfehlungen. Beginnen Sie mit der Eingabe.",
"Resharing is not allowed" : "Das Weiterteilen ist nicht erlaubt ",
"Name or email …" : "Name oder E-Mail-Adresse …",
@@ -229,6 +233,9 @@
"Error creating the share" : "Fehler beim Erstellen der Freigabe",
"Error updating the share: {errorMessage}" : "Fehler beim Aktualisieren der Freigabe: {errorMessage}",
"Error updating the share" : "Fehler beim Aktualisieren der Freigabe",
+ "Share note saved" : "Freigabe-Notiz gespeichert",
+ "File \"{path}\" has been unshared" : "Freigabe für die Datei \"{path}\" wurde entfernt",
+ "Folder \"{path}\" has been unshared" : "Freigabe für den Ordner \"{path}\" wurde entfernt",
"Shared" : "Geteilt",
"Share" : "Teilen",
"Shared with" : "Geteilt mit",
diff --git a/apps/files_sharing/l10n/el.js b/apps/files_sharing/l10n/el.js
index 0908bb9bb0b..f03d95d7eb7 100644
--- a/apps/files_sharing/l10n/el.js
+++ b/apps/files_sharing/l10n/el.js
@@ -173,11 +173,11 @@ OC.L10N.register(
"Added by {initiator}" : "Προστέθηκε από {initiator}",
"Via “{folder}”" : "Μέσω “{folder}”",
"Internal link" : "Εσωτερικός σύνδεσμος",
- "Link copied" : "Ο σύνδεσμος αντιγράφηκε",
"Cannot copy, please copy the link manually" : "Δεν μπορεί να αντιγραφή, παρακαλώ αντιγράψτε χειροκίνητα",
"Copy to clipboard" : "Αντιγραφή στο πρόχειρο",
"Only works for users with access to this folder" : "Δουλεύει μόνο για χρήστες με πρόσβαση σε αυτό το φάκελο",
"Only works for users with access to this file" : "Δουλεύει μόνο για χρήστες με πρόσβαση στο αρχείο",
+ "Link copied" : "Ο σύνδεσμος αντιγράφηκε",
"Please enter the following required information before creating the share" : "Καταχωρίστε τις ακόλουθες απαιτούμενες πληροφορίες πριν δημιουργήσετε το κοινόχρηστο στοιχείο",
"Password protection (enforced)" : "Προστασία με κωδικό (υποχρεωτικό)",
"Password protection" : "Προστασία συνθηματικού",
@@ -198,6 +198,7 @@ OC.L10N.register(
"Share link ({label})" : "Σύνδεσμος κοινής χρήσης ({label})",
"Share link" : "Διαμοιρασμός συνδέσμου",
"Error, please enter proper password and/or expiration date" : "Σφάλμα, παρακαλώ εισάγετε τον σωστό κωδικό πρόσβασης και/ή ημερομηνία λήξης",
+ "Search for share recipients" : "Αναζήτηση για παραλήπτες διαμοιρασμού",
"No recommendations. Start typing." : "Δεν υπάρχουν συστάσεις. Αρχίστε να πληκτρολογείτε.",
"Resharing is not allowed" : "Δεν επιτρέπεται ο επαναμοιρασμός",
"Name or email …" : "Όνομα ή διεύθυνση ηλεκτρονικού ταχυδρομείου",
diff --git a/apps/files_sharing/l10n/el.json b/apps/files_sharing/l10n/el.json
index 3a05cfa1142..077ead52730 100644
--- a/apps/files_sharing/l10n/el.json
+++ b/apps/files_sharing/l10n/el.json
@@ -171,11 +171,11 @@
"Added by {initiator}" : "Προστέθηκε από {initiator}",
"Via “{folder}”" : "Μέσω “{folder}”",
"Internal link" : "Εσωτερικός σύνδεσμος",
- "Link copied" : "Ο σύνδεσμος αντιγράφηκε",
"Cannot copy, please copy the link manually" : "Δεν μπορεί να αντιγραφή, παρακαλώ αντιγράψτε χειροκίνητα",
"Copy to clipboard" : "Αντιγραφή στο πρόχειρο",
"Only works for users with access to this folder" : "Δουλεύει μόνο για χρήστες με πρόσβαση σε αυτό το φάκελο",
"Only works for users with access to this file" : "Δουλεύει μόνο για χρήστες με πρόσβαση στο αρχείο",
+ "Link copied" : "Ο σύνδεσμος αντιγράφηκε",
"Please enter the following required information before creating the share" : "Καταχωρίστε τις ακόλουθες απαιτούμενες πληροφορίες πριν δημιουργήσετε το κοινόχρηστο στοιχείο",
"Password protection (enforced)" : "Προστασία με κωδικό (υποχρεωτικό)",
"Password protection" : "Προστασία συνθηματικού",
@@ -196,6 +196,7 @@
"Share link ({label})" : "Σύνδεσμος κοινής χρήσης ({label})",
"Share link" : "Διαμοιρασμός συνδέσμου",
"Error, please enter proper password and/or expiration date" : "Σφάλμα, παρακαλώ εισάγετε τον σωστό κωδικό πρόσβασης και/ή ημερομηνία λήξης",
+ "Search for share recipients" : "Αναζήτηση για παραλήπτες διαμοιρασμού",
"No recommendations. Start typing." : "Δεν υπάρχουν συστάσεις. Αρχίστε να πληκτρολογείτε.",
"Resharing is not allowed" : "Δεν επιτρέπεται ο επαναμοιρασμός",
"Name or email …" : "Όνομα ή διεύθυνση ηλεκτρονικού ταχυδρομείου",
diff --git a/apps/files_sharing/l10n/en_GB.js b/apps/files_sharing/l10n/en_GB.js
index ee3b2f577c1..411fd4607e3 100644
--- a/apps/files_sharing/l10n/en_GB.js
+++ b/apps/files_sharing/l10n/en_GB.js
@@ -10,13 +10,33 @@ OC.L10N.register(
"Shared by link" : "Shared by link",
"No shared links" : "No shared links",
"Files and folders you share by link will show up here" : "Files and folders you share by link will show up here",
+ "Deleted shares" : "Deleted shares",
+ "No deleted shares" : "No deleted shares",
+ "Shares you deleted will show up here" : "Shares you deleted will show up here",
+ "Pending shares" : "Pending shares",
+ "No pending shares" : "No pending shares",
+ "Shares you have received but not confirmed will show up here" : "Shares you have received but not confirmed will show up here",
"Shares" : "Shares",
+ "No shares" : "No shares",
+ "Shares will show up here" : "Shares will show up here",
"Restore" : "Restore",
+ "Restore share" : "Restore share",
+ "Something happened. Unable to restore the share." : "Something happened. Unable to restore the share.",
+ "Accept share" : "Accept share",
+ "Something happened. Unable to accept the share." : "Something happened. Unable to accept the share.",
+ "Reject share" : "Reject share",
+ "Something happened. Unable to reject the share." : "Something happened. Unable to reject the share.",
+ "Waiting…" : "Waiting…",
"error" : "error",
+ "finished" : "finished",
+ "This will stop your current uploads." : "This will stop your current uploads.",
"Move or copy" : "Move or copy",
"Download" : "Download",
"Delete" : "Delete",
"You can upload into this folder" : "You can upload into this folder",
+ "Terms of service" : "Terms of service",
+ "Show list view" : "Show list view",
+ "Show grid view" : "Show grid view",
"No compatible server found at {remote}" : "No compatible server found at {remote}",
"Invalid server URL" : "Invalid server URL",
"Failed to add the public link to your Nextcloud" : "Failed to add the public link to your Nextcloud",
@@ -31,10 +51,12 @@ OC.L10N.register(
"Removed share for group {group}" : "Removed share for group {group}",
"{actor} shared with group {group}" : "{actor} shared with group {group}",
"{actor} removed share for group {group}" : "{actor} removed share for group {group}",
+ "Share for group {group} expired" : "Share for group {group} expired",
"You shared {file} with group {group}" : "You shared {file} with group {group}",
"You removed group {group} from {file}" : "You removed group {group} from {file}",
"{actor} shared {file} with group {group}" : "{actor} shared {file} with group {group}",
"{actor} removed group {group} from {file}" : "{actor} removed group {group} from {file}",
+ "Share for file {file} with group {group} expired" : "Share for file {file} with group {group} expired",
"Shared as public link" : "Shared as public link",
"Removed public link" : "Removed public link",
"Public link expired" : "Public link expired",
@@ -55,78 +77,174 @@ OC.L10N.register(
"{user} unshared {file} from you" : "{user} unshared {file} from you",
"Shared with {user}" : "Shared with {user}",
"Removed share for {user}" : "Removed share for {user}",
+ "You removed yourself" : "You removed yourself",
+ "{actor} removed themselves" : "{actor} removed themselves",
"{actor} shared with {user}" : "{actor} shared with {user}",
"{actor} removed share for {user}" : "{actor} removed share for {user}",
"Shared by {actor}" : "Shared by {actor}",
"{actor} removed share" : "{actor} removed share",
+ "Share for {user} expired" : "Share for {user} expired",
+ "Share expired" : "Share expired",
"You shared {file} with {user}" : "You shared {file} with {user}",
"You removed {user} from {file}" : "You removed {user} from {file}",
+ "You removed yourself from {file}" : "You removed yourself from {file}",
+ "{actor} removed themselves from {file}" : "{actor} removed themselves from {file}",
"{actor} shared {file} with {user}" : "{actor} shared {file} with {user}",
"{actor} removed {user} from {file}" : "{actor} removed {user} from {file}",
"{actor} shared {file} with you" : "{actor} shared {file} with you",
+ "{actor} removed you from the share named {file}" : "{actor} removed you from the share named {file}",
+ "Share for file {file} with {user} expired" : "Share for file {file} with {user} expired",
+ "Share for file {file} expired" : "Share for file {file} expired",
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "A file or folder shared by mail or by public link was <strong>downloaded</strong>",
"A file or folder was shared from <strong>another server</strong>" : "A file or folder was shared from <strong>another server</strong>",
"Files" : "Files",
"A file or folder has been <strong>shared</strong>" : "A file or folder has been <strong>shared</strong>",
+ "Shared link" : "Shared link",
+ "Wrong share ID, share does not exist" : "Wrong share ID, share does not exist",
"Could not delete share" : "Could not delete share",
"Please specify a file or folder path" : "Please specify a file or folder path",
+ "Wrong path, file/folder does not exist" : "Wrong path, file/folder does not exist",
"Could not create share" : "Could not create share",
+ "Invalid permissions" : "Invalid permissions",
"Please specify a valid user" : "Please specify a valid user",
"Group sharing is disabled by the administrator" : "Group sharing is disabled by the administrator",
"Please specify a valid group" : "Please specify a valid group",
"Public link sharing is disabled by the administrator" : "Public link sharing is disabled by the administrator",
"Public upload disabled by the administrator" : "Public upload disabled by the administrator",
"Public upload is only possible for publicly shared folders" : "Public upload is only possible for publicly shared folders",
+ "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled",
"Invalid date, date format must be YYYY-MM-DD" : "Invalid date, date format must be YYYY-MM-DD",
+ "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Sharing %1$s failed because the back end does not allow shares from type %2$s",
+ "Please specify a valid federated user ID" : "Please specify a valid federated user ID",
+ "Please specify a valid federated group ID" : "Please specify a valid federated group ID",
"You cannot share to a Circle if the app is not enabled" : "You cannot share to a Circle if the app is not enabled",
"Please specify a valid circle" : "Please specify a valid circle",
+ "Sharing %s failed because the back end does not support room shares" : "Sharing %s failed because the back end does not support room shares",
"Unknown share type" : "Unknown share type",
"Not a directory" : "Not a directory",
+ "Could not lock node" : "Could not lock node",
"Could not lock path" : "Could not lock path",
"Wrong or no update parameter given" : "Wrong or no update parameter given",
+ "Share must at least have READ or CREATE permissions" : "Share must at least have READ or CREATE permissions",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Share must have READ permission if UPDATE or DELETE permission is set",
+ "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled.",
"shared by %s" : "shared by %s",
+ "Download all files" : "Download all files",
"Direct link" : "Direct link",
+ "Add to your %s" : "Add to your %s",
"Share API is disabled" : "Share API is disabled",
"File sharing" : "File sharing",
+ "Share will expire tomorrow" : "Share will expire tomorrow",
+ "One or more of your shares will expire tomorrow" : "One or more of your shares will expire tomorrow",
+ "Your share of {node} will expire tomorrow" : "Your share of {node} will expire tomorrow",
+ "You received {share} as a share by {user}" : "You received {share} as a share by {user}",
+ "You received {share} to group {group} as a share by {user}" : "You received {share} to group {group} as a share by {user}",
"Accept" : "Accept",
"Reject" : "Reject",
"This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users 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 users 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." : "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users 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 users 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.",
"Sharing" : "Sharing",
+ "Accept user and group shares by default" : "Accept user and group shares by default",
+ "Error while toggling options" : "Error while toggling options",
+ "Set default folder for accepted shares" : "Set default folder for accepted shares",
"Reset" : "Reset",
+ "Reset folder to system default" : "Reset folder to system default",
+ "Choose a default folder for accepted shares" : "Choose a default folder for accepted shares",
+ "Invalid path selected" : "Invalid path selected",
"Unknown error" : "Unknown error",
"Allow editing" : "Allow editing",
"Read only" : "Read only",
"Allow upload and editing" : "Allow upload and editing",
"File drop (upload only)" : "File drop (upload only)",
+ "Custom permissions" : "Custom permissions",
"Read" : "Read",
"Upload" : "Upload",
"Edit" : "Edit",
+ "Bundled permissions" : "Bundled permissions",
"Allow creating" : "Allow creating",
"Allow deleting" : "Allow deleting",
"Allow resharing" : "Allow resharing",
+ "Expiration date enforced" : "Expiration date enforced",
"Set expiration date" : "Set expiration date",
+ "Enter a date" : "Enter a date",
"Note to recipient" : "Note to recipient",
"Unshare" : "Unshare",
"group" : "group",
+ "conversation" : "conversation",
"remote" : "remote",
+ "remote group" : "remote group",
"guest" : "guest",
- "Link copied" : "Link copied",
+ "Shared with the group {user} by {owner}" : "Shared with the group {user} by {owner}",
+ "Shared with the conversation {user} by {owner}" : "Shared with the conversation {user} by {owner}",
+ "Shared with {user} by {owner}" : "Shared with {user} by {owner}",
+ "Allow download" : "Allow download",
+ "Added by {initiator}" : "Added by {initiator}",
+ "Via “{folder}”" : "Via “{folder}”",
+ "Internal link" : "Internal link",
+ "Copy internal link to clipboard" : "Copy internal link to clipboard",
+ "Cannot copy, please copy the link manually" : "Cannot copy, please copy the link manually",
"Copy to clipboard" : "Copy to clipboard",
"Only works for users with access to this folder" : "Only works for users with access to this folder",
+ "Only works for users with access to this file" : "Only works for users with access to this file",
+ "Link copied" : "Link copied",
+ "Copy public link to clipboard" : "Copy public link to clipboard",
+ "Please enter the following required information before creating the share" : "Please enter the following required information before creating the share",
+ "Password protection (enforced)" : "Password protection (enforced)",
"Password protection" : "Password protection",
"Enter a password" : "Enter a password",
+ "Expiration date (enforced)" : "Expiration date (enforced)",
+ "Create share" : "Create share",
"Cancel" : "Cancel",
+ "Share label" : "Share label",
"Hide download" : "Hide download",
"Password protect" : "Password protect",
+ "Password expires {passwordExpirationTime}" : "Password expires {passwordExpirationTime}",
+ "Password expired" : "Password expired",
+ "Video verification" : "Video verification",
+ "Enter a note for the share recipient" : "Enter a note for the share recipient",
"Add another link" : "Add another link",
+ "Create a new share link" : "Create a new share link",
+ "{shareWith} by {initiator}" : "{shareWith} by {initiator}",
+ "Shared via link by {initiator}" : "Shared via link by {initiator}",
+ "Mail share ({label})" : "Mail share ({label})",
+ "Share link ({label})" : "Share link ({label})",
"Share link" : "Share link",
+ "Error, please enter proper password and/or expiration date" : "Error, please enter proper password and/or expiration date",
+ "Error while creating the share" : "Error while creating the share",
+ "Share label saved" : "Share label saved",
+ "Share password saved" : "Share password saved",
+ "Search for share recipients" : "Search for share recipients",
"No recommendations. Start typing." : "No recommendations. Start typing.",
"Resharing is not allowed" : "Resharing is not allowed",
+ "Name or email …" : "Name or email …",
+ "Name, email, or Federated Cloud ID …" : "Name, email, or Federated Cloud ID …",
+ "Searching …" : "Searching …",
+ "No elements found." : "No elements found.",
+ "Search globally" : "Search globally",
+ "on {server}" : "on {server}",
+ "Others with access" : "Others with access",
+ "No other users with access found" : "No other users with access found",
+ "Toggle list of others with access to this directory" : "Toggle list of others with access to this directory",
+ "Toggle list of others with access to this file" : "Toggle list of others with access to this file",
+ "Unable to fetch inherited shares" : "Unable to fetch inherited shares",
+ "Unable to load the shares list" : "Unable to load the shares list",
+ "Expires {relativetime}" : "Expires {relativetime}",
+ "this share just expired." : "this share just expired.",
"Shared with you by {owner}" : "Shared with you by {owner}",
+ "Link to a file" : "Link to a file",
+ "Error creating the share: {errorMessage}" : "Error creating the share: {errorMessage}",
+ "Error creating the share" : "Error creating the share",
+ "Error updating the share: {errorMessage}" : "Error updating the share: {errorMessage}",
+ "Error updating the share" : "Error updating the share",
+ "Share note saved" : "Share note saved",
+ "File \"{path}\" has been unshared" : "File \"{path}\" has been unshared",
+ "Folder \"{path}\" has been unshared" : "Folder \"{path}\" has been unshared",
"Shared" : "Shared",
"Share" : "Share",
"Shared with" : "Shared with",
"Shared with you and the group {group} by {owner}" : "Shared with you and the group {group} by {owner}",
+ "Shared with you and {circle} by {owner}" : "Shared with you and {circle} by {owner}",
+ "Shared with you and the conversation {conversation} by {owner}" : "Shared with you and the conversation {conversation} by {owner}",
+ "Shared with you in a conversation by {owner}" : "Shared with you in a conversation by {owner}",
"No entries found in this folder" : "No entries found in this folder",
"Name" : "Name",
"Share time" : "Share time",
@@ -141,10 +259,14 @@ OC.L10N.register(
"Upload files to %s" : "Upload files to %s",
"Note" : "Note",
"Select or drop files" : "Select or drop files",
+ "Uploading files" : "Uploading files",
"Uploaded files:" : "Uploaded files:",
+ "By uploading files, you agree to the %1$sterms of service%2$s." : "By uploading files, you agree to the %1$sterms of service%2$s.",
"Add to your Nextcloud" : "Add to your Nextcloud",
"Wrong share ID, share doesn't exist" : "Wrong share ID, share doesn't exist",
"Wrong path, file/folder doesn't exist" : "Wrong path, file/folder doesn't exist",
- "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work any more."
+ "Cannot change permissions for public share links" : "Cannot change permissions for public share links",
+ "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work any more.",
+ "Toggle grid view" : "Toggle grid view"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_sharing/l10n/en_GB.json b/apps/files_sharing/l10n/en_GB.json
index deff90145c5..b3454ff14e7 100644
--- a/apps/files_sharing/l10n/en_GB.json
+++ b/apps/files_sharing/l10n/en_GB.json
@@ -8,13 +8,33 @@
"Shared by link" : "Shared by link",
"No shared links" : "No shared links",
"Files and folders you share by link will show up here" : "Files and folders you share by link will show up here",
+ "Deleted shares" : "Deleted shares",
+ "No deleted shares" : "No deleted shares",
+ "Shares you deleted will show up here" : "Shares you deleted will show up here",
+ "Pending shares" : "Pending shares",
+ "No pending shares" : "No pending shares",
+ "Shares you have received but not confirmed will show up here" : "Shares you have received but not confirmed will show up here",
"Shares" : "Shares",
+ "No shares" : "No shares",
+ "Shares will show up here" : "Shares will show up here",
"Restore" : "Restore",
+ "Restore share" : "Restore share",
+ "Something happened. Unable to restore the share." : "Something happened. Unable to restore the share.",
+ "Accept share" : "Accept share",
+ "Something happened. Unable to accept the share." : "Something happened. Unable to accept the share.",
+ "Reject share" : "Reject share",
+ "Something happened. Unable to reject the share." : "Something happened. Unable to reject the share.",
+ "Waiting…" : "Waiting…",
"error" : "error",
+ "finished" : "finished",
+ "This will stop your current uploads." : "This will stop your current uploads.",
"Move or copy" : "Move or copy",
"Download" : "Download",
"Delete" : "Delete",
"You can upload into this folder" : "You can upload into this folder",
+ "Terms of service" : "Terms of service",
+ "Show list view" : "Show list view",
+ "Show grid view" : "Show grid view",
"No compatible server found at {remote}" : "No compatible server found at {remote}",
"Invalid server URL" : "Invalid server URL",
"Failed to add the public link to your Nextcloud" : "Failed to add the public link to your Nextcloud",
@@ -29,10 +49,12 @@
"Removed share for group {group}" : "Removed share for group {group}",
"{actor} shared with group {group}" : "{actor} shared with group {group}",
"{actor} removed share for group {group}" : "{actor} removed share for group {group}",
+ "Share for group {group} expired" : "Share for group {group} expired",
"You shared {file} with group {group}" : "You shared {file} with group {group}",
"You removed group {group} from {file}" : "You removed group {group} from {file}",
"{actor} shared {file} with group {group}" : "{actor} shared {file} with group {group}",
"{actor} removed group {group} from {file}" : "{actor} removed group {group} from {file}",
+ "Share for file {file} with group {group} expired" : "Share for file {file} with group {group} expired",
"Shared as public link" : "Shared as public link",
"Removed public link" : "Removed public link",
"Public link expired" : "Public link expired",
@@ -53,78 +75,174 @@
"{user} unshared {file} from you" : "{user} unshared {file} from you",
"Shared with {user}" : "Shared with {user}",
"Removed share for {user}" : "Removed share for {user}",
+ "You removed yourself" : "You removed yourself",
+ "{actor} removed themselves" : "{actor} removed themselves",
"{actor} shared with {user}" : "{actor} shared with {user}",
"{actor} removed share for {user}" : "{actor} removed share for {user}",
"Shared by {actor}" : "Shared by {actor}",
"{actor} removed share" : "{actor} removed share",
+ "Share for {user} expired" : "Share for {user} expired",
+ "Share expired" : "Share expired",
"You shared {file} with {user}" : "You shared {file} with {user}",
"You removed {user} from {file}" : "You removed {user} from {file}",
+ "You removed yourself from {file}" : "You removed yourself from {file}",
+ "{actor} removed themselves from {file}" : "{actor} removed themselves from {file}",
"{actor} shared {file} with {user}" : "{actor} shared {file} with {user}",
"{actor} removed {user} from {file}" : "{actor} removed {user} from {file}",
"{actor} shared {file} with you" : "{actor} shared {file} with you",
+ "{actor} removed you from the share named {file}" : "{actor} removed you from the share named {file}",
+ "Share for file {file} with {user} expired" : "Share for file {file} with {user} expired",
+ "Share for file {file} expired" : "Share for file {file} expired",
"A file or folder shared by mail or by public link was <strong>downloaded</strong>" : "A file or folder shared by mail or by public link was <strong>downloaded</strong>",
"A file or folder was shared from <strong>another server</strong>" : "A file or folder was shared from <strong>another server</strong>",
"Files" : "Files",
"A file or folder has been <strong>shared</strong>" : "A file or folder has been <strong>shared</strong>",
+ "Shared link" : "Shared link",
+ "Wrong share ID, share does not exist" : "Wrong share ID, share does not exist",
"Could not delete share" : "Could not delete share",
"Please specify a file or folder path" : "Please specify a file or folder path",
+ "Wrong path, file/folder does not exist" : "Wrong path, file/folder does not exist",
"Could not create share" : "Could not create share",
+ "Invalid permissions" : "Invalid permissions",
"Please specify a valid user" : "Please specify a valid user",
"Group sharing is disabled by the administrator" : "Group sharing is disabled by the administrator",
"Please specify a valid group" : "Please specify a valid group",
"Public link sharing is disabled by the administrator" : "Public link sharing is disabled by the administrator",
"Public upload disabled by the administrator" : "Public upload disabled by the administrator",
"Public upload is only possible for publicly shared folders" : "Public upload is only possible for publicly shared folders",
+ "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled" : "Sharing %s sending the password by Nextcloud Talk failed because Nextcloud Talk is not enabled",
"Invalid date, date format must be YYYY-MM-DD" : "Invalid date, date format must be YYYY-MM-DD",
+ "Sharing %1$s failed because the back end does not allow shares from type %2$s" : "Sharing %1$s failed because the back end does not allow shares from type %2$s",
+ "Please specify a valid federated user ID" : "Please specify a valid federated user ID",
+ "Please specify a valid federated group ID" : "Please specify a valid federated group ID",
"You cannot share to a Circle if the app is not enabled" : "You cannot share to a Circle if the app is not enabled",
"Please specify a valid circle" : "Please specify a valid circle",
+ "Sharing %s failed because the back end does not support room shares" : "Sharing %s failed because the back end does not support room shares",
"Unknown share type" : "Unknown share type",
"Not a directory" : "Not a directory",
+ "Could not lock node" : "Could not lock node",
"Could not lock path" : "Could not lock path",
"Wrong or no update parameter given" : "Wrong or no update parameter given",
+ "Share must at least have READ or CREATE permissions" : "Share must at least have READ or CREATE permissions",
+ "Share must have READ permission if UPDATE or DELETE permission is set" : "Share must have READ permission if UPDATE or DELETE permission is set",
+ "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled.",
"shared by %s" : "shared by %s",
+ "Download all files" : "Download all files",
"Direct link" : "Direct link",
+ "Add to your %s" : "Add to your %s",
"Share API is disabled" : "Share API is disabled",
"File sharing" : "File sharing",
+ "Share will expire tomorrow" : "Share will expire tomorrow",
+ "One or more of your shares will expire tomorrow" : "One or more of your shares will expire tomorrow",
+ "Your share of {node} will expire tomorrow" : "Your share of {node} will expire tomorrow",
+ "You received {share} as a share by {user}" : "You received {share} as a share by {user}",
+ "You received {share} to group {group} as a share by {user}" : "You received {share} to group {group} as a share by {user}",
"Accept" : "Accept",
"Reject" : "Reject",
"This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users 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 users 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." : "This application enables users to share files within Nextcloud. If enabled, the admin can choose which groups can share files. The applicable users can then share files and folders with other users 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 users 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.",
"Sharing" : "Sharing",
+ "Accept user and group shares by default" : "Accept user and group shares by default",
+ "Error while toggling options" : "Error while toggling options",
+ "Set default folder for accepted shares" : "Set default folder for accepted shares",
"Reset" : "Reset",
+ "Reset folder to system default" : "Reset folder to system default",
+ "Choose a default folder for accepted shares" : "Choose a default folder for accepted shares",
+ "Invalid path selected" : "Invalid path selected",
"Unknown error" : "Unknown error",
"Allow editing" : "Allow editing",
"Read only" : "Read only",
"Allow upload and editing" : "Allow upload and editing",
"File drop (upload only)" : "File drop (upload only)",
+ "Custom permissions" : "Custom permissions",
"Read" : "Read",
"Upload" : "Upload",
"Edit" : "Edit",
+ "Bundled permissions" : "Bundled permissions",
"Allow creating" : "Allow creating",
"Allow deleting" : "Allow deleting",
"Allow resharing" : "Allow resharing",
+ "Expiration date enforced" : "Expiration date enforced",
"Set expiration date" : "Set expiration date",
+ "Enter a date" : "Enter a date",
"Note to recipient" : "Note to recipient",
"Unshare" : "Unshare",
"group" : "group",
+ "conversation" : "conversation",
"remote" : "remote",
+ "remote group" : "remote group",
"guest" : "guest",
- "Link copied" : "Link copied",
+ "Shared with the group {user} by {owner}" : "Shared with the group {user} by {owner}",
+ "Shared with the conversation {user} by {owner}" : "Shared with the conversation {user} by {owner}",
+ "Shared with {user} by {owner}" : "Shared with {user} by {owner}",
+ "Allow download" : "Allow download",
+ "Added by {initiator}" : "Added by {initiator}",
+ "Via “{folder}”" : "Via “{folder}”",
+ "Internal link" : "Internal link",
+ "Copy internal link to clipboard" : "Copy internal link to clipboard",
+ "Cannot copy, please copy the link manually" : "Cannot copy, please copy the link manually",
"Copy to clipboard" : "Copy to clipboard",
"Only works for users with access to this folder" : "Only works for users with access to this folder",
+ "Only works for users with access to this file" : "Only works for users with access to this file",
+ "Link copied" : "Link copied",
+ "Copy public link to clipboard" : "Copy public link to clipboard",
+ "Please enter the following required information before creating the share" : "Please enter the following required information before creating the share",
+ "Password protection (enforced)" : "Password protection (enforced)",
"Password protection" : "Password protection",
"Enter a password" : "Enter a password",
+ "Expiration date (enforced)" : "Expiration date (enforced)",
+ "Create share" : "Create share",
"Cancel" : "Cancel",
+ "Share label" : "Share label",
"Hide download" : "Hide download",
"Password protect" : "Password protect",
+ "Password expires {passwordExpirationTime}" : "Password expires {passwordExpirationTime}",
+ "Password expired" : "Password expired",
+ "Video verification" : "Video verification",
+ "Enter a note for the share recipient" : "Enter a note for the share recipient",
"Add another link" : "Add another link",
+ "Create a new share link" : "Create a new share link",
+ "{shareWith} by {initiator}" : "{shareWith} by {initiator}",
+ "Shared via link by {initiator}" : "Shared via link by {initiator}",
+ "Mail share ({label})" : "Mail share ({label})",
+ "Share link ({label})" : "Share link ({label})",
"Share link" : "Share link",
+ "Error, please enter proper password and/or expiration date" : "Error, please enter proper password and/or expiration date",
+ "Error while creating the share" : "Error while creating the share",
+ "Share label saved" : "Share label saved",
+ "Share password saved" : "Share password saved",
+ "Search for share recipients" : "Search for share recipients",
"No recommendations. Start typing." : "No recommendations. Start typing.",
"Resharing is not allowed" : "Resharing is not allowed",
+ "Name or email …" : "Name or email …",
+ "Name, email, or Federated Cloud ID …" : "Name, email, or Federated Cloud ID …",
+ "Searching …" : "Searching …",
+ "No elements found." : "No elements found.",
+ "Search globally" : "Search globally",
+ "on {server}" : "on {server}",
+ "Others with access" : "Others with access",
+ "No other users with access found" : "No other users with access found",
+ "Toggle list of others with access to this directory" : "Toggle list of others with access to this directory",
+ "Toggle list of others with access to this file" : "Toggle list of others with access to this file",
+ "Unable to fetch inherited shares" : "Unable to fetch inherited shares",
+ "Unable to load the shares list" : "Unable to load the shares list",
+ "Expires {relativetime}" : "Expires {relativetime}",
+ "this share just expired." : "this share just expired.",
"Shared with you by {owner}" : "Shared with you by {owner}",
+ "Link to a file" : "Link to a file",
+ "Error creating the share: {errorMessage}" : "Error creating the share: {errorMessage}",
+ "Error creating the share" : "Error creating the share",
+ "Error updating the share: {errorMessage}" : "Error updating the share: {errorMessage}",
+ "Error updating the share" : "Error updating the share",
+ "Share note saved" : "Share note saved",
+ "File \"{path}\" has been unshared" : "File \"{path}\" has been unshared",
+ "Folder \"{path}\" has been unshared" : "Folder \"{path}\" has been unshared",
"Shared" : "Shared",
"Share" : "Share",
"Shared with" : "Shared with",
"Shared with you and the group {group} by {owner}" : "Shared with you and the group {group} by {owner}",
+ "Shared with you and {circle} by {owner}" : "Shared with you and {circle} by {owner}",
+ "Shared with you and the conversation {conversation} by {owner}" : "Shared with you and the conversation {conversation} by {owner}",
+ "Shared with you in a conversation by {owner}" : "Shared with you in a conversation by {owner}",
"No entries found in this folder" : "No entries found in this folder",
"Name" : "Name",
"Share time" : "Share time",
@@ -139,10 +257,14 @@
"Upload files to %s" : "Upload files to %s",
"Note" : "Note",
"Select or drop files" : "Select or drop files",
+ "Uploading files" : "Uploading files",
"Uploaded files:" : "Uploaded files:",
+ "By uploading files, you agree to the %1$sterms of service%2$s." : "By uploading files, you agree to the %1$sterms of service%2$s.",
"Add to your Nextcloud" : "Add to your Nextcloud",
"Wrong share ID, share doesn't exist" : "Wrong share ID, share doesn't exist",
"Wrong path, file/folder doesn't exist" : "Wrong path, file/folder doesn't exist",
- "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work any more."
+ "Cannot change permissions for public share links" : "Cannot change permissions for public share links",
+ "Sorry, this link doesn’t seem to work anymore." : "Sorry, this link doesn’t seem to work any more.",
+ "Toggle grid view" : "Toggle grid view"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_sharing/l10n/eo.js b/apps/files_sharing/l10n/eo.js
index 35648307d42..f44cc2b34f2 100644
--- a/apps/files_sharing/l10n/eo.js
+++ b/apps/files_sharing/l10n/eo.js
@@ -146,11 +146,11 @@ OC.L10N.register(
"Shared with the conversation {user} by {owner}" : "Kunhavigita kun la konversacio {user} fare de {owner}",
"Shared with {user} by {owner}" : "Kunhavigita kun {user} fare de {owner}",
"Internal link" : "Interna ligilo",
- "Link copied" : "Ligilo kopiita",
"Cannot copy, please copy the link manually" : "Ne eblis kopii la ligilon; kopiu ĝin permane.",
"Copy to clipboard" : "Kopii tondejen",
"Only works for users with access to this folder" : "Nur validas por uzantoj, kiuj povas aliri al tiu dosierujo",
"Only works for users with access to this file" : "Nur validas por uzantoj, kiuj povas aliri al tiu dosiero",
+ "Link copied" : "Ligilo kopiita",
"Please enter the following required information before creating the share" : "Entajpu la jenajn neprajn informojn antaŭ ol krei la kunhavigon",
"Password protection (enforced)" : "Pasvorta protekto (efektiva)",
"Password protection" : "Protektita per pasvorto",
diff --git a/apps/files_sharing/l10n/eo.json b/apps/files_sharing/l10n/eo.json
index 7b67065f471..3a0f6adc776 100644
--- a/apps/files_sharing/l10n/eo.json
+++ b/apps/files_sharing/l10n/eo.json
@@ -144,11 +144,11 @@
"Shared with the conversation {user} by {owner}" : "Kunhavigita kun la konversacio {user} fare de {owner}",
"Shared with {user} by {owner}" : "Kunhavigita kun {user} fare de {owner}",
"Internal link" : "Interna ligilo",
- "Link copied" : "Ligilo kopiita",
"Cannot copy, please copy the link manually" : "Ne eblis kopii la ligilon; kopiu ĝin permane.",
"Copy to clipboard" : "Kopii tondejen",
"Only works for users with access to this folder" : "Nur validas por uzantoj, kiuj povas aliri al tiu dosierujo",
"Only works for users with access to this file" : "Nur validas por uzantoj, kiuj povas aliri al tiu dosiero",
+ "Link copied" : "Ligilo kopiita",
"Please enter the following required information before creating the share" : "Entajpu la jenajn neprajn informojn antaŭ ol krei la kunhavigon",
"Password protection (enforced)" : "Pasvorta protekto (efektiva)",
"Password protection" : "Protektita per pasvorto",
diff --git a/apps/files_sharing/l10n/es.js b/apps/files_sharing/l10n/es.js
index a9628872a8b..560735d623c 100644
--- a/apps/files_sharing/l10n/es.js
+++ b/apps/files_sharing/l10n/es.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Vía \"{folder}\"",
"Internal link" : "Enlace interno",
"Copy internal link to clipboard" : "Copiar enlace interno al portapapeles",
- "Link copied" : "Enlace copiado",
"Cannot copy, please copy the link manually" : "No se ha podido copiar, por favor, copia el enlace manualmente",
"Copy to clipboard" : "Copiar al portapapeles",
"Only works for users with access to this folder" : "Sólo funciona para usuarios con acceso a esta carpeta",
"Only works for users with access to this file" : "Sólo funciona para usuarios con acceso a este archivo",
+ "Link copied" : "Enlace copiado",
"Copy public link to clipboard" : "Copiar enlace público al portapapeles",
"Please enter the following required information before creating the share" : "Por favor, escriba la información necesaria antes de crear el recurso compartido",
"Password protection (enforced)" : "Protección con contraseña (impuesta)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Compartir enlace ({label})",
"Share link" : "Compartir enlace",
"Error, please enter proper password and/or expiration date" : "Error, por favor, introduce la contraseña y/o fecha de caducidad adecuada",
+ "Error while creating the share" : "Error mientras se creaba el recurso compartido",
+ "Share label saved" : "Se ha guardado la etiqueta del recurso compartido",
+ "Share password saved" : "Se ha guardado la contraseña del recurso compartido",
+ "Search for share recipients" : "Buscar destinatarios del compartido",
"No recommendations. Start typing." : "No hay recomendaciones. Comience a escribir.",
"Resharing is not allowed" : "No se permite compartir de nuevo",
"Name or email …" : "Nombre o correo electrónico …",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Error quitando el recurso compartido",
"Error updating the share: {errorMessage}" : "Error al actualizar el recurso compartido: {errorMessage}",
"Error updating the share" : "Error actualizando el recurso compartido",
+ "Share note saved" : "Se ha guardado la nota del recurso compartido",
+ "File \"{path}\" has been unshared" : "El archivo \"{path}\" se dejó de compartir",
+ "Folder \"{path}\" has been unshared" : "La carpeta \"{path}\" se dejó de compartir",
"Shared" : "Compartido",
"Share" : "Compartir",
"Shared with" : "Compartido con",
diff --git a/apps/files_sharing/l10n/es.json b/apps/files_sharing/l10n/es.json
index 509b47340a5..97be55d83e4 100644
--- a/apps/files_sharing/l10n/es.json
+++ b/apps/files_sharing/l10n/es.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Vía \"{folder}\"",
"Internal link" : "Enlace interno",
"Copy internal link to clipboard" : "Copiar enlace interno al portapapeles",
- "Link copied" : "Enlace copiado",
"Cannot copy, please copy the link manually" : "No se ha podido copiar, por favor, copia el enlace manualmente",
"Copy to clipboard" : "Copiar al portapapeles",
"Only works for users with access to this folder" : "Sólo funciona para usuarios con acceso a esta carpeta",
"Only works for users with access to this file" : "Sólo funciona para usuarios con acceso a este archivo",
+ "Link copied" : "Enlace copiado",
"Copy public link to clipboard" : "Copiar enlace público al portapapeles",
"Please enter the following required information before creating the share" : "Por favor, escriba la información necesaria antes de crear el recurso compartido",
"Password protection (enforced)" : "Protección con contraseña (impuesta)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Compartir enlace ({label})",
"Share link" : "Compartir enlace",
"Error, please enter proper password and/or expiration date" : "Error, por favor, introduce la contraseña y/o fecha de caducidad adecuada",
+ "Error while creating the share" : "Error mientras se creaba el recurso compartido",
+ "Share label saved" : "Se ha guardado la etiqueta del recurso compartido",
+ "Share password saved" : "Se ha guardado la contraseña del recurso compartido",
+ "Search for share recipients" : "Buscar destinatarios del compartido",
"No recommendations. Start typing." : "No hay recomendaciones. Comience a escribir.",
"Resharing is not allowed" : "No se permite compartir de nuevo",
"Name or email …" : "Nombre o correo electrónico …",
@@ -229,6 +233,9 @@
"Error creating the share" : "Error quitando el recurso compartido",
"Error updating the share: {errorMessage}" : "Error al actualizar el recurso compartido: {errorMessage}",
"Error updating the share" : "Error actualizando el recurso compartido",
+ "Share note saved" : "Se ha guardado la nota del recurso compartido",
+ "File \"{path}\" has been unshared" : "El archivo \"{path}\" se dejó de compartir",
+ "Folder \"{path}\" has been unshared" : "La carpeta \"{path}\" se dejó de compartir",
"Shared" : "Compartido",
"Share" : "Compartir",
"Shared with" : "Compartido con",
diff --git a/apps/files_sharing/l10n/es_AR.js b/apps/files_sharing/l10n/es_AR.js
index 6d0405f3591..45c403c0d00 100644
--- a/apps/files_sharing/l10n/es_AR.js
+++ b/apps/files_sharing/l10n/es_AR.js
@@ -107,10 +107,10 @@ OC.L10N.register(
"Unshare" : "No compartir",
"group" : "grupo",
"remote" : "remoto",
- "Link copied" : "Link copiado",
"Cannot copy, please copy the link manually" : "No es posible copiar, por favor copia el enlace manualmente",
"Copy to clipboard" : "Copiar al portapapeles",
"Only works for users with access to this folder" : "Solo funciona para usuarios con acceso a esta carpeta",
+ "Link copied" : "Link copiado",
"Password protection" : "Protección con contraseña",
"Enter a password" : "Ingrese una contraseña",
"Cancel" : "Cancelar",
diff --git a/apps/files_sharing/l10n/es_AR.json b/apps/files_sharing/l10n/es_AR.json
index ba22861d26f..e49c2122ccd 100644
--- a/apps/files_sharing/l10n/es_AR.json
+++ b/apps/files_sharing/l10n/es_AR.json
@@ -105,10 +105,10 @@
"Unshare" : "No compartir",
"group" : "grupo",
"remote" : "remoto",
- "Link copied" : "Link copiado",
"Cannot copy, please copy the link manually" : "No es posible copiar, por favor copia el enlace manualmente",
"Copy to clipboard" : "Copiar al portapapeles",
"Only works for users with access to this folder" : "Solo funciona para usuarios con acceso a esta carpeta",
+ "Link copied" : "Link copiado",
"Password protection" : "Protección con contraseña",
"Enter a password" : "Ingrese una contraseña",
"Cancel" : "Cancelar",
diff --git a/apps/files_sharing/l10n/es_CO.js b/apps/files_sharing/l10n/es_CO.js
index d4ef48df4e7..d8dab60e5b4 100644
--- a/apps/files_sharing/l10n/es_CO.js
+++ b/apps/files_sharing/l10n/es_CO.js
@@ -105,8 +105,8 @@ OC.L10N.register(
"Unshare" : "Dejar de compartir",
"group" : "grupo",
"remote" : "remoto",
- "Link copied" : "Enlace copiado",
"Copy to clipboard" : "Copiar al portapapeles",
+ "Link copied" : "Enlace copiado",
"Password protection" : "Protección con contraseña",
"Enter a password" : "Ingresa una contraseña",
"Cancel" : "Cancelar",
diff --git a/apps/files_sharing/l10n/es_CO.json b/apps/files_sharing/l10n/es_CO.json
index a896730f4ad..1b26b726521 100644
--- a/apps/files_sharing/l10n/es_CO.json
+++ b/apps/files_sharing/l10n/es_CO.json
@@ -103,8 +103,8 @@
"Unshare" : "Dejar de compartir",
"group" : "grupo",
"remote" : "remoto",
- "Link copied" : "Enlace copiado",
"Copy to clipboard" : "Copiar al portapapeles",
+ "Link copied" : "Enlace copiado",
"Password protection" : "Protección con contraseña",
"Enter a password" : "Ingresa una contraseña",
"Cancel" : "Cancelar",
diff --git a/apps/files_sharing/l10n/es_MX.js b/apps/files_sharing/l10n/es_MX.js
index d4f01520991..167a42b5c6f 100644
--- a/apps/files_sharing/l10n/es_MX.js
+++ b/apps/files_sharing/l10n/es_MX.js
@@ -109,8 +109,8 @@ OC.L10N.register(
"group" : "grupo",
"remote" : "remoto",
"guest" : "invitado",
- "Link copied" : "Vinculo copiado",
"Copy to clipboard" : "Copiar al portapapeles",
+ "Link copied" : "Vinculo copiado",
"Password protection" : "Protección con contraseña",
"Enter a password" : "Ingresa una contraseña",
"Cancel" : "Cancelar",
@@ -118,6 +118,7 @@ OC.L10N.register(
"Password protect" : "Proteger con contraseña",
"Add another link" : "Añadir otro enlace",
"Share link" : "Compartir liga",
+ "No recommendations. Start typing." : "Sin recomendaciones. Empiece a escribir.",
"Resharing is not allowed" : "No está permitido recompartir",
"Shared with you by {owner}" : "Compartido contigo por {owner}",
"Shared" : "Compartido",
diff --git a/apps/files_sharing/l10n/es_MX.json b/apps/files_sharing/l10n/es_MX.json
index 7b77c1ec3a8..349d3a372dd 100644
--- a/apps/files_sharing/l10n/es_MX.json
+++ b/apps/files_sharing/l10n/es_MX.json
@@ -107,8 +107,8 @@
"group" : "grupo",
"remote" : "remoto",
"guest" : "invitado",
- "Link copied" : "Vinculo copiado",
"Copy to clipboard" : "Copiar al portapapeles",
+ "Link copied" : "Vinculo copiado",
"Password protection" : "Protección con contraseña",
"Enter a password" : "Ingresa una contraseña",
"Cancel" : "Cancelar",
@@ -116,6 +116,7 @@
"Password protect" : "Proteger con contraseña",
"Add another link" : "Añadir otro enlace",
"Share link" : "Compartir liga",
+ "No recommendations. Start typing." : "Sin recomendaciones. Empiece a escribir.",
"Resharing is not allowed" : "No está permitido recompartir",
"Shared with you by {owner}" : "Compartido contigo por {owner}",
"Shared" : "Compartido",
diff --git a/apps/files_sharing/l10n/et_EE.js b/apps/files_sharing/l10n/et_EE.js
index 6fd46f7e5f0..3dcb271fed8 100644
--- a/apps/files_sharing/l10n/et_EE.js
+++ b/apps/files_sharing/l10n/et_EE.js
@@ -137,9 +137,9 @@ OC.L10N.register(
"remote group" : "Kauggrupp",
"guest" : "külaline",
"Internal link" : "Sisemine link",
- "Link copied" : "Link kopeeritud",
"Cannot copy, please copy the link manually" : "Ei saa kopeerida, palun kopeeri link käsitsi",
"Copy to clipboard" : "Kopeeri lõikepuhvrisse",
+ "Link copied" : "Link kopeeritud",
"Password protection (enforced)" : "Paroolikaitse (jõustatud)",
"Password protection" : "Password protection",
"Enter a password" : "Enter a password",
diff --git a/apps/files_sharing/l10n/et_EE.json b/apps/files_sharing/l10n/et_EE.json
index dfe90a4009d..5ee3672344a 100644
--- a/apps/files_sharing/l10n/et_EE.json
+++ b/apps/files_sharing/l10n/et_EE.json
@@ -135,9 +135,9 @@
"remote group" : "Kauggrupp",
"guest" : "külaline",
"Internal link" : "Sisemine link",
- "Link copied" : "Link kopeeritud",
"Cannot copy, please copy the link manually" : "Ei saa kopeerida, palun kopeeri link käsitsi",
"Copy to clipboard" : "Kopeeri lõikepuhvrisse",
+ "Link copied" : "Link kopeeritud",
"Password protection (enforced)" : "Paroolikaitse (jõustatud)",
"Password protection" : "Password protection",
"Enter a password" : "Enter a password",
diff --git a/apps/files_sharing/l10n/eu.js b/apps/files_sharing/l10n/eu.js
index 2206d8b0319..fa4bc49aa45 100644
--- a/apps/files_sharing/l10n/eu.js
+++ b/apps/files_sharing/l10n/eu.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "“{folder}” bidez",
"Internal link" : "Barneko esteka",
"Copy internal link to clipboard" : "Kopiatu barne esteka arbelera",
- "Link copied" : "Esteka kopiatu da",
"Cannot copy, please copy the link manually" : "Ezin izan da kopiatu. Kopiatu esteka eskuz",
"Copy to clipboard" : "Kopiatu arbelera",
"Only works for users with access to this folder" : "Karpeta atzitu dezaketen erabiltzaileentzat bakarrik funtzionatzen du",
"Only works for users with access to this file" : "Fitxategi hau atzitu dezaketen erabiltzaileentzat bakarrik funtzionatzen du",
+ "Link copied" : "Esteka kopiatu da",
"Copy public link to clipboard" : "Kopiatu esteka publikoa arbelera",
"Please enter the following required information before creating the share" : "Sartu ondorengo beharrezko informazioa partekatzea sortu aurretik",
"Password protection (enforced)" : "Pasahitz bidez babestua (betearazita)",
diff --git a/apps/files_sharing/l10n/eu.json b/apps/files_sharing/l10n/eu.json
index af0a406031f..81f255e4255 100644
--- a/apps/files_sharing/l10n/eu.json
+++ b/apps/files_sharing/l10n/eu.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "“{folder}” bidez",
"Internal link" : "Barneko esteka",
"Copy internal link to clipboard" : "Kopiatu barne esteka arbelera",
- "Link copied" : "Esteka kopiatu da",
"Cannot copy, please copy the link manually" : "Ezin izan da kopiatu. Kopiatu esteka eskuz",
"Copy to clipboard" : "Kopiatu arbelera",
"Only works for users with access to this folder" : "Karpeta atzitu dezaketen erabiltzaileentzat bakarrik funtzionatzen du",
"Only works for users with access to this file" : "Fitxategi hau atzitu dezaketen erabiltzaileentzat bakarrik funtzionatzen du",
+ "Link copied" : "Esteka kopiatu da",
"Copy public link to clipboard" : "Kopiatu esteka publikoa arbelera",
"Please enter the following required information before creating the share" : "Sartu ondorengo beharrezko informazioa partekatzea sortu aurretik",
"Password protection (enforced)" : "Pasahitz bidez babestua (betearazita)",
diff --git a/apps/files_sharing/l10n/fa.js b/apps/files_sharing/l10n/fa.js
index 253b68048a0..666762ff547 100644
--- a/apps/files_sharing/l10n/fa.js
+++ b/apps/files_sharing/l10n/fa.js
@@ -164,11 +164,11 @@ OC.L10N.register(
"Shared with {user} by {owner}" : "مشترک با {user} توسط {صاحب}",
"Added by {initiator}" : "اضافه شده توسط {ابتکار}",
"Internal link" : "پیوند داخلی",
- "Link copied" : "پیوند کپی شد",
"Cannot copy, please copy the link manually" : "کپی کردن امکان پذیر نیست ، لطفا پیوند را به صورت دستی کپی کنید",
"Copy to clipboard" : "کپی به کلیپ بورد",
"Only works for users with access to this folder" : "فقط برای کاربران دارای دسترسی به این پوشه کار می کند",
"Only works for users with access to this file" : "فقط برای کاربران با دسترسی به این پرونده کار می کند",
+ "Link copied" : "پیوند کپی شد",
"Please enter the following required information before creating the share" : "لطفا قبل از ایجاد اشتراک ، اطلاعات لازم را وارد کنید",
"Password protection (enforced)" : "محافظت از رمز عبور (اجباری)",
"Password protection" : "Password protection",
diff --git a/apps/files_sharing/l10n/fa.json b/apps/files_sharing/l10n/fa.json
index ad55fc63335..9533f64f865 100644
--- a/apps/files_sharing/l10n/fa.json
+++ b/apps/files_sharing/l10n/fa.json
@@ -162,11 +162,11 @@
"Shared with {user} by {owner}" : "مشترک با {user} توسط {صاحب}",
"Added by {initiator}" : "اضافه شده توسط {ابتکار}",
"Internal link" : "پیوند داخلی",
- "Link copied" : "پیوند کپی شد",
"Cannot copy, please copy the link manually" : "کپی کردن امکان پذیر نیست ، لطفا پیوند را به صورت دستی کپی کنید",
"Copy to clipboard" : "کپی به کلیپ بورد",
"Only works for users with access to this folder" : "فقط برای کاربران دارای دسترسی به این پوشه کار می کند",
"Only works for users with access to this file" : "فقط برای کاربران با دسترسی به این پرونده کار می کند",
+ "Link copied" : "پیوند کپی شد",
"Please enter the following required information before creating the share" : "لطفا قبل از ایجاد اشتراک ، اطلاعات لازم را وارد کنید",
"Password protection (enforced)" : "محافظت از رمز عبور (اجباری)",
"Password protection" : "Password protection",
diff --git a/apps/files_sharing/l10n/fi.js b/apps/files_sharing/l10n/fi.js
index 4aa005c63b9..9475044034a 100644
--- a/apps/files_sharing/l10n/fi.js
+++ b/apps/files_sharing/l10n/fi.js
@@ -172,11 +172,11 @@ OC.L10N.register(
"Via “{folder}”" : "“{folder}” kautta",
"Internal link" : "Sisäinen linkki",
"Copy internal link to clipboard" : "Kopioi sisäinen linkki leikepöydälle",
- "Link copied" : "Linkki kopioitu",
"Cannot copy, please copy the link manually" : "Kopioiminen ei onnistu. Kopioi linkki manuaalisesti",
"Copy to clipboard" : "Kopioi leikepöydälle",
"Only works for users with access to this folder" : "Toimii vain käyttäjille, joilla on oikeus tähän kansioon",
"Only works for users with access to this file" : "Toimii vain käyttäjille, joilla on käyttöoikeus tähän tiedostoon",
+ "Link copied" : "Linkki kopioitu",
"Copy public link to clipboard" : "Kopioi julkinen linkki leikepöydälle",
"Please enter the following required information before creating the share" : "Anna seuraavat vaaditut tiedot, ennen kuin luot jaon",
"Password protection (enforced)" : "Salasanasuojaus (pakotettu)",
@@ -200,7 +200,7 @@ OC.L10N.register(
"Share link" : "Jaa linkki",
"Error, please enter proper password and/or expiration date" : "Virhe, lisää kelvollinen salasana ja/tai päättymispäivä",
"No recommendations. Start typing." : "Ei suosituksia. Aloita kirjoittaminen.",
- "Resharing is not allowed" : "Uudellenjako ei ole salluttu",
+ "Resharing is not allowed" : "Uudelleenjako ei ole sallittu",
"Name or email …" : "Nimi tai sähköposti...",
"Name, email, or Federated Cloud ID …" : "Nimi, sähköposti tai federoitu Cloud ID...",
"Searching …" : "Haetaan…",
diff --git a/apps/files_sharing/l10n/fi.json b/apps/files_sharing/l10n/fi.json
index bdf44a2c9f6..d97e48a4c41 100644
--- a/apps/files_sharing/l10n/fi.json
+++ b/apps/files_sharing/l10n/fi.json
@@ -170,11 +170,11 @@
"Via “{folder}”" : "“{folder}” kautta",
"Internal link" : "Sisäinen linkki",
"Copy internal link to clipboard" : "Kopioi sisäinen linkki leikepöydälle",
- "Link copied" : "Linkki kopioitu",
"Cannot copy, please copy the link manually" : "Kopioiminen ei onnistu. Kopioi linkki manuaalisesti",
"Copy to clipboard" : "Kopioi leikepöydälle",
"Only works for users with access to this folder" : "Toimii vain käyttäjille, joilla on oikeus tähän kansioon",
"Only works for users with access to this file" : "Toimii vain käyttäjille, joilla on käyttöoikeus tähän tiedostoon",
+ "Link copied" : "Linkki kopioitu",
"Copy public link to clipboard" : "Kopioi julkinen linkki leikepöydälle",
"Please enter the following required information before creating the share" : "Anna seuraavat vaaditut tiedot, ennen kuin luot jaon",
"Password protection (enforced)" : "Salasanasuojaus (pakotettu)",
@@ -198,7 +198,7 @@
"Share link" : "Jaa linkki",
"Error, please enter proper password and/or expiration date" : "Virhe, lisää kelvollinen salasana ja/tai päättymispäivä",
"No recommendations. Start typing." : "Ei suosituksia. Aloita kirjoittaminen.",
- "Resharing is not allowed" : "Uudellenjako ei ole salluttu",
+ "Resharing is not allowed" : "Uudelleenjako ei ole sallittu",
"Name or email …" : "Nimi tai sähköposti...",
"Name, email, or Federated Cloud ID …" : "Nimi, sähköposti tai federoitu Cloud ID...",
"Searching …" : "Haetaan…",
diff --git a/apps/files_sharing/l10n/fr.js b/apps/files_sharing/l10n/fr.js
index 6d173f1e934..c561f2b3be7 100644
--- a/apps/files_sharing/l10n/fr.js
+++ b/apps/files_sharing/l10n/fr.js
@@ -33,7 +33,7 @@ OC.L10N.register(
"Move or copy" : "Déplacer ou copier",
"Download" : "Télécharger",
"Delete" : "Supprimer",
- "You can upload into this folder" : "Vous pouvez envoyer des fichiers dans ce dossier",
+ "You can upload into this folder" : "Vous pouvez téléverser des fichiers dans ce dossier",
"Terms of service" : "Conditions d'utilisation",
"Show list view" : "Activer l'affichage liste",
"Show grid view" : "Activer l'affichage mosaïque",
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Lien interne",
"Copy internal link to clipboard" : "Copier le lien interne dans le presse-papiers",
- "Link copied" : "Lien copié",
"Cannot copy, please copy the link manually" : "Impossible de copier, merci de le copier manuellement",
"Copy to clipboard" : "Copier dans le presse-papier",
"Only works for users with access to this folder" : "Fonctionne uniquement pour les utilisateurs ayant accès à ce dossier",
"Only works for users with access to this file" : "Fonctionne uniquement pour les utilisateurs ayant accès à ce fichier",
+ "Link copied" : "Lien copié",
"Copy public link to clipboard" : "Copier le lien public dans le presse-papiers",
"Please enter the following required information before creating the share" : "Veuillez entrer les informations requises suivantes avant de créer le partage.",
"Password protection (enforced)" : "Protection par mot de passe (forcée)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Lien de partage ({label})",
"Share link" : "Lien de partage",
"Error, please enter proper password and/or expiration date" : "Erreur. Merci d'entrer un mot de passe valide et/ou une date d'expiration",
+ "Error while creating the share" : "Erreur lors de la création du partage",
+ "Share label saved" : "Étiquette collaborative enregistrée",
+ "Share password saved" : "Mot de passe partagé enregistré",
+ "Search for share recipients" : "Recherche de destinataires de partages",
"No recommendations. Start typing." : "Aucune recommandation. Commencez à écrire.",
"Resharing is not allowed" : "Le repartage n'est pas autorisé",
"Name or email …" : "Nom ou adresse e-mail...",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Erreur lors de la création du partage",
"Error updating the share: {errorMessage}" : "Erreur à la mise à jour du partage\\: {errorMessage} ",
"Error updating the share" : "Erreur lors de la mise à jour du partage",
+ "Share note saved" : "Note partagée enregistrée",
+ "File \"{path}\" has been unshared" : "Le partage du fichier \"{path}\" a été retiré",
+ "Folder \"{path}\" has been unshared" : "Le partage du dossier \"{path}\" a été retiré",
"Shared" : "Partagé",
"Share" : "Partager",
"Shared with" : "Partagé avec",
@@ -252,7 +259,7 @@ OC.L10N.register(
"Upload files to %s" : "Dépôt de fichiers dans %s",
"Note" : "Note",
"Select or drop files" : "Sélectionnez ou glissez-déposez vos fichiers",
- "Uploading files" : "Envoi des fichiers en cours...",
+ "Uploading files" : "Téléversement des fichiers en cours...",
"Uploaded files:" : "Fichiers envoyés :",
"By uploading files, you agree to the %1$sterms of service%2$s." : "En envoyant des fichiers, vous acceptez les %1$sconditions d'utilisation%2$s.",
"Add to your Nextcloud" : "Ajouter à votre Nextcloud",
diff --git a/apps/files_sharing/l10n/fr.json b/apps/files_sharing/l10n/fr.json
index 91781467de2..be40a894fc5 100644
--- a/apps/files_sharing/l10n/fr.json
+++ b/apps/files_sharing/l10n/fr.json
@@ -31,7 +31,7 @@
"Move or copy" : "Déplacer ou copier",
"Download" : "Télécharger",
"Delete" : "Supprimer",
- "You can upload into this folder" : "Vous pouvez envoyer des fichiers dans ce dossier",
+ "You can upload into this folder" : "Vous pouvez téléverser des fichiers dans ce dossier",
"Terms of service" : "Conditions d'utilisation",
"Show list view" : "Activer l'affichage liste",
"Show grid view" : "Activer l'affichage mosaïque",
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Lien interne",
"Copy internal link to clipboard" : "Copier le lien interne dans le presse-papiers",
- "Link copied" : "Lien copié",
"Cannot copy, please copy the link manually" : "Impossible de copier, merci de le copier manuellement",
"Copy to clipboard" : "Copier dans le presse-papier",
"Only works for users with access to this folder" : "Fonctionne uniquement pour les utilisateurs ayant accès à ce dossier",
"Only works for users with access to this file" : "Fonctionne uniquement pour les utilisateurs ayant accès à ce fichier",
+ "Link copied" : "Lien copié",
"Copy public link to clipboard" : "Copier le lien public dans le presse-papiers",
"Please enter the following required information before creating the share" : "Veuillez entrer les informations requises suivantes avant de créer le partage.",
"Password protection (enforced)" : "Protection par mot de passe (forcée)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Lien de partage ({label})",
"Share link" : "Lien de partage",
"Error, please enter proper password and/or expiration date" : "Erreur. Merci d'entrer un mot de passe valide et/ou une date d'expiration",
+ "Error while creating the share" : "Erreur lors de la création du partage",
+ "Share label saved" : "Étiquette collaborative enregistrée",
+ "Share password saved" : "Mot de passe partagé enregistré",
+ "Search for share recipients" : "Recherche de destinataires de partages",
"No recommendations. Start typing." : "Aucune recommandation. Commencez à écrire.",
"Resharing is not allowed" : "Le repartage n'est pas autorisé",
"Name or email …" : "Nom ou adresse e-mail...",
@@ -229,6 +233,9 @@
"Error creating the share" : "Erreur lors de la création du partage",
"Error updating the share: {errorMessage}" : "Erreur à la mise à jour du partage\\: {errorMessage} ",
"Error updating the share" : "Erreur lors de la mise à jour du partage",
+ "Share note saved" : "Note partagée enregistrée",
+ "File \"{path}\" has been unshared" : "Le partage du fichier \"{path}\" a été retiré",
+ "Folder \"{path}\" has been unshared" : "Le partage du dossier \"{path}\" a été retiré",
"Shared" : "Partagé",
"Share" : "Partager",
"Shared with" : "Partagé avec",
@@ -250,7 +257,7 @@
"Upload files to %s" : "Dépôt de fichiers dans %s",
"Note" : "Note",
"Select or drop files" : "Sélectionnez ou glissez-déposez vos fichiers",
- "Uploading files" : "Envoi des fichiers en cours...",
+ "Uploading files" : "Téléversement des fichiers en cours...",
"Uploaded files:" : "Fichiers envoyés :",
"By uploading files, you agree to the %1$sterms of service%2$s." : "En envoyant des fichiers, vous acceptez les %1$sconditions d'utilisation%2$s.",
"Add to your Nextcloud" : "Ajouter à votre Nextcloud",
diff --git a/apps/files_sharing/l10n/gl.js b/apps/files_sharing/l10n/gl.js
index e2aeb689ae5..bb8aff52fc2 100644
--- a/apps/files_sharing/l10n/gl.js
+++ b/apps/files_sharing/l10n/gl.js
@@ -35,6 +35,8 @@ OC.L10N.register(
"Delete" : "Eliminar",
"You can upload into this folder" : "Pode envialo a este cartafol",
"Terms of service" : "Termos do servizo",
+ "Show list view" : "Mostrar vista de lista",
+ "Show grid view" : "Mostrar a vista de cuadrícula",
"No compatible server found at {remote}" : "Non se atopa un servidor compatíbel en {remote}",
"Invalid server URL" : "URL de servidor incorrecto",
"Failed to add the public link to your Nextcloud" : "Non foi posíbel engadir a ligazón pública ao seu Nextcloud",
@@ -162,11 +164,11 @@ OC.L10N.register(
"Added by {initiator}" : "Engadido por {initiator}",
"Via “{folder}”" : "A través de «{folder}»",
"Internal link" : "Ligazón interna",
- "Link copied" : "Ligazón copiada",
"Cannot copy, please copy the link manually" : "Non foi posíbel copiala. Copie a ligazón manualmente",
"Copy to clipboard" : "Copiar no portapapeis.",
"Only works for users with access to this folder" : "Só funciona para usuarios con acceso a este cartafol",
"Only works for users with access to this file" : "Só funciona para usuarios con acceso a este ficheiro",
+ "Link copied" : "Ligazón copiada",
"Please enter the following required information before creating the share" : "Introduza a seguinte información necesaria antes de crear a compartición",
"Password protection (enforced)" : "Protección con contrasinal (obrigado)",
"Password protection" : "Protección por contrasinal",
diff --git a/apps/files_sharing/l10n/gl.json b/apps/files_sharing/l10n/gl.json
index 67e629137d4..a74325bdbbc 100644
--- a/apps/files_sharing/l10n/gl.json
+++ b/apps/files_sharing/l10n/gl.json
@@ -33,6 +33,8 @@
"Delete" : "Eliminar",
"You can upload into this folder" : "Pode envialo a este cartafol",
"Terms of service" : "Termos do servizo",
+ "Show list view" : "Mostrar vista de lista",
+ "Show grid view" : "Mostrar a vista de cuadrícula",
"No compatible server found at {remote}" : "Non se atopa un servidor compatíbel en {remote}",
"Invalid server URL" : "URL de servidor incorrecto",
"Failed to add the public link to your Nextcloud" : "Non foi posíbel engadir a ligazón pública ao seu Nextcloud",
@@ -160,11 +162,11 @@
"Added by {initiator}" : "Engadido por {initiator}",
"Via “{folder}”" : "A través de «{folder}»",
"Internal link" : "Ligazón interna",
- "Link copied" : "Ligazón copiada",
"Cannot copy, please copy the link manually" : "Non foi posíbel copiala. Copie a ligazón manualmente",
"Copy to clipboard" : "Copiar no portapapeis.",
"Only works for users with access to this folder" : "Só funciona para usuarios con acceso a este cartafol",
"Only works for users with access to this file" : "Só funciona para usuarios con acceso a este ficheiro",
+ "Link copied" : "Ligazón copiada",
"Please enter the following required information before creating the share" : "Introduza a seguinte información necesaria antes de crear a compartición",
"Password protection (enforced)" : "Protección con contrasinal (obrigado)",
"Password protection" : "Protección por contrasinal",
diff --git a/apps/files_sharing/l10n/he.js b/apps/files_sharing/l10n/he.js
index 466d57c06d4..cbbab97300f 100644
--- a/apps/files_sharing/l10n/he.js
+++ b/apps/files_sharing/l10n/he.js
@@ -162,11 +162,11 @@ OC.L10N.register(
"Added by {initiator}" : "נוסף על ידי {initiator}",
"Via “{folder}”" : "דרך „{folder}”",
"Internal link" : "קישור פנימי",
- "Link copied" : "הקישור הועתק",
"Cannot copy, please copy the link manually" : "לא ניתן להעתיק, נא להעתיק את הקישור ידנית",
"Copy to clipboard" : "העתקה ללוח הגזירים",
"Only works for users with access to this folder" : "עובד רק עבור משתמשים עם גישה לתיקייה הזו",
"Only works for users with access to this file" : "עובד רק עבור משתמשים עם גישה לקובץ הזה",
+ "Link copied" : "הקישור הועתק",
"Please enter the following required information before creating the share" : "נא למלא את הפרטים הנחוצים הבאים בטרם יצירת השיתוף",
"Password protection (enforced)" : "הגנה בססמה (נאכף)",
"Password protection" : "Password protection",
diff --git a/apps/files_sharing/l10n/he.json b/apps/files_sharing/l10n/he.json
index 518704ec6d8..e16c5a883ba 100644
--- a/apps/files_sharing/l10n/he.json
+++ b/apps/files_sharing/l10n/he.json
@@ -160,11 +160,11 @@
"Added by {initiator}" : "נוסף על ידי {initiator}",
"Via “{folder}”" : "דרך „{folder}”",
"Internal link" : "קישור פנימי",
- "Link copied" : "הקישור הועתק",
"Cannot copy, please copy the link manually" : "לא ניתן להעתיק, נא להעתיק את הקישור ידנית",
"Copy to clipboard" : "העתקה ללוח הגזירים",
"Only works for users with access to this folder" : "עובד רק עבור משתמשים עם גישה לתיקייה הזו",
"Only works for users with access to this file" : "עובד רק עבור משתמשים עם גישה לקובץ הזה",
+ "Link copied" : "הקישור הועתק",
"Please enter the following required information before creating the share" : "נא למלא את הפרטים הנחוצים הבאים בטרם יצירת השיתוף",
"Password protection (enforced)" : "הגנה בססמה (נאכף)",
"Password protection" : "Password protection",
diff --git a/apps/files_sharing/l10n/hr.js b/apps/files_sharing/l10n/hr.js
index 1aa20eee822..4ce47ac0c94 100644
--- a/apps/files_sharing/l10n/hr.js
+++ b/apps/files_sharing/l10n/hr.js
@@ -167,11 +167,11 @@ OC.L10N.register(
"Added by {initiator}" : "Dodao {initiator}",
"Via “{folder}”" : "Putem „{folder}“",
"Internal link" : "Interna poveznica",
- "Link copied" : "Poveznica je kopirana",
"Cannot copy, please copy the link manually" : "Kopiranje nije moguće, ručno kopirajte poveznicu",
"Copy to clipboard" : "Kopiraj u međuspremnik",
"Only works for users with access to this folder" : "Samo za korisnike koji smiju pristupiti ovoj mapi",
"Only works for users with access to this file" : "Samo za korisnike koji smiju pristupiti ovoj datoteci",
+ "Link copied" : "Poveznica je kopirana",
"Please enter the following required information before creating the share" : "Unesite sljedeće informacije prije stvaranja dijeljenja",
"Password protection (enforced)" : "Zaštita zaporkom (provedeno)",
"Password protection" : "Zaštita zaporkom",
diff --git a/apps/files_sharing/l10n/hr.json b/apps/files_sharing/l10n/hr.json
index 4bfe3a60a83..d15d5f89643 100644
--- a/apps/files_sharing/l10n/hr.json
+++ b/apps/files_sharing/l10n/hr.json
@@ -165,11 +165,11 @@
"Added by {initiator}" : "Dodao {initiator}",
"Via “{folder}”" : "Putem „{folder}“",
"Internal link" : "Interna poveznica",
- "Link copied" : "Poveznica je kopirana",
"Cannot copy, please copy the link manually" : "Kopiranje nije moguće, ručno kopirajte poveznicu",
"Copy to clipboard" : "Kopiraj u međuspremnik",
"Only works for users with access to this folder" : "Samo za korisnike koji smiju pristupiti ovoj mapi",
"Only works for users with access to this file" : "Samo za korisnike koji smiju pristupiti ovoj datoteci",
+ "Link copied" : "Poveznica je kopirana",
"Please enter the following required information before creating the share" : "Unesite sljedeće informacije prije stvaranja dijeljenja",
"Password protection (enforced)" : "Zaštita zaporkom (provedeno)",
"Password protection" : "Zaštita zaporkom",
diff --git a/apps/files_sharing/l10n/hu.js b/apps/files_sharing/l10n/hu.js
index bff8746812f..aa1bfdfedaa 100644
--- a/apps/files_sharing/l10n/hu.js
+++ b/apps/files_sharing/l10n/hu.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "A(z) „{folder}” mappán keretül",
"Internal link" : "Belső hivatkozás",
"Copy internal link to clipboard" : "Belső hivatkozás másolása a vágólapra",
- "Link copied" : "Hivatkozás másolva",
"Cannot copy, please copy the link manually" : "A másolás sikertelen, másolja kézzel a hivatkozást",
"Copy to clipboard" : "Másolás a vágólapra",
"Only works for users with access to this folder" : "Csak azoknál a felhasználóknál működik, akiknek hozzáférésük van ehhez a mappához",
"Only works for users with access to this file" : "Csak azoknál a felhasználóknál működik, akiknek hozzáférésük van ehhez a fájlhoz",
+ "Link copied" : "Hivatkozás másolva",
"Copy public link to clipboard" : "Nyilvános hivatkozás másolása a vágólapra",
"Please enter the following required information before creating the share" : "A megosztás létrehozása előtt adja meg a következő szükséges információkat",
"Password protection (enforced)" : "Jelszavas védelem (megkövetelve)",
@@ -209,6 +209,8 @@ OC.L10N.register(
"Share link ({label})" : "Megosztási hivatkozás ({label})",
"Share link" : "Megosztási hivatkozás",
"Error, please enter proper password and/or expiration date" : "Hiba, írja be a megfelelő jelszót vagy lejárati dátumot",
+ "Error while creating the share" : "Hiba a megosztás létrehozása során",
+ "Search for share recipients" : "Megosztás résztvevőinek keresése",
"No recommendations. Start typing." : "Nincs javaslat. Kezdjen gépelni.",
"Resharing is not allowed" : "A megosztás továbbadása nem engedélyezett",
"Name or email …" : "Név vagy e-mail-cím…",
diff --git a/apps/files_sharing/l10n/hu.json b/apps/files_sharing/l10n/hu.json
index e742ecc8ed6..e4dd8acc8c2 100644
--- a/apps/files_sharing/l10n/hu.json
+++ b/apps/files_sharing/l10n/hu.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "A(z) „{folder}” mappán keretül",
"Internal link" : "Belső hivatkozás",
"Copy internal link to clipboard" : "Belső hivatkozás másolása a vágólapra",
- "Link copied" : "Hivatkozás másolva",
"Cannot copy, please copy the link manually" : "A másolás sikertelen, másolja kézzel a hivatkozást",
"Copy to clipboard" : "Másolás a vágólapra",
"Only works for users with access to this folder" : "Csak azoknál a felhasználóknál működik, akiknek hozzáférésük van ehhez a mappához",
"Only works for users with access to this file" : "Csak azoknál a felhasználóknál működik, akiknek hozzáférésük van ehhez a fájlhoz",
+ "Link copied" : "Hivatkozás másolva",
"Copy public link to clipboard" : "Nyilvános hivatkozás másolása a vágólapra",
"Please enter the following required information before creating the share" : "A megosztás létrehozása előtt adja meg a következő szükséges információkat",
"Password protection (enforced)" : "Jelszavas védelem (megkövetelve)",
@@ -207,6 +207,8 @@
"Share link ({label})" : "Megosztási hivatkozás ({label})",
"Share link" : "Megosztási hivatkozás",
"Error, please enter proper password and/or expiration date" : "Hiba, írja be a megfelelő jelszót vagy lejárati dátumot",
+ "Error while creating the share" : "Hiba a megosztás létrehozása során",
+ "Search for share recipients" : "Megosztás résztvevőinek keresése",
"No recommendations. Start typing." : "Nincs javaslat. Kezdjen gépelni.",
"Resharing is not allowed" : "A megosztás továbbadása nem engedélyezett",
"Name or email …" : "Név vagy e-mail-cím…",
diff --git a/apps/files_sharing/l10n/is.js b/apps/files_sharing/l10n/is.js
index 7c9e440bc92..692bc24cb3c 100644
--- a/apps/files_sharing/l10n/is.js
+++ b/apps/files_sharing/l10n/is.js
@@ -137,9 +137,9 @@ OC.L10N.register(
"remote group" : "fjartengdur hópur",
"guest" : "gestanotandi",
"Internal link" : "Innri tengill",
- "Link copied" : "Tengill afritaður",
"Copy to clipboard" : "Afrita á klippispjald",
"Only works for users with access to this folder" : "Vvirkar bara fyrir notendur sem eiga aðgang að þessari möppu",
+ "Link copied" : "Tengill afritaður",
"Password protection (enforced)" : "Verndun með lykilorði (nauðsynleg)",
"Password protection" : "Verndun með lykilorði",
"Enter a password" : "Settu inn lykilorð",
diff --git a/apps/files_sharing/l10n/is.json b/apps/files_sharing/l10n/is.json
index d8455bde84a..db5f30e5720 100644
--- a/apps/files_sharing/l10n/is.json
+++ b/apps/files_sharing/l10n/is.json
@@ -135,9 +135,9 @@
"remote group" : "fjartengdur hópur",
"guest" : "gestanotandi",
"Internal link" : "Innri tengill",
- "Link copied" : "Tengill afritaður",
"Copy to clipboard" : "Afrita á klippispjald",
"Only works for users with access to this folder" : "Vvirkar bara fyrir notendur sem eiga aðgang að þessari möppu",
+ "Link copied" : "Tengill afritaður",
"Password protection (enforced)" : "Verndun með lykilorði (nauðsynleg)",
"Password protection" : "Verndun með lykilorði",
"Enter a password" : "Settu inn lykilorð",
diff --git a/apps/files_sharing/l10n/it.js b/apps/files_sharing/l10n/it.js
index 3d343549136..79244941612 100644
--- a/apps/files_sharing/l10n/it.js
+++ b/apps/files_sharing/l10n/it.js
@@ -178,11 +178,11 @@ OC.L10N.register(
"Added by {initiator}" : "Aggiunto da {initiator}",
"Via “{folder}”" : "Tramite “{folder}”",
"Internal link" : "Collegamento interno",
- "Link copied" : "Collegamento copiato",
"Cannot copy, please copy the link manually" : "Impossibile copiare, copia il collegamento manualmente",
"Copy to clipboard" : "Copia negli appunti",
"Only works for users with access to this folder" : "Funziona solo per gli utenti con accesso a questa cartella",
"Only works for users with access to this file" : "Funziona solo per gli utenti con accesso a questo file",
+ "Link copied" : "Collegamento copiato",
"Please enter the following required information before creating the share" : "Digita le seguenti informazioni richieste prima di creare la condivisione",
"Password protection (enforced)" : "Protezione con password (applicata)",
"Password protection" : "Protezione con password",
diff --git a/apps/files_sharing/l10n/it.json b/apps/files_sharing/l10n/it.json
index cc460157a64..b9a850158e5 100644
--- a/apps/files_sharing/l10n/it.json
+++ b/apps/files_sharing/l10n/it.json
@@ -176,11 +176,11 @@
"Added by {initiator}" : "Aggiunto da {initiator}",
"Via “{folder}”" : "Tramite “{folder}”",
"Internal link" : "Collegamento interno",
- "Link copied" : "Collegamento copiato",
"Cannot copy, please copy the link manually" : "Impossibile copiare, copia il collegamento manualmente",
"Copy to clipboard" : "Copia negli appunti",
"Only works for users with access to this folder" : "Funziona solo per gli utenti con accesso a questa cartella",
"Only works for users with access to this file" : "Funziona solo per gli utenti con accesso a questo file",
+ "Link copied" : "Collegamento copiato",
"Please enter the following required information before creating the share" : "Digita le seguenti informazioni richieste prima di creare la condivisione",
"Password protection (enforced)" : "Protezione con password (applicata)",
"Password protection" : "Protezione con password",
diff --git a/apps/files_sharing/l10n/ja.js b/apps/files_sharing/l10n/ja.js
index 65f5a6a4412..d3aa84844b8 100644
--- a/apps/files_sharing/l10n/ja.js
+++ b/apps/files_sharing/l10n/ja.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "“{folder}” 経由",
"Internal link" : "内部リンク",
"Copy internal link to clipboard" : "内部リンクをクリップボードにコピー",
- "Link copied" : "リンクをコピーしました",
"Cannot copy, please copy the link manually" : "コピーできませんでした。手動でリンクをコピーしてください。",
"Copy to clipboard" : "クリップボードにコピー",
"Only works for users with access to this folder" : "このフォルダーにアクセスできるユーザーにのみ機能します",
"Only works for users with access to this file" : "このファイルへのアクセス権を持つユーザーに対してのみ機能します",
+ "Link copied" : "リンクをコピーしました",
"Copy public link to clipboard" : "公開リンクをクリップボードにコピー",
"Please enter the following required information before creating the share" : "共有を作成する前に、次の必要な情報を入力してください",
"Password protection (enforced)" : "パスワード保護(強制)",
diff --git a/apps/files_sharing/l10n/ja.json b/apps/files_sharing/l10n/ja.json
index c027bfc86b2..2849c20e603 100644
--- a/apps/files_sharing/l10n/ja.json
+++ b/apps/files_sharing/l10n/ja.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "“{folder}” 経由",
"Internal link" : "内部リンク",
"Copy internal link to clipboard" : "内部リンクをクリップボードにコピー",
- "Link copied" : "リンクをコピーしました",
"Cannot copy, please copy the link manually" : "コピーできませんでした。手動でリンクをコピーしてください。",
"Copy to clipboard" : "クリップボードにコピー",
"Only works for users with access to this folder" : "このフォルダーにアクセスできるユーザーにのみ機能します",
"Only works for users with access to this file" : "このファイルへのアクセス権を持つユーザーに対してのみ機能します",
+ "Link copied" : "リンクをコピーしました",
"Copy public link to clipboard" : "公開リンクをクリップボードにコピー",
"Please enter the following required information before creating the share" : "共有を作成する前に、次の必要な情報を入力してください",
"Password protection (enforced)" : "パスワード保護(強制)",
diff --git a/apps/files_sharing/l10n/ko.js b/apps/files_sharing/l10n/ko.js
index 0feb9c757ea..f3c6a97ef0e 100644
--- a/apps/files_sharing/l10n/ko.js
+++ b/apps/files_sharing/l10n/ko.js
@@ -142,9 +142,9 @@ OC.L10N.register(
"remote group" : "원격 그룹",
"guest" : "손님",
"Internal link" : "내부 링크",
- "Link copied" : "링크 복사됨",
"Copy to clipboard" : "클립보드로 복사",
"Only works for users with access to this folder" : "이 폴더에 액세스하는 사용자에게만 해당됩니다.",
+ "Link copied" : "링크 복사됨",
"Password protection" : "암호 보호",
"Enter a password" : "Enter a password",
"Cancel" : "취소",
diff --git a/apps/files_sharing/l10n/ko.json b/apps/files_sharing/l10n/ko.json
index cb49a13a46c..d899af4fa6b 100644
--- a/apps/files_sharing/l10n/ko.json
+++ b/apps/files_sharing/l10n/ko.json
@@ -140,9 +140,9 @@
"remote group" : "원격 그룹",
"guest" : "손님",
"Internal link" : "내부 링크",
- "Link copied" : "링크 복사됨",
"Copy to clipboard" : "클립보드로 복사",
"Only works for users with access to this folder" : "이 폴더에 액세스하는 사용자에게만 해당됩니다.",
+ "Link copied" : "링크 복사됨",
"Password protection" : "암호 보호",
"Enter a password" : "Enter a password",
"Cancel" : "취소",
diff --git a/apps/files_sharing/l10n/lt_LT.js b/apps/files_sharing/l10n/lt_LT.js
index bae45f05cbc..bff3f86485e 100644
--- a/apps/files_sharing/l10n/lt_LT.js
+++ b/apps/files_sharing/l10n/lt_LT.js
@@ -173,11 +173,11 @@ OC.L10N.register(
"Via “{folder}”" : "Per \"{folder}\"",
"Internal link" : "Vidinė nuoroda",
"Copy internal link to clipboard" : "Kopijuoti vidinę nuorodą į iškarpinę",
- "Link copied" : "Nuoroda nukopijuota",
"Cannot copy, please copy the link manually" : "Nepavyksta nukopijuoti, nukopijuokite nuorodą rankiniu būdu",
"Copy to clipboard" : "Kopijuoti į iškarpinę",
"Only works for users with access to this folder" : "Veikia tik naudotojams, turintiems prieigą prie šio aplanko",
"Only works for users with access to this file" : "Veikia tik naudotojams, turintiems prieigą prie šio failo",
+ "Link copied" : "Nuoroda nukopijuota",
"Copy public link to clipboard" : "Kopijuoti viešąją nuorodą į iškarpinę",
"Please enter the following required information before creating the share" : "Prieš sukurdami viešinį, įveskite šią reikiamą informaciją",
"Password protection (enforced)" : "Apsauga slaptažodžiu (priverstinė)",
diff --git a/apps/files_sharing/l10n/lt_LT.json b/apps/files_sharing/l10n/lt_LT.json
index a7afd7572e9..1f1ed970317 100644
--- a/apps/files_sharing/l10n/lt_LT.json
+++ b/apps/files_sharing/l10n/lt_LT.json
@@ -171,11 +171,11 @@
"Via “{folder}”" : "Per \"{folder}\"",
"Internal link" : "Vidinė nuoroda",
"Copy internal link to clipboard" : "Kopijuoti vidinę nuorodą į iškarpinę",
- "Link copied" : "Nuoroda nukopijuota",
"Cannot copy, please copy the link manually" : "Nepavyksta nukopijuoti, nukopijuokite nuorodą rankiniu būdu",
"Copy to clipboard" : "Kopijuoti į iškarpinę",
"Only works for users with access to this folder" : "Veikia tik naudotojams, turintiems prieigą prie šio aplanko",
"Only works for users with access to this file" : "Veikia tik naudotojams, turintiems prieigą prie šio failo",
+ "Link copied" : "Nuoroda nukopijuota",
"Copy public link to clipboard" : "Kopijuoti viešąją nuorodą į iškarpinę",
"Please enter the following required information before creating the share" : "Prieš sukurdami viešinį, įveskite šią reikiamą informaciją",
"Password protection (enforced)" : "Apsauga slaptažodžiu (priverstinė)",
diff --git a/apps/files_sharing/l10n/lv.js b/apps/files_sharing/l10n/lv.js
index 6fbcaa68081..bc4f4bf2beb 100644
--- a/apps/files_sharing/l10n/lv.js
+++ b/apps/files_sharing/l10n/lv.js
@@ -154,9 +154,9 @@ OC.L10N.register(
"remote" : "attālināti",
"remote group" : "attālinātā grupa",
"guest" : "viesis",
- "Link copied" : "Saite nokopēta",
"Copy to clipboard" : "Kopēt starpliktuvē",
"Only works for users with access to this file" : "Darbojas tikai lietotājiem, kuriem ir piekļuve šai datnei",
+ "Link copied" : "Saite nokopēta",
"Password protection" : "Password protection",
"Enter a password" : "Enter a password",
"Cancel" : "Atcelt",
diff --git a/apps/files_sharing/l10n/lv.json b/apps/files_sharing/l10n/lv.json
index 3efed7cf5eb..71a8ab406d0 100644
--- a/apps/files_sharing/l10n/lv.json
+++ b/apps/files_sharing/l10n/lv.json
@@ -152,9 +152,9 @@
"remote" : "attālināti",
"remote group" : "attālinātā grupa",
"guest" : "viesis",
- "Link copied" : "Saite nokopēta",
"Copy to clipboard" : "Kopēt starpliktuvē",
"Only works for users with access to this file" : "Darbojas tikai lietotājiem, kuriem ir piekļuve šai datnei",
+ "Link copied" : "Saite nokopēta",
"Password protection" : "Password protection",
"Enter a password" : "Enter a password",
"Cancel" : "Atcelt",
diff --git a/apps/files_sharing/l10n/mk.js b/apps/files_sharing/l10n/mk.js
index 6d9731f00c2..2d8da57113e 100644
--- a/apps/files_sharing/l10n/mk.js
+++ b/apps/files_sharing/l10n/mk.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Преку “{folder}”",
"Internal link" : "Внатрешен линк",
"Copy internal link to clipboard" : "Копирај внатрешен линк во клипборд",
- "Link copied" : "Линкот е копиран",
"Cannot copy, please copy the link manually" : "Неможе да се копира, копирајте го линкот рачно",
"Copy to clipboard" : "Копирај во клипборд",
"Only works for users with access to this folder" : "Функционира само за корисници со пристап до оваа папка",
"Only works for users with access to this file" : "Функционира само за корисници со пристап до оваа датотека",
+ "Link copied" : "Линкот е копиран",
"Copy public link to clipboard" : "Копирај јавен линк во клипборд",
"Please enter the following required information before creating the share" : "Внесете ги следниве потребни податоци пред да го креирате споделувањето",
"Password protection (enforced)" : "Заштитено со лозинка (enforced)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Сподели линк ({label})",
"Share link" : "Сподели линк",
"Error, please enter proper password and/or expiration date" : "Грешка, внесете лозинка и/или рок на траење",
+ "Error while creating the share" : "Грешка при креирање на споделување",
+ "Share label saved" : "Ознаката е зачувана",
+ "Share password saved" : "Лозинката е зачувана",
+ "Search for share recipients" : "Пребарај за примачи на споделувањето",
"No recommendations. Start typing." : "Нема препораки. Започнете со пишување.",
"Resharing is not allowed" : "Повторно споделување не е дозволено",
"Name or email …" : "Име или е-пошта ...",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Грешка при креирање на споделување",
"Error updating the share: {errorMessage}" : "Грешка при ажурирање на споделувањето: {errorMessage}",
"Error updating the share" : "Грешка при ажурирање на споделувањето",
+ "Share note saved" : "Забелешката е зачувана",
+ "File \"{path}\" has been unshared" : "Датотеката \"{path}\" повеќе не се споделува",
+ "Folder \"{path}\" has been unshared" : "Папката \"{path}\" повеќе не се споделува",
"Shared" : "Споделен",
"Share" : "Сподели",
"Shared with" : "Споделено со",
diff --git a/apps/files_sharing/l10n/mk.json b/apps/files_sharing/l10n/mk.json
index ebb27b38fd3..81d2b5bf205 100644
--- a/apps/files_sharing/l10n/mk.json
+++ b/apps/files_sharing/l10n/mk.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Преку “{folder}”",
"Internal link" : "Внатрешен линк",
"Copy internal link to clipboard" : "Копирај внатрешен линк во клипборд",
- "Link copied" : "Линкот е копиран",
"Cannot copy, please copy the link manually" : "Неможе да се копира, копирајте го линкот рачно",
"Copy to clipboard" : "Копирај во клипборд",
"Only works for users with access to this folder" : "Функционира само за корисници со пристап до оваа папка",
"Only works for users with access to this file" : "Функционира само за корисници со пристап до оваа датотека",
+ "Link copied" : "Линкот е копиран",
"Copy public link to clipboard" : "Копирај јавен линк во клипборд",
"Please enter the following required information before creating the share" : "Внесете ги следниве потребни податоци пред да го креирате споделувањето",
"Password protection (enforced)" : "Заштитено со лозинка (enforced)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Сподели линк ({label})",
"Share link" : "Сподели линк",
"Error, please enter proper password and/or expiration date" : "Грешка, внесете лозинка и/или рок на траење",
+ "Error while creating the share" : "Грешка при креирање на споделување",
+ "Share label saved" : "Ознаката е зачувана",
+ "Share password saved" : "Лозинката е зачувана",
+ "Search for share recipients" : "Пребарај за примачи на споделувањето",
"No recommendations. Start typing." : "Нема препораки. Започнете со пишување.",
"Resharing is not allowed" : "Повторно споделување не е дозволено",
"Name or email …" : "Име или е-пошта ...",
@@ -229,6 +233,9 @@
"Error creating the share" : "Грешка при креирање на споделување",
"Error updating the share: {errorMessage}" : "Грешка при ажурирање на споделувањето: {errorMessage}",
"Error updating the share" : "Грешка при ажурирање на споделувањето",
+ "Share note saved" : "Забелешката е зачувана",
+ "File \"{path}\" has been unshared" : "Датотеката \"{path}\" повеќе не се споделува",
+ "Folder \"{path}\" has been unshared" : "Папката \"{path}\" повеќе не се споделува",
"Shared" : "Споделен",
"Share" : "Сподели",
"Shared with" : "Споделено со",
diff --git a/apps/files_sharing/l10n/nb.js b/apps/files_sharing/l10n/nb.js
index 52debfb49ad..21e7246d74e 100644
--- a/apps/files_sharing/l10n/nb.js
+++ b/apps/files_sharing/l10n/nb.js
@@ -160,11 +160,11 @@ OC.L10N.register(
"Added by {initiator}" : "Lagt til av {initiator}",
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Intern lenke",
- "Link copied" : "Lenke kopiert",
"Cannot copy, please copy the link manually" : "Kan ikke kopiere, kopier lenken manuelt",
"Copy to clipboard" : "Kopiert til utklippstavlen",
"Only works for users with access to this folder" : "Virker kun for brukere med tilgang til mappen",
"Only works for users with access to this file" : "Virker kun for brukere med tilgang til denne filen",
+ "Link copied" : "Lenke kopiert",
"Password protection" : "Passordbeskyttelse",
"Enter a password" : "Skriv inn et passord",
"Create share" : "Opprett deling",
diff --git a/apps/files_sharing/l10n/nb.json b/apps/files_sharing/l10n/nb.json
index e9c80123409..9f7c35939e0 100644
--- a/apps/files_sharing/l10n/nb.json
+++ b/apps/files_sharing/l10n/nb.json
@@ -158,11 +158,11 @@
"Added by {initiator}" : "Lagt til av {initiator}",
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Intern lenke",
- "Link copied" : "Lenke kopiert",
"Cannot copy, please copy the link manually" : "Kan ikke kopiere, kopier lenken manuelt",
"Copy to clipboard" : "Kopiert til utklippstavlen",
"Only works for users with access to this folder" : "Virker kun for brukere med tilgang til mappen",
"Only works for users with access to this file" : "Virker kun for brukere med tilgang til denne filen",
+ "Link copied" : "Lenke kopiert",
"Password protection" : "Passordbeskyttelse",
"Enter a password" : "Skriv inn et passord",
"Create share" : "Opprett deling",
diff --git a/apps/files_sharing/l10n/nl.js b/apps/files_sharing/l10n/nl.js
index b50caba64eb..3781fa3c0e3 100644
--- a/apps/files_sharing/l10n/nl.js
+++ b/apps/files_sharing/l10n/nl.js
@@ -35,6 +35,8 @@ OC.L10N.register(
"Delete" : "Verwijderen",
"You can upload into this folder" : "Je kunt uploaden naar deze map",
"Terms of service" : "Gebruiksvoorwaarden",
+ "Show list view" : "Toon lijstweergave",
+ "Show grid view" : "Toon roosterweergave",
"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",
@@ -172,11 +174,11 @@ OC.L10N.register(
"Added by {initiator}" : "Toegevoegd door {initiator}",
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Interne link",
- "Link copied" : "Link gekopieerd",
"Cannot copy, please copy the link manually" : "Kan niet kopiëren, kopieer de link handmatig",
"Copy to clipboard" : "Kopiëren naar het klembord",
"Only works for users with access to this folder" : "Dit werkt alleen voor gebruikers met toegang tot deze map",
"Only works for users with access to this file" : "Dit werkt alleen voor gebruikers met toegang tot dit bestand",
+ "Link copied" : "Link gekopieerd",
"Please enter the following required information before creating the share" : "Geef de volgend verplichte gegevens op voor het aanmaken van de deellink",
"Password protection (enforced)" : "Wachtwoordbeveiliging (afgedwongen)",
"Password protection" : "Wachtwoordbeveiliging",
diff --git a/apps/files_sharing/l10n/nl.json b/apps/files_sharing/l10n/nl.json
index 56845460558..70709f40e00 100644
--- a/apps/files_sharing/l10n/nl.json
+++ b/apps/files_sharing/l10n/nl.json
@@ -33,6 +33,8 @@
"Delete" : "Verwijderen",
"You can upload into this folder" : "Je kunt uploaden naar deze map",
"Terms of service" : "Gebruiksvoorwaarden",
+ "Show list view" : "Toon lijstweergave",
+ "Show grid view" : "Toon roosterweergave",
"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",
@@ -170,11 +172,11 @@
"Added by {initiator}" : "Toegevoegd door {initiator}",
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Interne link",
- "Link copied" : "Link gekopieerd",
"Cannot copy, please copy the link manually" : "Kan niet kopiëren, kopieer de link handmatig",
"Copy to clipboard" : "Kopiëren naar het klembord",
"Only works for users with access to this folder" : "Dit werkt alleen voor gebruikers met toegang tot deze map",
"Only works for users with access to this file" : "Dit werkt alleen voor gebruikers met toegang tot dit bestand",
+ "Link copied" : "Link gekopieerd",
"Please enter the following required information before creating the share" : "Geef de volgend verplichte gegevens op voor het aanmaken van de deellink",
"Password protection (enforced)" : "Wachtwoordbeveiliging (afgedwongen)",
"Password protection" : "Wachtwoordbeveiliging",
diff --git a/apps/files_sharing/l10n/pl.js b/apps/files_sharing/l10n/pl.js
index 9b68e17cb82..0cc9f0c5083 100644
--- a/apps/files_sharing/l10n/pl.js
+++ b/apps/files_sharing/l10n/pl.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Przez “{folder}”",
"Internal link" : "Link wewnętrzny",
"Copy internal link to clipboard" : "Kopiuj link wewnętrzny do schowka",
- "Link copied" : "Link skopiowany",
"Cannot copy, please copy the link manually" : "Nie można skopiować, spróbuj skopiować link ręcznie",
"Copy to clipboard" : "Kopiuj do schowka",
"Only works for users with access to this folder" : "Działa tylko dla użytkowników mającym dostęp do tego katalogu",
"Only works for users with access to this file" : "Działa tylko dla użytkowników mającym dostęp do tego pliku",
+ "Link copied" : "Link skopiowany",
"Copy public link to clipboard" : "Kopiuj link publiczny do schowka",
"Please enter the following required information before creating the share" : "Wprowadź następujące wymagane informacje przed udzieleniem dostępu",
"Password protection (enforced)" : "Ochrona hasłem (wymuszona)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Udostępnij link ({label})",
"Share link" : "Udostępnij link",
"Error, please enter proper password and/or expiration date" : "Błąd, wprowadź prawidłowe hasło i/lub datę ważności",
+ "Error while creating the share" : "Błąd podczas tworzenia udostępniania",
+ "Share label saved" : "Etykieta udostępnienia zapisana",
+ "Share password saved" : "Hasło udostępnienia zapisane",
+ "Search for share recipients" : "Szukaj odbiorców udostępnienia",
"No recommendations. Start typing." : "Brak rekomendacji. Możesz napisać.",
"Resharing is not allowed" : "Udostępnianie dalej jest niedozwolone",
"Name or email …" : "Nazwa lub adres e-mail…",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Błąd podczas tworzenia udostępnienia",
"Error updating the share: {errorMessage}" : "Błąd podczas aktualizacji udostępnienia: {errorMessage}",
"Error updating the share" : "Błąd podczas aktualizacji udostępnienia",
+ "Share note saved" : "Notatka udostępnienia zapisana",
+ "File \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla pliku \"{path}\"",
+ "Folder \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla katalogu \"{path}\"",
"Shared" : "Udostępniono",
"Share" : "Udostępnij",
"Shared with" : "Udostępnione",
diff --git a/apps/files_sharing/l10n/pl.json b/apps/files_sharing/l10n/pl.json
index 2dbde62c23d..e32b54c0021 100644
--- a/apps/files_sharing/l10n/pl.json
+++ b/apps/files_sharing/l10n/pl.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Przez “{folder}”",
"Internal link" : "Link wewnętrzny",
"Copy internal link to clipboard" : "Kopiuj link wewnętrzny do schowka",
- "Link copied" : "Link skopiowany",
"Cannot copy, please copy the link manually" : "Nie można skopiować, spróbuj skopiować link ręcznie",
"Copy to clipboard" : "Kopiuj do schowka",
"Only works for users with access to this folder" : "Działa tylko dla użytkowników mającym dostęp do tego katalogu",
"Only works for users with access to this file" : "Działa tylko dla użytkowników mającym dostęp do tego pliku",
+ "Link copied" : "Link skopiowany",
"Copy public link to clipboard" : "Kopiuj link publiczny do schowka",
"Please enter the following required information before creating the share" : "Wprowadź następujące wymagane informacje przed udzieleniem dostępu",
"Password protection (enforced)" : "Ochrona hasłem (wymuszona)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Udostępnij link ({label})",
"Share link" : "Udostępnij link",
"Error, please enter proper password and/or expiration date" : "Błąd, wprowadź prawidłowe hasło i/lub datę ważności",
+ "Error while creating the share" : "Błąd podczas tworzenia udostępniania",
+ "Share label saved" : "Etykieta udostępnienia zapisana",
+ "Share password saved" : "Hasło udostępnienia zapisane",
+ "Search for share recipients" : "Szukaj odbiorców udostępnienia",
"No recommendations. Start typing." : "Brak rekomendacji. Możesz napisać.",
"Resharing is not allowed" : "Udostępnianie dalej jest niedozwolone",
"Name or email …" : "Nazwa lub adres e-mail…",
@@ -229,6 +233,9 @@
"Error creating the share" : "Błąd podczas tworzenia udostępnienia",
"Error updating the share: {errorMessage}" : "Błąd podczas aktualizacji udostępnienia: {errorMessage}",
"Error updating the share" : "Błąd podczas aktualizacji udostępnienia",
+ "Share note saved" : "Notatka udostępnienia zapisana",
+ "File \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla pliku \"{path}\"",
+ "Folder \"{path}\" has been unshared" : "Zatrzymane udostępnienie dla katalogu \"{path}\"",
"Shared" : "Udostępniono",
"Share" : "Udostępnij",
"Shared with" : "Udostępnione",
diff --git a/apps/files_sharing/l10n/pt_BR.js b/apps/files_sharing/l10n/pt_BR.js
index bf5effcfee5..ac77c6fada0 100644
--- a/apps/files_sharing/l10n/pt_BR.js
+++ b/apps/files_sharing/l10n/pt_BR.js
@@ -15,7 +15,7 @@ OC.L10N.register(
"Shares you deleted will show up here" : "Compartilhamentos apagados aparecem aqui",
"Pending shares" : "Compartilhamentos pendentes",
"No pending shares" : "Não há compartilhamentos pendentes",
- "Shares you have received but not confirmed will show up here" : "Compartilhamentos que você recebeu mas não confirmou, serão exibidos aqui",
+ "Shares you have received but not confirmed will show up here" : "Compartilhamentos que você recebeu, mas ainda não confirmou, serão exibidos aqui",
"Shares" : "Compartilhamentos",
"No shares" : "Sem compartilhamentos",
"Shares will show up here" : "Compartilhamentos serão mostrados aqui",
@@ -154,7 +154,7 @@ OC.L10N.register(
"Allow editing" : "Permitir edição",
"Read only" : "Somente leitura",
"Allow upload and editing" : "Permitir envio e edição",
- "File drop (upload only)" : "Soltar arquivo (somente envio)",
+ "File drop (upload only)" : "Depósito de arquivos (somente envios)",
"Custom permissions" : "Permissões personalizadas",
"Read" : "Leitura",
"Upload" : "Enviar",
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Link interno",
"Copy internal link to clipboard" : "Copie o link interno para a área de transferência",
- "Link copied" : "Link copiado",
"Cannot copy, please copy the link manually" : "Não é possível copiar, copie o link manualmente",
"Copy to clipboard" : "Copiar para a área de transferência",
"Only works for users with access to this folder" : "Funciona apenas para usuários com acesso a esta pasta",
"Only works for users with access to this file" : "Funciona apenas para usuários com acesso a este arquivo",
+ "Link copied" : "Link copiado",
"Copy public link to clipboard" : "Copie o link público para a área de transferência",
"Please enter the following required information before creating the share" : "Digite as seguintes informações necessárias antes de criar o compartilhamento",
"Password protection (enforced)" : "Proteção por senha (imposta)",
@@ -219,8 +219,8 @@ OC.L10N.register(
"on {server}" : "em {server}",
"Others with access" : "Outros com acesso",
"No other users with access found" : "Nenhum usuário com acesso encontrado",
- "Toggle list of others with access to this directory" : "Alternar lista de outras pessoas com acesso a este diretório",
- "Toggle list of others with access to this file" : "Alternar lista de outras pessoas com acesso a este arquivo",
+ "Toggle list of others with access to this directory" : "Alternar a lista de outras pessoas com acesso a este diretório",
+ "Toggle list of others with access to this file" : "Alternar a lista de outras pessoas com acesso a este arquivo",
"Unable to fetch inherited shares" : "Não foi possível buscar compartilhamentos herdados",
"Unable to load the shares list" : "Não foi possível carregar a lista de compartilhamentos",
"Expires {relativetime}" : "Expira {relativetime}",
@@ -260,6 +260,6 @@ OC.L10N.register(
"Wrong path, file/folder doesn't exist" : "Caminho errado, o arquivo ou pasta não existe",
"Cannot change permissions for public share links" : "Não foi possível alterar as permissões para links de compartilhamento público",
"Sorry, this link doesn’t seem to work anymore." : "Desculpe, este link parece não funcionar mais.",
- "Toggle grid view" : "Alternar visualização de grade"
+ "Toggle grid view" : "Alternar a visão em grade"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_sharing/l10n/pt_BR.json b/apps/files_sharing/l10n/pt_BR.json
index 4d97d256966..4de9001b76c 100644
--- a/apps/files_sharing/l10n/pt_BR.json
+++ b/apps/files_sharing/l10n/pt_BR.json
@@ -13,7 +13,7 @@
"Shares you deleted will show up here" : "Compartilhamentos apagados aparecem aqui",
"Pending shares" : "Compartilhamentos pendentes",
"No pending shares" : "Não há compartilhamentos pendentes",
- "Shares you have received but not confirmed will show up here" : "Compartilhamentos que você recebeu mas não confirmou, serão exibidos aqui",
+ "Shares you have received but not confirmed will show up here" : "Compartilhamentos que você recebeu, mas ainda não confirmou, serão exibidos aqui",
"Shares" : "Compartilhamentos",
"No shares" : "Sem compartilhamentos",
"Shares will show up here" : "Compartilhamentos serão mostrados aqui",
@@ -152,7 +152,7 @@
"Allow editing" : "Permitir edição",
"Read only" : "Somente leitura",
"Allow upload and editing" : "Permitir envio e edição",
- "File drop (upload only)" : "Soltar arquivo (somente envio)",
+ "File drop (upload only)" : "Depósito de arquivos (somente envios)",
"Custom permissions" : "Permissões personalizadas",
"Read" : "Leitura",
"Upload" : "Enviar",
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Link interno",
"Copy internal link to clipboard" : "Copie o link interno para a área de transferência",
- "Link copied" : "Link copiado",
"Cannot copy, please copy the link manually" : "Não é possível copiar, copie o link manualmente",
"Copy to clipboard" : "Copiar para a área de transferência",
"Only works for users with access to this folder" : "Funciona apenas para usuários com acesso a esta pasta",
"Only works for users with access to this file" : "Funciona apenas para usuários com acesso a este arquivo",
+ "Link copied" : "Link copiado",
"Copy public link to clipboard" : "Copie o link público para a área de transferência",
"Please enter the following required information before creating the share" : "Digite as seguintes informações necessárias antes de criar o compartilhamento",
"Password protection (enforced)" : "Proteção por senha (imposta)",
@@ -217,8 +217,8 @@
"on {server}" : "em {server}",
"Others with access" : "Outros com acesso",
"No other users with access found" : "Nenhum usuário com acesso encontrado",
- "Toggle list of others with access to this directory" : "Alternar lista de outras pessoas com acesso a este diretório",
- "Toggle list of others with access to this file" : "Alternar lista de outras pessoas com acesso a este arquivo",
+ "Toggle list of others with access to this directory" : "Alternar a lista de outras pessoas com acesso a este diretório",
+ "Toggle list of others with access to this file" : "Alternar a lista de outras pessoas com acesso a este arquivo",
"Unable to fetch inherited shares" : "Não foi possível buscar compartilhamentos herdados",
"Unable to load the shares list" : "Não foi possível carregar a lista de compartilhamentos",
"Expires {relativetime}" : "Expira {relativetime}",
@@ -258,6 +258,6 @@
"Wrong path, file/folder doesn't exist" : "Caminho errado, o arquivo ou pasta não existe",
"Cannot change permissions for public share links" : "Não foi possível alterar as permissões para links de compartilhamento público",
"Sorry, this link doesn’t seem to work anymore." : "Desculpe, este link parece não funcionar mais.",
- "Toggle grid view" : "Alternar visualização de grade"
+ "Toggle grid view" : "Alternar a visão em grade"
},"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_sharing/l10n/pt_PT.js b/apps/files_sharing/l10n/pt_PT.js
index 0e5087d688a..b989a3fb05d 100644
--- a/apps/files_sharing/l10n/pt_PT.js
+++ b/apps/files_sharing/l10n/pt_PT.js
@@ -115,10 +115,10 @@ OC.L10N.register(
"remote" : "remoto",
"remote group" : "grupo remoto",
"guest" : "convidado",
- "Link copied" : "Link copiado",
"Cannot copy, please copy the link manually" : "Não foi possível copiar, copie a ligação manualmente",
"Copy to clipboard" : "Copiar para área de transferência",
"Only works for users with access to this folder" : "Apenas funciona para utilizadores com acesso a esta pasta",
+ "Link copied" : "Link copiado",
"Password protection" : "Protegido por palavra-passe",
"Enter a password" : "Insira uma palavra-passe",
"Cancel" : "Cancelar",
diff --git a/apps/files_sharing/l10n/pt_PT.json b/apps/files_sharing/l10n/pt_PT.json
index c8029706cfc..0a095a69e5c 100644
--- a/apps/files_sharing/l10n/pt_PT.json
+++ b/apps/files_sharing/l10n/pt_PT.json
@@ -113,10 +113,10 @@
"remote" : "remoto",
"remote group" : "grupo remoto",
"guest" : "convidado",
- "Link copied" : "Link copiado",
"Cannot copy, please copy the link manually" : "Não foi possível copiar, copie a ligação manualmente",
"Copy to clipboard" : "Copiar para área de transferência",
"Only works for users with access to this folder" : "Apenas funciona para utilizadores com acesso a esta pasta",
+ "Link copied" : "Link copiado",
"Password protection" : "Protegido por palavra-passe",
"Enter a password" : "Insira uma palavra-passe",
"Cancel" : "Cancelar",
diff --git a/apps/files_sharing/l10n/ru.js b/apps/files_sharing/l10n/ru.js
index ff1e3b1edfc..09297a562d1 100644
--- a/apps/files_sharing/l10n/ru.js
+++ b/apps/files_sharing/l10n/ru.js
@@ -176,14 +176,16 @@ OC.L10N.register(
"Shared with the group {user} by {owner}" : "{owner} предоставил(а) доступ группе {group}",
"Shared with the conversation {user} by {owner}" : "Пользователь {owner} предоставил(а) {user} доступ во время беседы",
"Shared with {user} by {owner}" : "{owner} предоставил(а) доступ {user} ",
+ "Allow download" : "Разрешить скачивать",
"Added by {initiator}" : "Добавлено пользователем {initiator}",
"Via “{folder}”" : "Через «{folder}»",
"Internal link" : "Внутренняя ссылка",
- "Link copied" : "Ссылка скопирована",
+ "Copy internal link to clipboard" : "Скопировать внутреннюю ссылку в буфер обмена",
"Cannot copy, please copy the link manually" : "Не удалось скопировать, выполните копирование вручную",
"Copy to clipboard" : "Копировать в буфер обмена",
"Only works for users with access to this folder" : "Только для пользователей с доступом к этой папке",
"Only works for users with access to this file" : "Только для пользователей с доступом к этому файлу",
+ "Link copied" : "Ссылка скопирована",
"Copy public link to clipboard" : "Скопировать общедоступную ссылку в буфер обмена",
"Please enter the following required information before creating the share" : "Для создания общего ресурса требуется указать следующие данные",
"Password protection (enforced)" : "Защита паролем (требуется системной)",
@@ -207,6 +209,8 @@ OC.L10N.register(
"Share link ({label})" : "Ссылка общего доступа ({label})",
"Share link" : "Общий доступ по ссылке",
"Error, please enter proper password and/or expiration date" : "Введите действительный пароль и/или дату истечения",
+ "Error while creating the share" : "Не удалось создать общий ресурс",
+ "Search for share recipients" : "Найти больше получателей общего ресурса",
"No recommendations. Start typing." : "Рекомендации отсутствуют, начните вводить символы",
"Resharing is not allowed" : "Повторное открытие доступа запрещено",
"Name or email …" : "Имя или адрес эл.почты…",
diff --git a/apps/files_sharing/l10n/ru.json b/apps/files_sharing/l10n/ru.json
index 53a5675423d..e5f677dcaec 100644
--- a/apps/files_sharing/l10n/ru.json
+++ b/apps/files_sharing/l10n/ru.json
@@ -174,14 +174,16 @@
"Shared with the group {user} by {owner}" : "{owner} предоставил(а) доступ группе {group}",
"Shared with the conversation {user} by {owner}" : "Пользователь {owner} предоставил(а) {user} доступ во время беседы",
"Shared with {user} by {owner}" : "{owner} предоставил(а) доступ {user} ",
+ "Allow download" : "Разрешить скачивать",
"Added by {initiator}" : "Добавлено пользователем {initiator}",
"Via “{folder}”" : "Через «{folder}»",
"Internal link" : "Внутренняя ссылка",
- "Link copied" : "Ссылка скопирована",
+ "Copy internal link to clipboard" : "Скопировать внутреннюю ссылку в буфер обмена",
"Cannot copy, please copy the link manually" : "Не удалось скопировать, выполните копирование вручную",
"Copy to clipboard" : "Копировать в буфер обмена",
"Only works for users with access to this folder" : "Только для пользователей с доступом к этой папке",
"Only works for users with access to this file" : "Только для пользователей с доступом к этому файлу",
+ "Link copied" : "Ссылка скопирована",
"Copy public link to clipboard" : "Скопировать общедоступную ссылку в буфер обмена",
"Please enter the following required information before creating the share" : "Для создания общего ресурса требуется указать следующие данные",
"Password protection (enforced)" : "Защита паролем (требуется системной)",
@@ -205,6 +207,8 @@
"Share link ({label})" : "Ссылка общего доступа ({label})",
"Share link" : "Общий доступ по ссылке",
"Error, please enter proper password and/or expiration date" : "Введите действительный пароль и/или дату истечения",
+ "Error while creating the share" : "Не удалось создать общий ресурс",
+ "Search for share recipients" : "Найти больше получателей общего ресурса",
"No recommendations. Start typing." : "Рекомендации отсутствуют, начните вводить символы",
"Resharing is not allowed" : "Повторное открытие доступа запрещено",
"Name or email …" : "Имя или адрес эл.почты…",
diff --git a/apps/files_sharing/l10n/sc.js b/apps/files_sharing/l10n/sc.js
index 4234840ac17..afeb4fbe210 100644
--- a/apps/files_sharing/l10n/sc.js
+++ b/apps/files_sharing/l10n/sc.js
@@ -167,11 +167,11 @@ OC.L10N.register(
"Added by {initiator}" : "Agiuntu dae {initiator}",
"Via “{folder}”" : "Tràmite “{folder}”",
"Internal link" : "Ligòngiu internu",
- "Link copied" : "Ligòngiu copiadu",
"Cannot copy, please copy the link manually" : "No at fatu a copiare, copia su ligòngiu a manu",
"Copy to clipboard" : "Còpia in punta de billete",
"Only works for users with access to this folder" : "Funtzionat isceti pro utentes cun atzessu a custa cartella",
"Only works for users with access to this file" : "Funtzionat isceti pro utentes cun atzessu a custu archìviu",
+ "Link copied" : "Ligòngiu copiadu",
"Please enter the following required information before creating the share" : "Inserta is informatziones rechertas in fatu in antis de creare sa cumpartzidura",
"Password protection (enforced)" : "Bardiadura cun crae (posta)",
"Password protection" : "Bardiadura cun crae",
diff --git a/apps/files_sharing/l10n/sc.json b/apps/files_sharing/l10n/sc.json
index cc6098d242e..4512435de9f 100644
--- a/apps/files_sharing/l10n/sc.json
+++ b/apps/files_sharing/l10n/sc.json
@@ -165,11 +165,11 @@
"Added by {initiator}" : "Agiuntu dae {initiator}",
"Via “{folder}”" : "Tràmite “{folder}”",
"Internal link" : "Ligòngiu internu",
- "Link copied" : "Ligòngiu copiadu",
"Cannot copy, please copy the link manually" : "No at fatu a copiare, copia su ligòngiu a manu",
"Copy to clipboard" : "Còpia in punta de billete",
"Only works for users with access to this folder" : "Funtzionat isceti pro utentes cun atzessu a custa cartella",
"Only works for users with access to this file" : "Funtzionat isceti pro utentes cun atzessu a custu archìviu",
+ "Link copied" : "Ligòngiu copiadu",
"Please enter the following required information before creating the share" : "Inserta is informatziones rechertas in fatu in antis de creare sa cumpartzidura",
"Password protection (enforced)" : "Bardiadura cun crae (posta)",
"Password protection" : "Bardiadura cun crae",
diff --git a/apps/files_sharing/l10n/sk.js b/apps/files_sharing/l10n/sk.js
index 01ac9d3c444..5a8f5ba1be3 100644
--- a/apps/files_sharing/l10n/sk.js
+++ b/apps/files_sharing/l10n/sk.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Prostredníctvom „{folder}“",
"Internal link" : "Interný odkaz",
"Copy internal link to clipboard" : "Skopírovať interný odkaz do schránky",
- "Link copied" : "Odkaz skopírovaný",
"Cannot copy, please copy the link manually" : "Nedarí sa skopírovať, skopírujte prosím ručne.",
"Copy to clipboard" : "Skopírovať do schránky",
"Only works for users with access to this folder" : "Funguje len pre používateľov s prístupom k tomuto priečinku",
"Only works for users with access to this file" : "Funguje iba pre pužívateľov, ktorí majú prístup k tomuto súboru",
+ "Link copied" : "Odkaz skopírovaný",
"Copy public link to clipboard" : "Skopírovať verejný odkaz do schránky",
"Please enter the following required information before creating the share" : "Pred vytvorením zdieľania zadajte následujúce potrebné informácie",
"Password protection (enforced)" : "Ochrana heslom (vynúttená)",
@@ -209,6 +209,8 @@ OC.L10N.register(
"Share link ({label})" : "Odkaz na zdieľanie ({label})",
"Share link" : "Sprístupniť odkaz",
"Error, please enter proper password and/or expiration date" : "Chyba, zadajte správne heslo a/alebo dátum ukončenia platnosti",
+ "Error while creating the share" : "Chyba pri vytváraní zdieľania",
+ "Search for share recipients" : "Vyhľadanie ďalších účastníkov zdieľania",
"No recommendations. Start typing." : "Žiadne odporúčania. Píšte.",
"Resharing is not allowed" : "Opätovné sprístupňovanie nie je povolené",
"Name or email …" : "Meno alebo e-mail …",
diff --git a/apps/files_sharing/l10n/sk.json b/apps/files_sharing/l10n/sk.json
index 5cca14d91cf..48e8a2bce99 100644
--- a/apps/files_sharing/l10n/sk.json
+++ b/apps/files_sharing/l10n/sk.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Prostredníctvom „{folder}“",
"Internal link" : "Interný odkaz",
"Copy internal link to clipboard" : "Skopírovať interný odkaz do schránky",
- "Link copied" : "Odkaz skopírovaný",
"Cannot copy, please copy the link manually" : "Nedarí sa skopírovať, skopírujte prosím ručne.",
"Copy to clipboard" : "Skopírovať do schránky",
"Only works for users with access to this folder" : "Funguje len pre používateľov s prístupom k tomuto priečinku",
"Only works for users with access to this file" : "Funguje iba pre pužívateľov, ktorí majú prístup k tomuto súboru",
+ "Link copied" : "Odkaz skopírovaný",
"Copy public link to clipboard" : "Skopírovať verejný odkaz do schránky",
"Please enter the following required information before creating the share" : "Pred vytvorením zdieľania zadajte následujúce potrebné informácie",
"Password protection (enforced)" : "Ochrana heslom (vynúttená)",
@@ -207,6 +207,8 @@
"Share link ({label})" : "Odkaz na zdieľanie ({label})",
"Share link" : "Sprístupniť odkaz",
"Error, please enter proper password and/or expiration date" : "Chyba, zadajte správne heslo a/alebo dátum ukončenia platnosti",
+ "Error while creating the share" : "Chyba pri vytváraní zdieľania",
+ "Search for share recipients" : "Vyhľadanie ďalších účastníkov zdieľania",
"No recommendations. Start typing." : "Žiadne odporúčania. Píšte.",
"Resharing is not allowed" : "Opätovné sprístupňovanie nie je povolené",
"Name or email …" : "Meno alebo e-mail …",
diff --git a/apps/files_sharing/l10n/sl.js b/apps/files_sharing/l10n/sl.js
index 227c42778ff..bcd77f86faa 100644
--- a/apps/files_sharing/l10n/sl.js
+++ b/apps/files_sharing/l10n/sl.js
@@ -170,11 +170,11 @@ OC.L10N.register(
"Added by {initiator}" : "Dodano: {initiator}",
"Via “{folder}”" : "Prek mape »{folder}«",
"Internal link" : "Notranja povezava",
- "Link copied" : "Povezava je kopirana",
"Cannot copy, please copy the link manually" : "Povezave ni mogoče kopirati. Storite to ročno.",
"Copy to clipboard" : "Kopiraj v odložišče",
"Only works for users with access to this folder" : "Možnost deluje le za uporabnike, ki imajo dostop do te mape",
"Only works for users with access to this file" : "Deluje le za uporabnike z dostopom do te datoteke",
+ "Link copied" : "Povezava je kopirana",
"Please enter the following required information before creating the share" : "Vpisati je treba nekatere podrobnosti, preden je mogoče ustvariti mesto souporabe",
"Password protection (enforced)" : "Zaščita z geslom (vsiljena)",
"Password protection" : "Zaščita z geslom",
diff --git a/apps/files_sharing/l10n/sl.json b/apps/files_sharing/l10n/sl.json
index f319c7a6746..e0c17eb9399 100644
--- a/apps/files_sharing/l10n/sl.json
+++ b/apps/files_sharing/l10n/sl.json
@@ -168,11 +168,11 @@
"Added by {initiator}" : "Dodano: {initiator}",
"Via “{folder}”" : "Prek mape »{folder}«",
"Internal link" : "Notranja povezava",
- "Link copied" : "Povezava je kopirana",
"Cannot copy, please copy the link manually" : "Povezave ni mogoče kopirati. Storite to ročno.",
"Copy to clipboard" : "Kopiraj v odložišče",
"Only works for users with access to this folder" : "Možnost deluje le za uporabnike, ki imajo dostop do te mape",
"Only works for users with access to this file" : "Deluje le za uporabnike z dostopom do te datoteke",
+ "Link copied" : "Povezava je kopirana",
"Please enter the following required information before creating the share" : "Vpisati je treba nekatere podrobnosti, preden je mogoče ustvariti mesto souporabe",
"Password protection (enforced)" : "Zaščita z geslom (vsiljena)",
"Password protection" : "Zaščita z geslom",
diff --git a/apps/files_sharing/l10n/sq.js b/apps/files_sharing/l10n/sq.js
index 8029b32d6b2..c1a8d7688e3 100644
--- a/apps/files_sharing/l10n/sq.js
+++ b/apps/files_sharing/l10n/sq.js
@@ -108,9 +108,9 @@ OC.L10N.register(
"conversation" : "bisedë",
"remote" : "i largët",
"guest" : "vizitor",
- "Link copied" : "Linku u kopjua",
"Copy to clipboard" : "Kopjo në dërrasë ",
"Only works for users with access to this folder" : "Punon vetëm për përdoruesit që kanë qasje në këtë dosje",
+ "Link copied" : "Linku u kopjua",
"Password protection" : "Password protection",
"Enter a password" : "Fusni një fjalëkalim",
"Cancel" : "Anullo",
diff --git a/apps/files_sharing/l10n/sq.json b/apps/files_sharing/l10n/sq.json
index aea19675972..f013ab858ae 100644
--- a/apps/files_sharing/l10n/sq.json
+++ b/apps/files_sharing/l10n/sq.json
@@ -106,9 +106,9 @@
"conversation" : "bisedë",
"remote" : "i largët",
"guest" : "vizitor",
- "Link copied" : "Linku u kopjua",
"Copy to clipboard" : "Kopjo në dërrasë ",
"Only works for users with access to this folder" : "Punon vetëm për përdoruesit që kanë qasje në këtë dosje",
+ "Link copied" : "Linku u kopjua",
"Password protection" : "Password protection",
"Enter a password" : "Fusni një fjalëkalim",
"Cancel" : "Anullo",
diff --git a/apps/files_sharing/l10n/sr.js b/apps/files_sharing/l10n/sr.js
index 8694ecdf959..02e4720060a 100644
--- a/apps/files_sharing/l10n/sr.js
+++ b/apps/files_sharing/l10n/sr.js
@@ -179,11 +179,11 @@ OC.L10N.register(
"Added by {initiator}" : "Додао {initiator}",
"Via “{folder}”" : "Преко „{folder}“",
"Internal link" : "Интерна веза",
- "Link copied" : "Веза ископирана",
"Cannot copy, please copy the link manually" : "Не могу да копирам, копирајте везу ручно",
"Copy to clipboard" : "Копирај у оставу",
"Only works for users with access to this folder" : "Радиће само за кориснике са приступом овој фасцикли",
"Only works for users with access to this file" : "Радиће само за кориснике са приступом овом фајлу",
+ "Link copied" : "Веза ископирана",
"Please enter the following required information before creating the share" : "Молимо унесите ове неопходне информације пре креирања дељења",
"Password protection (enforced)" : "Захтевана заштита лозинком",
"Password protection" : "Заштита лозинком",
diff --git a/apps/files_sharing/l10n/sr.json b/apps/files_sharing/l10n/sr.json
index 77cefae54de..e6c88d7ce9d 100644
--- a/apps/files_sharing/l10n/sr.json
+++ b/apps/files_sharing/l10n/sr.json
@@ -177,11 +177,11 @@
"Added by {initiator}" : "Додао {initiator}",
"Via “{folder}”" : "Преко „{folder}“",
"Internal link" : "Интерна веза",
- "Link copied" : "Веза ископирана",
"Cannot copy, please copy the link manually" : "Не могу да копирам, копирајте везу ручно",
"Copy to clipboard" : "Копирај у оставу",
"Only works for users with access to this folder" : "Радиће само за кориснике са приступом овој фасцикли",
"Only works for users with access to this file" : "Радиће само за кориснике са приступом овом фајлу",
+ "Link copied" : "Веза ископирана",
"Please enter the following required information before creating the share" : "Молимо унесите ове неопходне информације пре креирања дељења",
"Password protection (enforced)" : "Захтевана заштита лозинком",
"Password protection" : "Заштита лозинком",
diff --git a/apps/files_sharing/l10n/sv.js b/apps/files_sharing/l10n/sv.js
index c2ed4cc6efc..bd63608a90b 100644
--- a/apps/files_sharing/l10n/sv.js
+++ b/apps/files_sharing/l10n/sv.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Intern länk",
"Copy internal link to clipboard" : "Kopiera intern länk till urklipp",
- "Link copied" : "Länk kopierad",
"Cannot copy, please copy the link manually" : "Kan inte kopiera, länken måste kopieras manuellt",
"Copy to clipboard" : "Kopiera till urklipp",
"Only works for users with access to this folder" : "Fungerar bara för användare med åtkomst till den här mappen",
"Only works for users with access to this file" : "Fungerar bara för användare med åtkomst till den här mappen",
+ "Link copied" : "Länk kopierad",
"Copy public link to clipboard" : "Kopiera publik länk till urklipp",
"Please enter the following required information before creating the share" : "Ange följande obligatorisk information innan du skapar delningen",
"Password protection (enforced)" : "Lösenordsskydd (obligatorisk)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "Dela länk ({label})",
"Share link" : "Dela länk",
"Error, please enter proper password and/or expiration date" : "Fel, ange korrekt lösenord och/eller utgångsdatum",
+ "Error while creating the share" : "Det gick inte att skapa delningen",
+ "Share label saved" : "Delningsetikett sparad",
+ "Share password saved" : "Lösenord för delning sparad",
+ "Search for share recipients" : "Sök efter delningsmottagare",
"No recommendations. Start typing." : "Inga rekommendationer. Börja skriva.",
"Resharing is not allowed" : "Dela vidare är inte tillåtet",
"Name or email …" : "Namn eller e-post ...",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Kunde inte skapa delning",
"Error updating the share: {errorMessage}" : "Kunde inte uppdatera delningen: {errorMessage}",
"Error updating the share" : "Kunde inte uppdatera delning",
+ "Share note saved" : "Notering för delning sparad",
+ "File \"{path}\" has been unshared" : "Fil \"{path}\" har slutat att delas",
+ "Folder \"{path}\" has been unshared" : "Mapp \"{path}\" har slutat att delas",
"Shared" : "Delad",
"Share" : "Dela",
"Shared with" : "Delad med",
diff --git a/apps/files_sharing/l10n/sv.json b/apps/files_sharing/l10n/sv.json
index 47eb67204d3..928457a9fbf 100644
--- a/apps/files_sharing/l10n/sv.json
+++ b/apps/files_sharing/l10n/sv.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Via “{folder}”",
"Internal link" : "Intern länk",
"Copy internal link to clipboard" : "Kopiera intern länk till urklipp",
- "Link copied" : "Länk kopierad",
"Cannot copy, please copy the link manually" : "Kan inte kopiera, länken måste kopieras manuellt",
"Copy to clipboard" : "Kopiera till urklipp",
"Only works for users with access to this folder" : "Fungerar bara för användare med åtkomst till den här mappen",
"Only works for users with access to this file" : "Fungerar bara för användare med åtkomst till den här mappen",
+ "Link copied" : "Länk kopierad",
"Copy public link to clipboard" : "Kopiera publik länk till urklipp",
"Please enter the following required information before creating the share" : "Ange följande obligatorisk information innan du skapar delningen",
"Password protection (enforced)" : "Lösenordsskydd (obligatorisk)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "Dela länk ({label})",
"Share link" : "Dela länk",
"Error, please enter proper password and/or expiration date" : "Fel, ange korrekt lösenord och/eller utgångsdatum",
+ "Error while creating the share" : "Det gick inte att skapa delningen",
+ "Share label saved" : "Delningsetikett sparad",
+ "Share password saved" : "Lösenord för delning sparad",
+ "Search for share recipients" : "Sök efter delningsmottagare",
"No recommendations. Start typing." : "Inga rekommendationer. Börja skriva.",
"Resharing is not allowed" : "Dela vidare är inte tillåtet",
"Name or email …" : "Namn eller e-post ...",
@@ -229,6 +233,9 @@
"Error creating the share" : "Kunde inte skapa delning",
"Error updating the share: {errorMessage}" : "Kunde inte uppdatera delningen: {errorMessage}",
"Error updating the share" : "Kunde inte uppdatera delning",
+ "Share note saved" : "Notering för delning sparad",
+ "File \"{path}\" has been unshared" : "Fil \"{path}\" har slutat att delas",
+ "Folder \"{path}\" has been unshared" : "Mapp \"{path}\" har slutat att delas",
"Shared" : "Delad",
"Share" : "Dela",
"Shared with" : "Delad med",
diff --git a/apps/files_sharing/l10n/tr.js b/apps/files_sharing/l10n/tr.js
index 5f90cc07b22..7d96467c700 100644
--- a/apps/files_sharing/l10n/tr.js
+++ b/apps/files_sharing/l10n/tr.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "“{folder}” ile",
"Internal link" : "İç bağlantı",
"Copy internal link to clipboard" : "İç bağlantıyı panoya kopyala",
- "Link copied" : "Bağlantı kopyalandı",
"Cannot copy, please copy the link manually" : "Kopyalanamadı. Lütfen bağlantıyı el ile kopyalayın",
"Copy to clipboard" : "Panoya kopyala",
"Only works for users with access to this folder" : "Yalnızca bu klasöre erişebilen kullanıcılar için geçerlidir",
"Only works for users with access to this file" : "Yalnızca bu dosyaya erişebilen kullanıcılar için geçerlidir",
+ "Link copied" : "Bağlantı kopyalandı",
"Copy public link to clipboard" : "Herkese açık bağlantıyı panoya kopyala",
"Please enter the following required information before creating the share" : "Lütfen paylaşımı oluşturmadan önce aşağıdaki zorunlu bilgileri yazın",
"Password protection (enforced)" : "Parola koruması (dayatılmış)",
@@ -194,7 +194,7 @@ OC.L10N.register(
"Expiration date (enforced)" : "Son kullanma tarihi (dayatılmış)",
"Create share" : "Paylaşım ekle",
"Cancel" : "İptal",
- "Share label" : "Etiketi paylaş",
+ "Share label" : "Paylaşım etiketi",
"Hide download" : "İndirme gizlensin",
"Password protect" : "Parola koruması",
"Password expires {passwordExpirationTime}" : "Parolanın geçerlilik süresi sonu {passwordExpirationTime}",
@@ -205,10 +205,14 @@ OC.L10N.register(
"Create a new share link" : "Yeni bir paylaşım bağlantısı ekle",
"{shareWith} by {initiator}" : "{initiator} tarafından {shareWith}",
"Shared via link by {initiator}" : "{initiator} tarafından bağlantı ile paylaşıldı",
- "Mail share ({label})" : "E-posta paylaşımı ({label})",
- "Share link ({label})" : "Bağlantıyı paylaş ({label})",
+ "Mail share ({label})" : "E-posta ile paylaş ({label})",
+ "Share link ({label})" : "Bağlantı ile paylaş ({label})",
"Share link" : "Paylaşım bağlantısı",
"Error, please enter proper password and/or expiration date" : "Hata. Lütfen uygun bir parola ya da son kullanma tarihi yazın",
+ "Error while creating the share" : "Paylaşım oluşturulurken sorun çıktı",
+ "Share label saved" : "Paylaşım etiketi kaydedildi",
+ "Share password saved" : "Paylaşım parolası kaydedildi",
+ "Search for share recipients" : "Paylaşım alıcıları arayın",
"No recommendations. Start typing." : "Herhangi bir öneri yok. Yazmaya başlayın.",
"Resharing is not allowed" : "Yeniden paylaşıma izin verilmiyor",
"Name or email …" : "Ad ya da e-posta adresi …",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "Paylaşım oluşturulurken sorun çıktı",
"Error updating the share: {errorMessage}" : "Paylaşım güncellenirken sorun çıktı: {errorMessage}",
"Error updating the share" : "Paylaşım güncellenirken sorun çıktı",
+ "Share note saved" : "Paylaşım notu kaydedildi",
+ "File \"{path}\" has been unshared" : "\"{path}\" dosyası paylaşımdan kaldırıldı",
+ "Folder \"{path}\" has been unshared" : "\"{path}\" klasörü paylaşımdan kaldırıldı",
"Shared" : "Paylaşılan",
"Share" : "Paylaş",
"Shared with" : "Şunlarla paylaşılmış",
diff --git a/apps/files_sharing/l10n/tr.json b/apps/files_sharing/l10n/tr.json
index 5cefff0f843..6f15b269046 100644
--- a/apps/files_sharing/l10n/tr.json
+++ b/apps/files_sharing/l10n/tr.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "“{folder}” ile",
"Internal link" : "İç bağlantı",
"Copy internal link to clipboard" : "İç bağlantıyı panoya kopyala",
- "Link copied" : "Bağlantı kopyalandı",
"Cannot copy, please copy the link manually" : "Kopyalanamadı. Lütfen bağlantıyı el ile kopyalayın",
"Copy to clipboard" : "Panoya kopyala",
"Only works for users with access to this folder" : "Yalnızca bu klasöre erişebilen kullanıcılar için geçerlidir",
"Only works for users with access to this file" : "Yalnızca bu dosyaya erişebilen kullanıcılar için geçerlidir",
+ "Link copied" : "Bağlantı kopyalandı",
"Copy public link to clipboard" : "Herkese açık bağlantıyı panoya kopyala",
"Please enter the following required information before creating the share" : "Lütfen paylaşımı oluşturmadan önce aşağıdaki zorunlu bilgileri yazın",
"Password protection (enforced)" : "Parola koruması (dayatılmış)",
@@ -192,7 +192,7 @@
"Expiration date (enforced)" : "Son kullanma tarihi (dayatılmış)",
"Create share" : "Paylaşım ekle",
"Cancel" : "İptal",
- "Share label" : "Etiketi paylaş",
+ "Share label" : "Paylaşım etiketi",
"Hide download" : "İndirme gizlensin",
"Password protect" : "Parola koruması",
"Password expires {passwordExpirationTime}" : "Parolanın geçerlilik süresi sonu {passwordExpirationTime}",
@@ -203,10 +203,14 @@
"Create a new share link" : "Yeni bir paylaşım bağlantısı ekle",
"{shareWith} by {initiator}" : "{initiator} tarafından {shareWith}",
"Shared via link by {initiator}" : "{initiator} tarafından bağlantı ile paylaşıldı",
- "Mail share ({label})" : "E-posta paylaşımı ({label})",
- "Share link ({label})" : "Bağlantıyı paylaş ({label})",
+ "Mail share ({label})" : "E-posta ile paylaş ({label})",
+ "Share link ({label})" : "Bağlantı ile paylaş ({label})",
"Share link" : "Paylaşım bağlantısı",
"Error, please enter proper password and/or expiration date" : "Hata. Lütfen uygun bir parola ya da son kullanma tarihi yazın",
+ "Error while creating the share" : "Paylaşım oluşturulurken sorun çıktı",
+ "Share label saved" : "Paylaşım etiketi kaydedildi",
+ "Share password saved" : "Paylaşım parolası kaydedildi",
+ "Search for share recipients" : "Paylaşım alıcıları arayın",
"No recommendations. Start typing." : "Herhangi bir öneri yok. Yazmaya başlayın.",
"Resharing is not allowed" : "Yeniden paylaşıma izin verilmiyor",
"Name or email …" : "Ad ya da e-posta adresi …",
@@ -229,6 +233,9 @@
"Error creating the share" : "Paylaşım oluşturulurken sorun çıktı",
"Error updating the share: {errorMessage}" : "Paylaşım güncellenirken sorun çıktı: {errorMessage}",
"Error updating the share" : "Paylaşım güncellenirken sorun çıktı",
+ "Share note saved" : "Paylaşım notu kaydedildi",
+ "File \"{path}\" has been unshared" : "\"{path}\" dosyası paylaşımdan kaldırıldı",
+ "Folder \"{path}\" has been unshared" : "\"{path}\" klasörü paylaşımdan kaldırıldı",
"Shared" : "Paylaşılan",
"Share" : "Paylaş",
"Shared with" : "Şunlarla paylaşılmış",
diff --git a/apps/files_sharing/l10n/uk.js b/apps/files_sharing/l10n/uk.js
index 8ba77636fe9..af720685307 100644
--- a/apps/files_sharing/l10n/uk.js
+++ b/apps/files_sharing/l10n/uk.js
@@ -31,7 +31,7 @@ OC.L10N.register(
"finished" : "завершено",
"This will stop your current uploads." : "Ця дія призведе до зупинки поточних завантажень на сервер.",
"Move or copy" : "Перемістити або копіювати",
- "Download" : "Завантажити",
+ "Download" : "Звантажити",
"Delete" : "Вилучити",
"You can upload into this folder" : "Ви можете завантажити до цього каталогу",
"Terms of service" : "Умови використання",
@@ -129,7 +129,7 @@ OC.L10N.register(
"Share must have READ permission if UPDATE or DELETE permission is set" : "Для спільного доступу потрібно щонайменше призначити дозволи READ (читання) або CREATE (створення)",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Не вдалося надіслати пароль для спільного доступу до файлу чи каталогу з використанням Nextcloud Talk, оскільки цей застосунок вимкнено.",
"shared by %s" : "поділилися %s",
- "Download all files" : "Завантажити всі файли",
+ "Download all files" : "Звантажити всі файли",
"Direct link" : "Пряме посилання",
"Add to your %s" : "Додайте до свого %s",
"Share API is disabled" : "API для надання доступу вимкнено",
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "Через “{folder}”",
"Internal link" : "Внутрішнє посилання",
"Copy internal link to clipboard" : "Копіювати внутрішнє посилання до буферу обміну",
- "Link copied" : "Посилання скопійовано",
"Cannot copy, please copy the link manually" : "Неможливо скопіювати, скопіюйте посилання вручну",
"Copy to clipboard" : "Скопіювати до буферу обміну ",
"Only works for users with access to this folder" : "Стосується користувачів, які мають доступ до цього каталогу",
"Only works for users with access to this file" : "Стосується користувачів, які мають доступ до цього файлу",
+ "Link copied" : "Посилання скопійовано",
"Copy public link to clipboard" : "Копіювати загальнодоступне посилання до буферу обміну",
"Please enter the following required information before creating the share" : "Будь ласка, введіть таку інформацію перед наданням спільного доступу",
"Password protection (enforced)" : "Захист паролем (обов'язково)",
diff --git a/apps/files_sharing/l10n/uk.json b/apps/files_sharing/l10n/uk.json
index 3a6c31aac6e..0b7d94f308e 100644
--- a/apps/files_sharing/l10n/uk.json
+++ b/apps/files_sharing/l10n/uk.json
@@ -29,7 +29,7 @@
"finished" : "завершено",
"This will stop your current uploads." : "Ця дія призведе до зупинки поточних завантажень на сервер.",
"Move or copy" : "Перемістити або копіювати",
- "Download" : "Завантажити",
+ "Download" : "Звантажити",
"Delete" : "Вилучити",
"You can upload into this folder" : "Ви можете завантажити до цього каталогу",
"Terms of service" : "Умови використання",
@@ -127,7 +127,7 @@
"Share must have READ permission if UPDATE or DELETE permission is set" : "Для спільного доступу потрібно щонайменше призначити дозволи READ (читання) або CREATE (створення)",
"\"Sending the password by Nextcloud Talk\" for sharing a file or folder failed because Nextcloud Talk is not enabled." : "Не вдалося надіслати пароль для спільного доступу до файлу чи каталогу з використанням Nextcloud Talk, оскільки цей застосунок вимкнено.",
"shared by %s" : "поділилися %s",
- "Download all files" : "Завантажити всі файли",
+ "Download all files" : "Звантажити всі файли",
"Direct link" : "Пряме посилання",
"Add to your %s" : "Додайте до свого %s",
"Share API is disabled" : "API для надання доступу вимкнено",
@@ -179,11 +179,11 @@
"Via “{folder}”" : "Через “{folder}”",
"Internal link" : "Внутрішнє посилання",
"Copy internal link to clipboard" : "Копіювати внутрішнє посилання до буферу обміну",
- "Link copied" : "Посилання скопійовано",
"Cannot copy, please copy the link manually" : "Неможливо скопіювати, скопіюйте посилання вручну",
"Copy to clipboard" : "Скопіювати до буферу обміну ",
"Only works for users with access to this folder" : "Стосується користувачів, які мають доступ до цього каталогу",
"Only works for users with access to this file" : "Стосується користувачів, які мають доступ до цього файлу",
+ "Link copied" : "Посилання скопійовано",
"Copy public link to clipboard" : "Копіювати загальнодоступне посилання до буферу обміну",
"Please enter the following required information before creating the share" : "Будь ласка, введіть таку інформацію перед наданням спільного доступу",
"Password protection (enforced)" : "Захист паролем (обов'язково)",
diff --git a/apps/files_sharing/l10n/zh_CN.js b/apps/files_sharing/l10n/zh_CN.js
index eb71986a378..11ca4520134 100644
--- a/apps/files_sharing/l10n/zh_CN.js
+++ b/apps/files_sharing/l10n/zh_CN.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "通过 “{folder}”",
"Internal link" : "内部链接",
"Copy internal link to clipboard" : "复制内部链接到剪贴板",
- "Link copied" : "已复制链接",
"Cannot copy, please copy the link manually" : "无法复制,请手动复制链接",
"Copy to clipboard" : "复制到剪贴板",
"Only works for users with access to this folder" : "仅适用于有权限访问此文件夹的用户",
"Only works for users with access to this file" : "仅适用于有权限访问此文件的用户",
+ "Link copied" : "已复制链接",
"Copy public link to clipboard" : "复制公开链接到剪贴板",
"Please enter the following required information before creating the share" : "请在创建共享前输入以下必填信息",
"Password protection (enforced)" : "密码保护(强制)",
diff --git a/apps/files_sharing/l10n/zh_CN.json b/apps/files_sharing/l10n/zh_CN.json
index c9848de3a75..8bea8e318ba 100644
--- a/apps/files_sharing/l10n/zh_CN.json
+++ b/apps/files_sharing/l10n/zh_CN.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "通过 “{folder}”",
"Internal link" : "内部链接",
"Copy internal link to clipboard" : "复制内部链接到剪贴板",
- "Link copied" : "已复制链接",
"Cannot copy, please copy the link manually" : "无法复制,请手动复制链接",
"Copy to clipboard" : "复制到剪贴板",
"Only works for users with access to this folder" : "仅适用于有权限访问此文件夹的用户",
"Only works for users with access to this file" : "仅适用于有权限访问此文件的用户",
+ "Link copied" : "已复制链接",
"Copy public link to clipboard" : "复制公开链接到剪贴板",
"Please enter the following required information before creating the share" : "请在创建共享前输入以下必填信息",
"Password protection (enforced)" : "密码保护(强制)",
diff --git a/apps/files_sharing/l10n/zh_HK.js b/apps/files_sharing/l10n/zh_HK.js
index e242ef97501..3a1a9fe983a 100644
--- a/apps/files_sharing/l10n/zh_HK.js
+++ b/apps/files_sharing/l10n/zh_HK.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "透過 “{folder}”",
"Internal link" : "內部連結",
"Copy internal link to clipboard" : "將內部連結複製到剪貼板",
- "Link copied" : "連結已複製",
"Cannot copy, please copy the link manually" : "無法複製,請手動複製連結",
"Copy to clipboard" : "複製到剪貼板",
"Only works for users with access to this folder" : "只對可以存取此資料夾的用戶生效",
"Only works for users with access to this file" : "僅適用於有權存取此檔案的用戶",
+ "Link copied" : "連結已複製",
"Copy public link to clipboard" : "將公共連結複製到剪貼簿",
"Please enter the following required information before creating the share" : "創建分享之前,請輸入以下必填信息",
"Password protection (enforced)" : "密碼保護(強制)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "分享連結({label})",
"Share link" : "分享連結",
"Error, please enter proper password and/or expiration date" : "錯誤,請輸入正確的密碼和/或有效期",
+ "Error while creating the share" : "創建分享出錯",
+ "Share label saved" : "已保存分享標籤",
+ "Share password saved" : "已保存分享密碼",
+ "Search for share recipients" : "搜尋分享參與者",
"No recommendations. Start typing." : "沒有建議。開始輸入。",
"Resharing is not allowed" : "不允許重新分享",
"Name or email …" : "名字或電郵地址",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "創建分享出錯",
"Error updating the share: {errorMessage}" : "更新分享出錯:{errorMessage}",
"Error updating the share" : "更新分享出錯",
+ "Share note saved" : "已保存分享筆記",
+ "File \"{path}\" has been unshared" : "檔案 “{path}” 已取消共享",
+ "Folder \"{path}\" has been unshared" : "資料夾 “{path}” 已取消共享",
"Shared" : "已分享",
"Share" : "分享",
"Shared with" : "分享給",
diff --git a/apps/files_sharing/l10n/zh_HK.json b/apps/files_sharing/l10n/zh_HK.json
index 3257b4295a0..ac6bd603ee8 100644
--- a/apps/files_sharing/l10n/zh_HK.json
+++ b/apps/files_sharing/l10n/zh_HK.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "透過 “{folder}”",
"Internal link" : "內部連結",
"Copy internal link to clipboard" : "將內部連結複製到剪貼板",
- "Link copied" : "連結已複製",
"Cannot copy, please copy the link manually" : "無法複製,請手動複製連結",
"Copy to clipboard" : "複製到剪貼板",
"Only works for users with access to this folder" : "只對可以存取此資料夾的用戶生效",
"Only works for users with access to this file" : "僅適用於有權存取此檔案的用戶",
+ "Link copied" : "連結已複製",
"Copy public link to clipboard" : "將公共連結複製到剪貼簿",
"Please enter the following required information before creating the share" : "創建分享之前,請輸入以下必填信息",
"Password protection (enforced)" : "密碼保護(強制)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "分享連結({label})",
"Share link" : "分享連結",
"Error, please enter proper password and/or expiration date" : "錯誤,請輸入正確的密碼和/或有效期",
+ "Error while creating the share" : "創建分享出錯",
+ "Share label saved" : "已保存分享標籤",
+ "Share password saved" : "已保存分享密碼",
+ "Search for share recipients" : "搜尋分享參與者",
"No recommendations. Start typing." : "沒有建議。開始輸入。",
"Resharing is not allowed" : "不允許重新分享",
"Name or email …" : "名字或電郵地址",
@@ -229,6 +233,9 @@
"Error creating the share" : "創建分享出錯",
"Error updating the share: {errorMessage}" : "更新分享出錯:{errorMessage}",
"Error updating the share" : "更新分享出錯",
+ "Share note saved" : "已保存分享筆記",
+ "File \"{path}\" has been unshared" : "檔案 “{path}” 已取消共享",
+ "Folder \"{path}\" has been unshared" : "資料夾 “{path}” 已取消共享",
"Shared" : "已分享",
"Share" : "分享",
"Shared with" : "分享給",
diff --git a/apps/files_sharing/l10n/zh_TW.js b/apps/files_sharing/l10n/zh_TW.js
index 684bb569a80..45940677195 100644
--- a/apps/files_sharing/l10n/zh_TW.js
+++ b/apps/files_sharing/l10n/zh_TW.js
@@ -181,11 +181,11 @@ OC.L10N.register(
"Via “{folder}”" : "透過「{folder}」",
"Internal link" : "內部連結",
"Copy internal link to clipboard" : "複製內部連結至剪貼簿",
- "Link copied" : "連結已複製",
"Cannot copy, please copy the link manually" : "無法複製,請手動複製連結",
"Copy to clipboard" : "複製到剪貼簿",
"Only works for users with access to this folder" : "僅對可存取此資料夾的使用者有效",
"Only works for users with access to this file" : "僅對可存取此檔案的使用者有效",
+ "Link copied" : "連結已複製",
"Copy public link to clipboard" : "複製公開連結至剪貼簿",
"Please enter the following required information before creating the share" : "在建立分享前,請輸入以下的必要資訊",
"Password protection (enforced)" : "密碼保護(強制)",
@@ -209,6 +209,10 @@ OC.L10N.register(
"Share link ({label})" : "分享連結 ({label})",
"Share link" : "分享連結",
"Error, please enter proper password and/or expiration date" : "錯誤,請輸入正確的密碼及/或到期日",
+ "Error while creating the share" : "建立分享時發生錯誤",
+ "Share label saved" : "分享標籤已儲存",
+ "Share password saved" : "分享密碼已儲存",
+ "Search for share recipients" : "搜尋分享參與者",
"No recommendations. Start typing." : "沒有建議。開始輸入。",
"Resharing is not allowed" : "不允許重新分享",
"Name or email …" : "名稱或電子郵件……",
@@ -231,6 +235,9 @@ OC.L10N.register(
"Error creating the share" : "建立分享時發生錯誤",
"Error updating the share: {errorMessage}" : "更新分享時發生錯誤:{errorMessage}",
"Error updating the share" : "更新分享時發生錯誤:",
+ "Share note saved" : "分享筆記已儲存",
+ "File \"{path}\" has been unshared" : "檔案「{path}」已取消分享",
+ "Folder \"{path}\" has been unshared" : "資料夾「{path}」已取消分享",
"Shared" : "已分享",
"Share" : "分享",
"Shared with" : "分享給",
diff --git a/apps/files_sharing/l10n/zh_TW.json b/apps/files_sharing/l10n/zh_TW.json
index 604b3df435f..5bfe447e240 100644
--- a/apps/files_sharing/l10n/zh_TW.json
+++ b/apps/files_sharing/l10n/zh_TW.json
@@ -179,11 +179,11 @@
"Via “{folder}”" : "透過「{folder}」",
"Internal link" : "內部連結",
"Copy internal link to clipboard" : "複製內部連結至剪貼簿",
- "Link copied" : "連結已複製",
"Cannot copy, please copy the link manually" : "無法複製,請手動複製連結",
"Copy to clipboard" : "複製到剪貼簿",
"Only works for users with access to this folder" : "僅對可存取此資料夾的使用者有效",
"Only works for users with access to this file" : "僅對可存取此檔案的使用者有效",
+ "Link copied" : "連結已複製",
"Copy public link to clipboard" : "複製公開連結至剪貼簿",
"Please enter the following required information before creating the share" : "在建立分享前,請輸入以下的必要資訊",
"Password protection (enforced)" : "密碼保護(強制)",
@@ -207,6 +207,10 @@
"Share link ({label})" : "分享連結 ({label})",
"Share link" : "分享連結",
"Error, please enter proper password and/or expiration date" : "錯誤,請輸入正確的密碼及/或到期日",
+ "Error while creating the share" : "建立分享時發生錯誤",
+ "Share label saved" : "分享標籤已儲存",
+ "Share password saved" : "分享密碼已儲存",
+ "Search for share recipients" : "搜尋分享參與者",
"No recommendations. Start typing." : "沒有建議。開始輸入。",
"Resharing is not allowed" : "不允許重新分享",
"Name or email …" : "名稱或電子郵件……",
@@ -229,6 +233,9 @@
"Error creating the share" : "建立分享時發生錯誤",
"Error updating the share: {errorMessage}" : "更新分享時發生錯誤:{errorMessage}",
"Error updating the share" : "更新分享時發生錯誤:",
+ "Share note saved" : "分享筆記已儲存",
+ "File \"{path}\" has been unshared" : "檔案「{path}」已取消分享",
+ "Folder \"{path}\" has been unshared" : "資料夾「{path}」已取消分享",
"Shared" : "已分享",
"Share" : "分享",
"Shared with" : "分享給",
diff --git a/apps/files_sharing/lib/Activity/Providers/Base.php b/apps/files_sharing/lib/Activity/Providers/Base.php
index ca5b9b55b62..4a2c6ac919e 100644
--- a/apps/files_sharing/lib/Activity/Providers/Base.php
+++ b/apps/files_sharing/lib/Activity/Providers/Base.php
@@ -31,12 +31,10 @@ use OCP\Contacts\IManager as IContactsManager;
use OCP\Federation\ICloudIdManager;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory;
abstract class Base implements IProvider {
-
/** @var IFactory */
protected $languageFactory;
@@ -124,24 +122,10 @@ abstract class Base implements IProvider {
abstract protected function parseLongVersion(IEvent $event, IEvent $previousEvent = null);
/**
- * @param IEvent $event
- * @param string $subject
- * @param array $parameters
* @throws \InvalidArgumentException
*/
- protected function setSubjects(IEvent $event, $subject, array $parameters) {
- $placeholders = $replacements = [];
- foreach ($parameters as $placeholder => $parameter) {
- $placeholders[] = '{' . $placeholder . '}';
- if ($parameter['type'] === 'file') {
- $replacements[] = $parameter['path'];
- } else {
- $replacements[] = $parameter['name'];
- }
- }
-
- $event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
- ->setRichSubject($subject, $parameters);
+ protected function setSubjects(IEvent $event, string $subject, array $parameters): void {
+ $event->setRichSubject($subject, $parameters);
}
/**
diff --git a/apps/files_sharing/lib/AppInfo/Application.php b/apps/files_sharing/lib/AppInfo/Application.php
index 63fdced9011..960d376c6d3 100644
--- a/apps/files_sharing/lib/AppInfo/Application.php
+++ b/apps/files_sharing/lib/AppInfo/Application.php
@@ -29,6 +29,7 @@
*/
namespace OCA\Files_Sharing\AppInfo;
+use OC\Group\DisplayNameCache as GroupDisplayNameCache;
use OC\Share\Share;
use OC\User\DisplayNameCache;
use OCA\Files_Sharing\Capabilities;
@@ -66,6 +67,7 @@ use OCP\Files\Config\IMountProviderCollection;
use OCP\Files\Events\BeforeDirectFileDownloadEvent;
use OCP\Files\Events\BeforeZipCreatedEvent;
use OCP\Files\IRootFolder;
+use OCP\Group\Events\GroupChangedEvent;
use OCP\Group\Events\UserAddedEvent;
use OCP\IDBConnection;
use OCP\IGroup;
@@ -108,6 +110,7 @@ class Application extends App implements IBootstrap {
$context->registerNotifierService(Notifier::class);
$context->registerEventListener(UserChangedEvent::class, DisplayNameCache::class);
+ $context->registerEventListener(GroupChangedEvent::class, GroupDisplayNameCache::class);
}
public function boot(IBootContext $context): void {
diff --git a/apps/files_sharing/lib/BackgroundJob/FederatedSharesDiscoverJob.php b/apps/files_sharing/lib/BackgroundJob/FederatedSharesDiscoverJob.php
index d35f35d20f2..687dcd25f8b 100644
--- a/apps/files_sharing/lib/BackgroundJob/FederatedSharesDiscoverJob.php
+++ b/apps/files_sharing/lib/BackgroundJob/FederatedSharesDiscoverJob.php
@@ -26,7 +26,8 @@ declare(strict_types=1);
*/
namespace OCA\Files_Sharing\BackgroundJob;
-use OC\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCP\IDBConnection;
use OCP\OCS\IDiscoveryService;
@@ -36,8 +37,10 @@ class FederatedSharesDiscoverJob extends TimedJob {
/** @var IDiscoveryService */
private $discoveryService;
- public function __construct(IDBConnection $connection,
+ public function __construct(ITimeFactory $time,
+ IDBConnection $connection,
IDiscoveryService $discoveryService) {
+ parent::__construct($time);
$this->connection = $connection;
$this->discoveryService = $discoveryService;
diff --git a/apps/files_sharing/lib/DeleteOrphanedSharesJob.php b/apps/files_sharing/lib/DeleteOrphanedSharesJob.php
index 6a641734680..d2cc39ff060 100644
--- a/apps/files_sharing/lib/DeleteOrphanedSharesJob.php
+++ b/apps/files_sharing/lib/DeleteOrphanedSharesJob.php
@@ -24,13 +24,13 @@
*/
namespace OCA\Files_Sharing;
-use OC\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
/**
* Delete all share entries that have no matching entries in the file cache table.
*/
class DeleteOrphanedSharesJob extends TimedJob {
-
/**
* Default interval in minutes
*
@@ -41,7 +41,9 @@ class DeleteOrphanedSharesJob extends TimedJob {
/**
* sets the correct interval for this timed job
*/
- public function __construct() {
+ public function __construct(ITimeFactory $time) {
+ parent::__construct($time);
+
$this->interval = $this->defaultIntervalMin * 60;
}
diff --git a/apps/files_sharing/lib/Notification/Notifier.php b/apps/files_sharing/lib/Notification/Notifier.php
index 58f2a60fcdd..455d0fd66fc 100644
--- a/apps/files_sharing/lib/Notification/Notifier.php
+++ b/apps/files_sharing/lib/Notification/Notifier.php
@@ -132,7 +132,6 @@ class Notifier implements INotifier {
$notification
->setParsedSubject($l->t('Share will expire tomorrow'))
- ->setParsedMessage($l->t('One or more of your shares will expire tomorrow'))
->setRichMessage(
$l->t('Your share of {node} will expire tomorrow'),
[
@@ -232,14 +231,7 @@ class Notifier implements INotifier {
throw new \InvalidArgumentException('Invalid subject');
}
- $placeholders = $replacements = [];
- foreach ($subjectParameters as $placeholder => $parameter) {
- $placeholders[] = '{' . $placeholder . '}';
- $replacements[] = $parameter['name'];
- }
-
- $notification->setParsedSubject(str_replace($placeholders, $replacements, $subject))
- ->setRichSubject($subject, $subjectParameters)
+ $notification->setRichSubject($subject, $subjectParameters)
->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
$acceptAction = $notification->createAction();
diff --git a/apps/files_sharing/lib/SharedStorage.php b/apps/files_sharing/lib/SharedStorage.php
index b5c0da9c442..2c1ddf9af4a 100644
--- a/apps/files_sharing/lib/SharedStorage.php
+++ b/apps/files_sharing/lib/SharedStorage.php
@@ -52,7 +52,6 @@ use OCP\Files\IRootFolder;
use OCP\Files\NotFoundException;
use OCP\Files\Storage\IDisableEncryptionStorage;
use OCP\Files\Storage\IStorage;
-use OCP\IUserManager;
use OCP\Lock\ILockingProvider;
use OCP\Share\IShare;
@@ -60,7 +59,6 @@ use OCP\Share\IShare;
* Convert target path to source path and pass the function call to the correct storage provider
*/
class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedStorage, IDisableEncryptionStorage {
-
/** @var \OCP\Share\IShare */
private $superShare;
@@ -90,7 +88,7 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
/** @var IStorage */
private $nonMaskedStorage;
- private $options;
+ private array $mountOptions = [];
/** @var boolean */
private $sharingDisabledForUser;
@@ -553,7 +551,11 @@ class SharedStorage extends \OC\Files\Storage\Wrapper\Jail implements ISharedSto
return parent::file_put_contents($path, $data);
}
+ /**
+ * @return void
+ */
public function setMountOptions(array $options) {
+ /* Note: This value is never read */
$this->mountOptions = $options;
}
diff --git a/apps/files_sharing/src/components/SharingEntryInternal.vue b/apps/files_sharing/src/components/SharingEntryInternal.vue
index 03a1ba87b71..7fe5d5f2e23 100644
--- a/apps/files_sharing/src/components/SharingEntryInternal.vue
+++ b/apps/files_sharing/src/components/SharingEntryInternal.vue
@@ -22,6 +22,7 @@
<script>
import { generateUrl } from '@nextcloud/router'
+import { showSuccess } from '@nextcloud/dialogs'
import NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink'
import SharingEntrySimple from './SharingEntrySimple'
@@ -65,9 +66,10 @@ export default {
*/
clipboardTooltip() {
if (this.copied) {
- return this.copySuccess
- ? t('files_sharing', 'Link copied')
- : t('files_sharing', 'Cannot copy, please copy the link manually')
+ if (this.copySuccess) {
+ return ''
+ }
+ return t('files_sharing', 'Cannot copy, please copy the link manually')
}
return t('files_sharing', 'Copy to clipboard')
},
@@ -84,6 +86,7 @@ export default {
async copyLink() {
try {
await this.$copyText(this.internalLink)
+ showSuccess(t('files_sharing', 'Link copied'))
// focus and show the tooltip (note: cannot set ref on NcActionLink)
this.$refs.shareEntrySimple.$refs.actionsComponent.$el.focus()
this.copySuccess = true
diff --git a/apps/files_sharing/src/components/SharingEntryLink.vue b/apps/files_sharing/src/components/SharingEntryLink.vue
index 207db7d8514..524b1279b18 100644
--- a/apps/files_sharing/src/components/SharingEntryLink.vue
+++ b/apps/files_sharing/src/components/SharingEntryLink.vue
@@ -299,7 +299,7 @@
<script>
import { generateUrl } from '@nextcloud/router'
-import { showError } from '@nextcloud/dialogs'
+import { showError, showSuccess } from '@nextcloud/dialogs'
import { Type as ShareTypes } from '@nextcloud/sharing'
import Vue from 'vue'
@@ -564,9 +564,10 @@ export default {
*/
clipboardTooltip() {
if (this.copied) {
- return this.copySuccess
- ? t('files_sharing', 'Link copied')
- : t('files_sharing', 'Cannot copy, please copy the link manually')
+ if (this.copySuccess) {
+ return ''
+ }
+ return t('files_sharing', 'Cannot copy, please copy the link manually')
}
return t('files_sharing', 'Copy to clipboard')
},
@@ -766,12 +767,14 @@ export default {
if (typeof this.share.newLabel === 'string') {
this.share.label = this.share.newLabel
this.$delete(this.share, 'newLabel')
+ showSuccess(t('files_sharing', 'Share label saved'))
this.queueUpdate('label')
}
},
async copyLink() {
try {
await this.$copyText(this.shareLink)
+ showSuccess(t('files_sharing', 'Link copied'))
// focus and show the tooltip
this.$refs.copyButton.$el.focus()
this.copySuccess = true
@@ -832,6 +835,7 @@ export default {
onPasswordSubmit() {
if (this.hasUnsavedPassword) {
this.share.password = this.share.newPassword.trim()
+ showSuccess(t('files_sharing', 'Share password saved'))
this.queueUpdate('password')
}
},
diff --git a/apps/files_sharing/src/components/SharingInput.vue b/apps/files_sharing/src/components/SharingInput.vue
index 6c73180865e..27d08f77a29 100644
--- a/apps/files_sharing/src/components/SharingInput.vue
+++ b/apps/files_sharing/src/components/SharingInput.vue
@@ -21,31 +21,35 @@
-->
<template>
- <NcMultiselect ref="multiselect"
- class="sharing-input"
- :clear-on-select="true"
- :disabled="!canReshare"
- :hide-selected="true"
- :internal-search="false"
- :loading="loading"
- :options="options"
- :placeholder="inputPlaceholder"
- :preselect-first="true"
- :preserve-search="true"
- :searchable="true"
- :user-select="true"
- open-direction="below"
- label="displayName"
- track-by="id"
- @search-change="asyncFind"
- @select="addShare">
- <template #noOptions>
- {{ t('files_sharing', 'No recommendations. Start typing.') }}
- </template>
- <template #noResult>
- {{ noResultText }}
- </template>
- </NcMultiselect>
+ <div class="sharing-search">
+ <label for="sharing-search-input">{{ t('files_sharing', 'Search for share recipients') }}</label>
+ <NcMultiselect ref="multiselect"
+ id="sharing-search-input"
+ class="sharing-search__input"
+ :clear-on-select="true"
+ :disabled="!canReshare"
+ :hide-selected="true"
+ :internal-search="false"
+ :loading="loading"
+ :options="options"
+ :placeholder="inputPlaceholder"
+ :preselect-first="true"
+ :preserve-search="true"
+ :searchable="true"
+ :user-select="true"
+ open-direction="below"
+ label="displayName"
+ track-by="id"
+ @search-change="asyncFind"
+ @select="addShare">
+ <template #noOptions>
+ {{ t('files_sharing', 'No recommendations. Start typing.') }}
+ </template>
+ <template #noResult>
+ {{ noResultText }}
+ </template>
+ </NcMultiselect>
+ </div>
</template>
<script>
@@ -521,20 +525,30 @@ export default {
</script>
<style lang="scss">
-.sharing-input {
- width: 100%;
- margin: 10px 0;
-
- // properly style the lookup entry
- .multiselect__option {
- span[lookup] {
- .avatardiv {
- background-image: var(--icon-search-white);
- background-repeat: no-repeat;
- background-position: center;
- background-color: var(--color-text-maxcontrast) !important;
- div {
- display: none;
+.sharing-search {
+ display: flex;
+ flex-direction: column;
+ margin-bottom: 4px;
+
+ label[for="sharing-search-input"] {
+ margin-bottom: 2px;
+ }
+
+ &__input {
+ width: 100%;
+ margin: 10px 0;
+
+ // properly style the lookup entry
+ .multiselect__option {
+ span[lookup] {
+ .avatardiv {
+ background-image: var(--icon-search-white);
+ background-repeat: no-repeat;
+ background-position: center;
+ background-color: var(--color-text-maxcontrast) !important;
+ div {
+ display: none;
+ }
}
}
}
diff --git a/apps/files_sharing/src/files_sharing_tab.js b/apps/files_sharing/src/files_sharing_tab.js
index c06ec051c4e..85bbd869932 100644
--- a/apps/files_sharing/src/files_sharing_tab.js
+++ b/apps/files_sharing/src/files_sharing_tab.js
@@ -25,11 +25,14 @@ import Vue from 'vue'
import VueClipboard from 'vue-clipboard2'
import { translate as t, translatePlural as n } from '@nextcloud/l10n'
-import SharingTab from './views/SharingTab'
-import ShareSearch from './services/ShareSearch'
-import ExternalLinkActions from './services/ExternalLinkActions'
-import ExternalShareActions from './services/ExternalShareActions'
-import TabSections from './services/TabSections'
+import SharingTab from './views/SharingTab.vue'
+import ShareSearch from './services/ShareSearch.js'
+import ExternalLinkActions from './services/ExternalLinkActions.js'
+import ExternalShareActions from './services/ExternalShareActions.js'
+import TabSections from './services/TabSections.js'
+
+// eslint-disable-next-line node/no-missing-import, import/no-unresolved
+import ShareVariant from '@mdi/svg/svg/share-variant.svg?raw'
// Init Sharing Tab Service
if (!window.OCA.Sharing) {
@@ -53,7 +56,7 @@ window.addEventListener('DOMContentLoaded', function() {
OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({
id: 'sharing',
name: t('files_sharing', 'Sharing'),
- icon: 'icon-share',
+ iconSvg: ShareVariant,
async mount(el, fileInfo, context) {
if (TabInstance) {
diff --git a/apps/files_sharing/src/mixins/SharesMixin.js b/apps/files_sharing/src/mixins/SharesMixin.js
index 68468d76de4..e5fb141e127 100644
--- a/apps/files_sharing/src/mixins/SharesMixin.js
+++ b/apps/files_sharing/src/mixins/SharesMixin.js
@@ -25,6 +25,7 @@
*
*/
+import { showSuccess } from '@nextcloud/dialogs'
import { getCurrentUser } from '@nextcloud/auth'
// eslint-disable-next-line import/no-unresolved, node/no-missing-import
import PQueue from 'p-queue'
@@ -211,6 +212,7 @@ export default {
if (this.share.newNote) {
this.share.note = this.share.newNote
this.$delete(this.share, 'newNote')
+ showSuccess(t('files_sharing', 'Share note saved'))
this.queueUpdate('note')
}
},
@@ -224,6 +226,10 @@ export default {
this.open = false
await this.deleteShare(this.share.id)
console.debug('Share deleted', this.share.id)
+ const message = this.share.itemType === 'file'
+ ? t('files_sharing', 'File "{path}" has been unshared', { path: this.share.path })
+ : t('files_sharing', 'Folder "{path}" has been unshared', { path: this.share.path })
+ showSuccess(message)
this.$emit('remove:share', this.share)
} catch (error) {
// re-open menu if error
diff --git a/apps/files_sharing/tests/DeleteOrphanedSharesJobTest.php b/apps/files_sharing/tests/DeleteOrphanedSharesJobTest.php
index d2f05002a68..3de40215f15 100644
--- a/apps/files_sharing/tests/DeleteOrphanedSharesJobTest.php
+++ b/apps/files_sharing/tests/DeleteOrphanedSharesJobTest.php
@@ -27,6 +27,7 @@
namespace OCA\Files_Sharing\Tests;
use OCA\Files_Sharing\DeleteOrphanedSharesJob;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Share\IShare;
/**
@@ -37,7 +38,6 @@ use OCP\Share\IShare;
* @package OCA\Files_Sharing\Tests
*/
class DeleteOrphanedSharesJobTest extends \Test\TestCase {
-
/**
* @var bool
*/
@@ -94,7 +94,7 @@ class DeleteOrphanedSharesJobTest extends \Test\TestCase {
\OC::registerShareHooks(\OC::$server->getSystemConfig());
- $this->job = new DeleteOrphanedSharesJob();
+ $this->job = new DeleteOrphanedSharesJob(\OCP\Server::get(ITimeFactory::class));
}
protected function tearDown(): void {
diff --git a/apps/files_trashbin/composer/autoload.php b/apps/files_trashbin/composer/autoload.php
index 4e88a44133f..e493d13ddcb 100644
--- a/apps/files_trashbin/composer/autoload.php
+++ b/apps/files_trashbin/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/files_trashbin/composer/composer/installed.php b/apps/files_trashbin/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/files_trashbin/composer/composer/installed.php
+++ b/apps/files_trashbin/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/files_trashbin/l10n/en_GB.js b/apps/files_trashbin/l10n/en_GB.js
index 9d308c31222..f541766152b 100644
--- a/apps/files_trashbin/l10n/en_GB.js
+++ b/apps/files_trashbin/l10n/en_GB.js
@@ -3,10 +3,16 @@ OC.L10N.register(
{
"Deleted files" : "Deleted files",
"restored" : "restored",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)",
"This application enables users to restore files that were deleted from the system." : "This application enables users to restore files that were deleted from the system.",
"This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the rubbish bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilise more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.",
"Restore" : "Restore",
"Delete permanently" : "Delete permanently",
+ "Error while restoring file from trash bin" : "Error while restoring file from trash bin",
+ "Error while removing file from trash bin" : "Error while removing file from trash bin",
+ "Error while restoring files from trash bin" : "Error while restoring files from trash bin",
+ "Error while emptying trash bin" : "Error while emptying trash bin",
+ "Error while removing files from trash bin" : "Error while removing files from trash bin",
"This operation is forbidden" : "This operation is forbidden",
"This directory is unavailable, please check the logs or contact the administrator" : "This directory is unavailable, please check the logs or contact the administrator",
"No deleted files" : "No deleted files",
diff --git a/apps/files_trashbin/l10n/en_GB.json b/apps/files_trashbin/l10n/en_GB.json
index 2590d9d6279..251c594c214 100644
--- a/apps/files_trashbin/l10n/en_GB.json
+++ b/apps/files_trashbin/l10n/en_GB.json
@@ -1,10 +1,16 @@
{ "translations": {
"Deleted files" : "Deleted files",
"restored" : "restored",
+ "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)" : "Deleted files and folders in the trash bin (may expire during export if you are low on storage space)",
"This application enables users to restore files that were deleted from the system." : "This application enables users to restore files that were deleted from the system.",
"This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the trash bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilize more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation." : "This application enables users to restore files that were deleted from the system. It displays a list of deleted files in the web interface, and has options to restore those deleted files back to the users file directories or remove them permanently from the system. Restoring a file also restores related file versions, if the versions application is enabled. When a file is deleted from a share, it can be restored in the same manner, though it is no longer shared. By default, these files remain in the rubbish bin for 30 days.\nTo prevent a user from running out of disk space, the Deleted files app will not utilise more than 50% of the currently available free quota for deleted files. If the deleted files exceed this limit, the app deletes the oldest files until it gets below this limit. More information is available in the Deleted Files documentation.",
"Restore" : "Restore",
"Delete permanently" : "Delete permanently",
+ "Error while restoring file from trash bin" : "Error while restoring file from trash bin",
+ "Error while removing file from trash bin" : "Error while removing file from trash bin",
+ "Error while restoring files from trash bin" : "Error while restoring files from trash bin",
+ "Error while emptying trash bin" : "Error while emptying trash bin",
+ "Error while removing files from trash bin" : "Error while removing files from trash bin",
"This operation is forbidden" : "This operation is forbidden",
"This directory is unavailable, please check the logs or contact the administrator" : "This directory is unavailable, please check the logs or contact the administrator",
"No deleted files" : "No deleted files",
diff --git a/apps/files_versions/composer/autoload.php b/apps/files_versions/composer/autoload.php
index f75dc09160c..4505dd14227 100644
--- a/apps/files_versions/composer/autoload.php
+++ b/apps/files_versions/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/files_versions/composer/composer/installed.php b/apps/files_versions/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/files_versions/composer/composer/installed.php
+++ b/apps/files_versions/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/files_versions/l10n/bg.js b/apps/files_versions/l10n/bg.js
index 2ad9322a9f5..78d878c2416 100644
--- a/apps/files_versions/l10n/bg.js
+++ b/apps/files_versions/l10n/bg.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Версии",
"This application automatically maintains older versions of files that are changed." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папка с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.",
+ "Download version" : "Изтегляне на версия",
+ "Restore version" : "Възстановяване на версия",
+ "No versions yet" : "Все още няма версии",
+ "Version restored" : "Версията е възстановена",
+ "Could not restore version" : "Версията не можа да се възстанови",
+ "Version" : "Версия",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.",
"Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Restore" : "Възтановяване",
- "No other versions available" : "Няма версии",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите."
+ "No other versions available" : "Няма версии"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/bg.json b/apps/files_versions/l10n/bg.json
index 284e87877f6..15d242ade6b 100644
--- a/apps/files_versions/l10n/bg.json
+++ b/apps/files_versions/l10n/bg.json
@@ -2,10 +2,16 @@
"Versions" : "Версии",
"This application automatically maintains older versions of files that are changed." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папка с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.",
+ "Download version" : "Изтегляне на версия",
+ "Restore version" : "Възстановяване на версия",
+ "No versions yet" : "Все още няма версии",
+ "Version restored" : "Версията е възстановена",
+ "Could not restore version" : "Версията не можа да се възстанови",
+ "Version" : "Версия",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите.",
"Failed to revert {file} to revision {timestamp}." : "Грешка при връщане на {file} към версия {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта"],
"Restore" : "Възтановяване",
- "No other versions available" : "Няма версии",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Това приложение автоматично поддържа по-стари версии на файлове, които са променени. Когато е активирана, папката със скрити версии се предоставя в директорията на всеки потребител и се използва за съхраняване на стари версии на файлове. Потребителят може да се върне към по-стара версия чрез уеб интерфейса по всяко време, като замененият файл се превръща във версия. Приложението автоматично управлява папката с версии, за да гарантира, че потребителят няма да изчерпи квотата заради версиите.\nВ допълнение към изтичането на версиите, приложението за версии гарантира, че никога няма да използва повече от 50% от наличното в момента свободно пространство на потребителя. Ако съхранените версии надвишават това ограничение, приложението първо ще изтрие най-старите версии, докато не достигне това ограничение. Повече информация можете да намерите в документацията за версиите."
+ "No other versions available" : "Няма версии"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/br.js b/apps/files_versions/l10n/br.js
index c0432d563bc..2b6cc838a27 100644
--- a/apps/files_versions/l10n/br.js
+++ b/apps/files_versions/l10n/br.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Stumm",
"This application automatically maintains older versions of files that are changed." : "Ar meziant-man a laosk en un doare otomatek stumm ar resrtoù kozh a vez cheñchet",
+ "Version" : "Stumm",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. ",
"Failed to revert {file} to revision {timestamp}." : "C'hwitet m ar mon en dro {file} evit adober {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n okted","%n okted","%n okted","%n okted","%n octed"],
"Restore" : "Adkrouiñ",
- "No other versions available" : "Stumm all ebet kavet",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. "
+ "No other versions available" : "Stumm all ebet kavet"
},
"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);");
diff --git a/apps/files_versions/l10n/br.json b/apps/files_versions/l10n/br.json
index 1fd2cd329f0..5ebdc584bee 100644
--- a/apps/files_versions/l10n/br.json
+++ b/apps/files_versions/l10n/br.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Stumm",
"This application automatically maintains older versions of files that are changed." : "Ar meziant-man a laosk en un doare otomatek stumm ar resrtoù kozh a vez cheñchet",
+ "Version" : "Stumm",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. ",
"Failed to revert {file} to revision {timestamp}." : "C'hwitet m ar mon en dro {file} evit adober {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n okted","%n okted","%n okted","%n okted","%n octed"],
"Restore" : "Adkrouiñ",
- "No other versions available" : "Stumm all ebet kavet",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ar meziant a dalc'h en un doare otomatek stummoù kozh ar restroù cheñchet. P'az eo aotreet, un teuliad koachet a vez roet e pep teuliad an implijour evit gwarn stummoù kozh ar restr. An implijer a c'hel adkemer ur stumm kozh n'eus forz peseurt amzer dre an etrefas web. Ar meziant a ra war dro teuliad ar stummoù evit bezhañ sur ez eus traouac'h a cQuota gant an implijer.\n\t\tOuzhpenn ar stumm diskarzed, stumm ar meziant a ra ma ne vefe ket implijet muioc'h eget 50% eus a plass vak an implijer. M'a vez dibaset e vo lemmet gant ar meziant ar stumm kozhañ da gentañ. Muioc'h titouriù en dielvadur Versions. "
+ "No other versions available" : "Stumm all ebet kavet"
},"pluralForm" :"nplurals=5; plural=((n%10 == 1) && (n%100 != 11) && (n%100 !=71) && (n%100 !=91) ? 0 :(n%10 == 2) && (n%100 != 12) && (n%100 !=72) && (n%100 !=92) ? 1 :(n%10 ==3 || n%10==4 || n%10==9) && (n%100 < 10 || n% 100 > 19) && (n%100 < 70 || n%100 > 79) && (n%100 < 90 || n%100 > 99) ? 2 :(n != 0 && n % 1000000 == 0) ? 3 : 4);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/ca.js b/apps/files_versions/l10n/ca.js
index 5032407cdb4..7ab9fb543f1 100644
--- a/apps/files_versions/l10n/ca.js
+++ b/apps/files_versions/l10n/ca.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Versions",
"This application automatically maintains older versions of files that are changed." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions.",
- "Failed to revert {file} to revision {timestamp}." : "No s'ha pogut recuperar la revisió {timestamp} del fitxer {file}. ",
+ "Download version" : "Baixada versió",
+ "Restore version" : "Restaura versió",
+ "No versions yet" : "Encara no hi ha cap versió",
+ "Version restored" : "Versió restaurada",
+ "Could not restore version" : "No s'ha pogut restaurar la versió",
+ "Version" : "Versió",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions.",
+ "Failed to revert {file} to revision {timestamp}." : "No s'ha pogut recuperar la revisió {timestamp} del fitxer {file}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Recupera",
- "No other versions available" : "No hi ha cap altra versió disponible",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions."
+ "No other versions available" : "No hi ha cap altra versió disponible"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/ca.json b/apps/files_versions/l10n/ca.json
index 922babf63e1..727e4428f3b 100644
--- a/apps/files_versions/l10n/ca.json
+++ b/apps/files_versions/l10n/ca.json
@@ -2,10 +2,16 @@
"Versions" : "Versions",
"This application automatically maintains older versions of files that are changed." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions.",
- "Failed to revert {file} to revision {timestamp}." : "No s'ha pogut recuperar la revisió {timestamp} del fitxer {file}. ",
+ "Download version" : "Baixada versió",
+ "Restore version" : "Restaura versió",
+ "No versions yet" : "Encara no hi ha cap versió",
+ "Version restored" : "Versió restaurada",
+ "Could not restore version" : "No s'ha pogut restaurar la versió",
+ "Version" : "Versió",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions.",
+ "Failed to revert {file} to revision {timestamp}." : "No s'ha pogut recuperar la revisió {timestamp} del fitxer {file}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Recupera",
- "No other versions available" : "No hi ha cap altra versió disponible",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aquesta aplicació conserva automàticament les versions antigues dels fitxers modificats. Si s'activa, es crearà una carpeta de versions oculta a cada carpeta dels usuaris i s'utilitzarà per a emmagatzemar les versions antigues dels fitxers. Els usuaris poden recuperar una versió anterior a través de la interfície web en qualsevol moment i el fitxer substituït es converteix en una versió. L'aplicació administra automàticament la carpeta de versions per a assegurar-se que l'usuari no es quedi sense espai per culpa de les versions.\n\t\tA més del venciment de les versions, l'aplicació Versions garanteix que no s'utilitzarà mai més del 50% de l'espai lliure disponible actualment per a l'usuari. Si les versions emmagatzemades superen aquest límit, l'aplicació suprimirà primer les versions més antigues fins que es respecti aquest límit. Podeu trobar més informació a la documentació de Versions."
+ "No other versions available" : "No hi ha cap altra versió disponible"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/cs.js b/apps/files_versions/l10n/cs.js
index bd6b88bafd6..3c877f7f455 100644
--- a/apps/files_versions/l10n/cs.js
+++ b/apps/files_versions/l10n/cs.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Verze",
"This application automatically maintains older versions of files that are changed." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze.",
+ "Download version" : "Stáhnout si verzi",
+ "Restore version" : "Obnovit verzi",
+ "No versions yet" : "Zatím žádné verze",
+ "Version restored" : "Verze obnovena",
+ "Could not restore version" : "Verzi se nedaří obnovit",
+ "Version" : "Verze",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze.",
"Failed to revert {file} to revision {timestamp}." : "Nepodařilo se vrátit {file} do stavu k {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů","%n bajty"],
"Restore" : "Obnovit",
- "No other versions available" : "Nejsou k dispozici žádné jiné verze",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze."
+ "No other versions available" : "Nejsou k dispozici žádné jiné verze"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/files_versions/l10n/cs.json b/apps/files_versions/l10n/cs.json
index e828ea1fd2e..337b8760570 100644
--- a/apps/files_versions/l10n/cs.json
+++ b/apps/files_versions/l10n/cs.json
@@ -2,10 +2,16 @@
"Versions" : "Verze",
"This application automatically maintains older versions of files that are changed." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze.",
+ "Download version" : "Stáhnout si verzi",
+ "Restore version" : "Obnovit verzi",
+ "No versions yet" : "Zatím žádné verze",
+ "Version restored" : "Verze obnovena",
+ "Could not restore version" : "Verzi se nedaří obnovit",
+ "Version" : "Verze",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze.",
"Failed to revert {file} to revision {timestamp}." : "Nepodařilo se vrátit {file} do stavu k {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajty","%n bajtů","%n bajty"],
"Restore" : "Obnovit",
- "No other versions available" : "Nejsou k dispozici žádné jiné verze",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tato aplikace automaticky uchovává starší verze souborů, které se mění. Když je zapnutá, je ve složce každého uživatele vytvořena skrytá složka pro verze a do ní jsou ukládány staré verze souborů. Uživatel se (prostřednictvím webového rozhraní) kdykoli může vrátit ke starším verzím s tím, že sám nahrazovaný nejnovější soubor se tak stane verzí. Aplikace automaticky spravuje složku s verzemi tak, aby bylo zajištěno, že uživatel kvůli starým verzím nevyčerpá přidělenou kvótu.\n\t\tKrom konců platností verzí, aplikace Verze zajišťuje, že nikdy nepoužije více než 50% volného prostoru, který má uživatel k dispozici. Pokud uložené verze přesáhnou tento limit, aplikace smaže ty nejstarší, aby se do tohoto limitu vešla. Podrobnosti naleznete v dokumentaci k aplikaci Verze."
+ "No other versions available" : "Nejsou k dispozici žádné jiné verze"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/da.js b/apps/files_versions/l10n/da.js
index 34acb7e15e1..7257bc1d538 100644
--- a/apps/files_versions/l10n/da.js
+++ b/apps/files_versions/l10n/da.js
@@ -4,10 +4,11 @@ OC.L10N.register(
"Versions" : "Versioner",
"This application automatically maintains older versions of files that are changed." : "Denne applikation styrer automatisk tidligere versioner af ændrede filer.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation vedligeholder automatisk ældre versioner af filer, der ændres. Når den er aktiveret, er en skjult versionsmappe klargjort i hver brugers mappe og bruges til at gemme gamle filversioner. En bruger kan til enhver tid vende tilbage til en ældre version via webgrænsefladen, hvor den erstattede fil bliver en version. Appen administrerer automatisk versionsmappen for at sikre, at brugeren ikke løber tør for kvote på grund af versioner.\nUd over udløbet af versioner sørger versionsappen for aldrig at bruge mere end 50 % af brugerens ledige plads i øjeblikket. Hvis lagrede versioner overskrider denne grænse, vil appen først slette de ældste versioner, indtil den når denne grænse. Mere information er tilgængelig i versionsdokumentationen.",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation beholder automatisk ældre versioner af ændrede filer. Når aktiveret, oprettes en skjult mappe i hver brugers folder og bruges til at gemme ældre filversioner. En bruger kan gå tilbage til en ældre version via web brugerfladen til enhver tid. Derved bliver den erstattede fil også en version. Applikationen holder styr på versionsmappen for at sikre at brugeren ikke opbruger sin kvota med versioner.\n\t\tUdover at ugyldiggøre versioner, kontrollerer applikationen også at versioner aldrig optager mere en 50% af brugerens ledige plads. Hvis gemte versioner overskrider denne grænse vil applikationen slette de ældste versioner til den er tilbage under grænsen. Mere information tilgængelig i Versions dokumentationen. ",
"Failed to revert {file} to revision {timestamp}." : "Kunne ikke tilbagerulle {file} til den tidligere udgave: {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Gendan",
- "No other versions available" : "Ingen andre versioner tilgængelige",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation beholder automatisk ældre versioner af ændrede filer. Når aktiveret, oprettes en skjult mappe i hver brugers folder og bruges til at gemme ældre filversioner. En bruger kan gå tilbage til en ældre version via web brugerfladen til enhver tid. Derved bliver den erstattede fil også en version. Applikationen holder styr på versionsmappen for at sikre at brugeren ikke opbruger sin kvota med versioner.\n\t\tUdover at ugyldiggøre versioner, kontrollerer applikationen også at versioner aldrig optager mere en 50% af brugerens ledige plads. Hvis gemte versioner overskrider denne grænse vil applikationen slette de ældste versioner til den er tilbage under grænsen. Mere information tilgængelig i Versions dokumentationen. "
+ "No other versions available" : "Ingen andre versioner tilgængelige"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/da.json b/apps/files_versions/l10n/da.json
index 169ea3379e0..b7cc407e695 100644
--- a/apps/files_versions/l10n/da.json
+++ b/apps/files_versions/l10n/da.json
@@ -2,10 +2,11 @@
"Versions" : "Versioner",
"This application automatically maintains older versions of files that are changed." : "Denne applikation styrer automatisk tidligere versioner af ændrede filer.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation vedligeholder automatisk ældre versioner af filer, der ændres. Når den er aktiveret, er en skjult versionsmappe klargjort i hver brugers mappe og bruges til at gemme gamle filversioner. En bruger kan til enhver tid vende tilbage til en ældre version via webgrænsefladen, hvor den erstattede fil bliver en version. Appen administrerer automatisk versionsmappen for at sikre, at brugeren ikke løber tør for kvote på grund af versioner.\nUd over udløbet af versioner sørger versionsappen for aldrig at bruge mere end 50 % af brugerens ledige plads i øjeblikket. Hvis lagrede versioner overskrider denne grænse, vil appen først slette de ældste versioner, indtil den når denne grænse. Mere information er tilgængelig i versionsdokumentationen.",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation beholder automatisk ældre versioner af ændrede filer. Når aktiveret, oprettes en skjult mappe i hver brugers folder og bruges til at gemme ældre filversioner. En bruger kan gå tilbage til en ældre version via web brugerfladen til enhver tid. Derved bliver den erstattede fil også en version. Applikationen holder styr på versionsmappen for at sikre at brugeren ikke opbruger sin kvota med versioner.\n\t\tUdover at ugyldiggøre versioner, kontrollerer applikationen også at versioner aldrig optager mere en 50% af brugerens ledige plads. Hvis gemte versioner overskrider denne grænse vil applikationen slette de ældste versioner til den er tilbage under grænsen. Mere information tilgængelig i Versions dokumentationen. ",
"Failed to revert {file} to revision {timestamp}." : "Kunne ikke tilbagerulle {file} til den tidligere udgave: {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Gendan",
- "No other versions available" : "Ingen andre versioner tilgængelige",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denne applikation beholder automatisk ældre versioner af ændrede filer. Når aktiveret, oprettes en skjult mappe i hver brugers folder og bruges til at gemme ældre filversioner. En bruger kan gå tilbage til en ældre version via web brugerfladen til enhver tid. Derved bliver den erstattede fil også en version. Applikationen holder styr på versionsmappen for at sikre at brugeren ikke opbruger sin kvota med versioner.\n\t\tUdover at ugyldiggøre versioner, kontrollerer applikationen også at versioner aldrig optager mere en 50% af brugerens ledige plads. Hvis gemte versioner overskrider denne grænse vil applikationen slette de ældste versioner til den er tilbage under grænsen. Mere information tilgængelig i Versions dokumentationen. "
+ "No other versions available" : "Ingen andre versioner tilgængelige"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/de.js b/apps/files_versions/l10n/de.js
index ee3d66492e0..1149db660ba 100644
--- a/apps/files_versions/l10n/de.js
+++ b/apps/files_versions/l10n/de.js
@@ -4,10 +4,11 @@ OC.L10N.register(
"Versions" : "Versionen",
"This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen findest du in der Versionsdokumentation.",
"Failed to revert {file} to revision {timestamp}." : "Konnte {file} nicht auf Revision {timestamp} zurücksetzen.",
"_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
"Restore" : "Wiederherstellen",
- "No other versions available" : "Keine anderen Versionen verfügbar",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen findest du in der Versionsdokumentation."
+ "No other versions available" : "Keine anderen Versionen verfügbar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/de.json b/apps/files_versions/l10n/de.json
index 2697c910703..c11741a0344 100644
--- a/apps/files_versions/l10n/de.json
+++ b/apps/files_versions/l10n/de.json
@@ -2,10 +2,11 @@
"Versions" : "Versionen",
"This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen findest du in der Versionsdokumentation.",
"Failed to revert {file} to revision {timestamp}." : "Konnte {file} nicht auf Revision {timestamp} zurücksetzen.",
"_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
"Restore" : "Wiederherstellen",
- "No other versions available" : "Keine anderen Versionen verfügbar",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\n\t\tZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen findest du in der Versionsdokumentation."
+ "No other versions available" : "Keine anderen Versionen verfügbar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/de_DE.js b/apps/files_versions/l10n/de_DE.js
index 5f53105efa4..f8c58408db8 100644
--- a/apps/files_versions/l10n/de_DE.js
+++ b/apps/files_versions/l10n/de_DE.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Versionen",
"This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.",
+ "Download version" : "Version herunterladen",
+ "Restore version" : "Version wiederherstellen",
+ "No versions yet" : "Bislang keine Versionen",
+ "Version restored" : "Version wiederhergestellt",
+ "Could not restore version" : "Version konnte nicht wiederhergestellt werden",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.",
"Failed to revert {file} to revision {timestamp}." : "Konnte {file} nicht auf Revision {timestamp} zurücksetzen.",
"_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
"Restore" : "Wiederherstellen",
- "No other versions available" : "Keine anderen Versionen verfügbar",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation."
+ "No other versions available" : "Keine anderen Versionen verfügbar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/de_DE.json b/apps/files_versions/l10n/de_DE.json
index 193e017c151..3fd2cd2995b 100644
--- a/apps/files_versions/l10n/de_DE.json
+++ b/apps/files_versions/l10n/de_DE.json
@@ -2,10 +2,16 @@
"Versions" : "Versionen",
"This application automatically maintains older versions of files that are changed." : "Diese App verwaltet automatisch ältere Versionen geänderter Dateien.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.",
+ "Download version" : "Version herunterladen",
+ "Restore version" : "Version wiederherstellen",
+ "No versions yet" : "Bislang keine Versionen",
+ "Version restored" : "Version wiederhergestellt",
+ "Could not restore version" : "Version konnte nicht wiederhergestellt werden",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation.",
"Failed to revert {file} to revision {timestamp}." : "Konnte {file} nicht auf Revision {timestamp} zurücksetzen.",
"_%n byte_::_%n bytes_" : ["%n Byte","%n Bytes"],
"Restore" : "Wiederherstellen",
- "No other versions available" : "Keine anderen Versionen verfügbar",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Diese Anwendung verwaltet automatisch ältere Versionen von Dateien, die geändert werden. Wenn aktiviert, wird ein Ordner mit versteckten Versionen im Verzeichnis jedes Benutzers bereitgestellt und wird zum Speichern alter Dateiversionen verwendet. Ein Benutzer kann jederzeit über die Web-Oberfläche auf eine ältere Version zurückgreifen, wobei die ersetzte Datei dann eine Version wird. Die App verwaltet automatisch den Versionsordner, um sicherzustellen, dass dem Benutzer nicht der Speicherplatz aufgrund von zu vielen Versionen ausgeht.\nZusätzlich zum Ablauf der Versionen stellt die Versions-App sicher, dass nie mehr als 50% des derzeit verfügbaren freien Speicherplatzes des Benutzers für die Versionierung genutzt werden. Wenn gespeicherte Versionen diese Grenze überschreiten, löscht die App zuerst die ältesten Versionen, bis sie die 50% Grenze erreicht hat. Weitere Informationen finden Sie in der Versionsdokumentation."
+ "No other versions available" : "Keine anderen Versionen verfügbar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/el.js b/apps/files_versions/l10n/el.js
index 92398bd9696..4e938f99ea5 100644
--- a/apps/files_versions/l10n/el.js
+++ b/apps/files_versions/l10n/el.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Εκδόσεις",
"This application automatically maintains older versions of files that are changed." : "Η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις των αρχείων που έχουν αλλάξει.",
+ "Version" : "Έκδοση",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Αυτή η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις αρχείων που έχουν αλλάξει. Όταν είναι ενεργοποιημένη, ένας κρυφός φάκελος παλιών εκδόσεων δημιουργείται στον κατάλογο όλων των χρηστών και χρησιμοποιείται για την αποθήκευση παλιών εκδόσεων αρχείων. Ένας χρήστης μπορεί να επαναφέρει παλαιότερη έκδοση μέσω περιηγητή ανά πάσα στιγμή, με το αρχείο αντικατάστασης να γίνει μια έκδοση. Η εφαρμογή διαχειρίζεται αυτόματα τον φάκελο για να διασφαλίσει ότι ο χρήστης δεν εξαντλεί το όριο του λόγω των εκδόσεων.\n\t\tΕκτός από τη λήξη των εκδόσεων, η εφαρμογή για εκδόσεις δεν χρησιμοποιεί ποτέ περισσότερο από το 50% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων.",
"Failed to revert {file} to revision {timestamp}." : "Αποτυχία επαναφοράς του {file} στην αναθεώρηση {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"],
"Restore" : "Επαναφορά",
- "No other versions available" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Αυτή η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις αρχείων που έχουν αλλάξει. Όταν είναι ενεργοποιημένη, ένας κρυφός φάκελος παλιών εκδόσεων δημιουργείται στον κατάλογο όλων των χρηστών και χρησιμοποιείται για την αποθήκευση παλιών εκδόσεων αρχείων. Ένας χρήστης μπορεί να επαναφέρει παλαιότερη έκδοση μέσω περιηγητή ανά πάσα στιγμή, με το αρχείο αντικατάστασης να γίνει μια έκδοση. Η εφαρμογή διαχειρίζεται αυτόματα τον φάκελο για να διασφαλίσει ότι ο χρήστης δεν εξαντλεί το όριο του λόγω των εκδόσεων.\n\t\tΕκτός από τη λήξη των εκδόσεων, η εφαρμογή για εκδόσεις δεν χρησιμοποιεί ποτέ περισσότερο από το 50% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων."
+ "No other versions available" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/el.json b/apps/files_versions/l10n/el.json
index 25b7c4981e9..734b59d1513 100644
--- a/apps/files_versions/l10n/el.json
+++ b/apps/files_versions/l10n/el.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Εκδόσεις",
"This application automatically maintains older versions of files that are changed." : "Η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις των αρχείων που έχουν αλλάξει.",
+ "Version" : "Έκδοση",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Αυτή η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις αρχείων που έχουν αλλάξει. Όταν είναι ενεργοποιημένη, ένας κρυφός φάκελος παλιών εκδόσεων δημιουργείται στον κατάλογο όλων των χρηστών και χρησιμοποιείται για την αποθήκευση παλιών εκδόσεων αρχείων. Ένας χρήστης μπορεί να επαναφέρει παλαιότερη έκδοση μέσω περιηγητή ανά πάσα στιγμή, με το αρχείο αντικατάστασης να γίνει μια έκδοση. Η εφαρμογή διαχειρίζεται αυτόματα τον φάκελο για να διασφαλίσει ότι ο χρήστης δεν εξαντλεί το όριο του λόγω των εκδόσεων.\n\t\tΕκτός από τη λήξη των εκδόσεων, η εφαρμογή για εκδόσεις δεν χρησιμοποιεί ποτέ περισσότερο από το 50% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων.",
"Failed to revert {file} to revision {timestamp}." : "Αποτυχία επαναφοράς του {file} στην αναθεώρηση {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bytes","%n bytes"],
"Restore" : "Επαναφορά",
- "No other versions available" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Αυτή η εφαρμογή διατηρεί αυτόματα παλαιότερες εκδόσεις αρχείων που έχουν αλλάξει. Όταν είναι ενεργοποιημένη, ένας κρυφός φάκελος παλιών εκδόσεων δημιουργείται στον κατάλογο όλων των χρηστών και χρησιμοποιείται για την αποθήκευση παλιών εκδόσεων αρχείων. Ένας χρήστης μπορεί να επαναφέρει παλαιότερη έκδοση μέσω περιηγητή ανά πάσα στιγμή, με το αρχείο αντικατάστασης να γίνει μια έκδοση. Η εφαρμογή διαχειρίζεται αυτόματα τον φάκελο για να διασφαλίσει ότι ο χρήστης δεν εξαντλεί το όριο του λόγω των εκδόσεων.\n\t\tΕκτός από τη λήξη των εκδόσεων, η εφαρμογή για εκδόσεις δεν χρησιμοποιεί ποτέ περισσότερο από το 50% του ελεύθερου χώρου που διαθέτει ο χρήστης. Εάν υπερβεί αυτό το όριο, θα διαγράψει πρώτα τις παλαιότερες εκδόσεις έως ότου ικανοποιήσει το όριο. Περισσότερες πληροφορίες διατίθενται στην τεκμηρίωση εκδόσεων."
+ "No other versions available" : "Δεν υπάρχουν άλλες εκδόσεις διαθέσιμες"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/en_GB.js b/apps/files_versions/l10n/en_GB.js
index 47f10d47bba..59956d4e2db 100644
--- a/apps/files_versions/l10n/en_GB.js
+++ b/apps/files_versions/l10n/en_GB.js
@@ -3,10 +3,17 @@ OC.L10N.register(
{
"Versions" : "Versions",
"This application automatically maintains older versions of files that are changed." : "This application automatically maintains older versions of files that are changed.",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation.",
+ "Download version" : "Download version",
+ "Restore version" : "Restore version",
+ "No versions yet" : "No versions yet",
+ "Version restored" : "Version restored",
+ "Could not restore version" : "Could not restore version",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation.",
"Failed to revert {file} to revision {timestamp}." : "Failed to revert {file} to revision {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Restore",
- "No other versions available" : "No other versions available",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation."
+ "No other versions available" : "No other versions available"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/en_GB.json b/apps/files_versions/l10n/en_GB.json
index c1a91443542..226ffb2fdc4 100644
--- a/apps/files_versions/l10n/en_GB.json
+++ b/apps/files_versions/l10n/en_GB.json
@@ -1,10 +1,17 @@
{ "translations": {
"Versions" : "Versions",
"This application automatically maintains older versions of files that are changed." : "This application automatically maintains older versions of files that are changed.",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation.",
+ "Download version" : "Download version",
+ "Restore version" : "Restore version",
+ "No versions yet" : "No versions yet",
+ "Version restored" : "Version restored",
+ "Could not restore version" : "Could not restore version",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation.",
"Failed to revert {file} to revision {timestamp}." : "Failed to revert {file} to revision {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Restore",
- "No other versions available" : "No other versions available",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation."
+ "No other versions available" : "No other versions available"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/eo.js b/apps/files_versions/l10n/eo.js
index de2a83c0587..90c2546c3c2 100644
--- a/apps/files_versions/l10n/eo.js
+++ b/apps/files_versions/l10n/eo.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versioj",
"This application automatically maintains older versions of files that are changed." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis.",
+ "Version" : "Versio",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj.",
"Failed to revert {file} to revision {timestamp}." : "Malsukcesis remeti {file} al la revizio {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"],
"Restore" : "Restaŭri",
- "No other versions available" : "Neniu alia versio disponeblas",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj."
+ "No other versions available" : "Neniu alia versio disponeblas"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/eo.json b/apps/files_versions/l10n/eo.json
index 02e815a64ed..8a76db600d7 100644
--- a/apps/files_versions/l10n/eo.json
+++ b/apps/files_versions/l10n/eo.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versioj",
"This application automatically maintains older versions of files that are changed." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis.",
+ "Version" : "Versio",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj.",
"Failed to revert {file} to revision {timestamp}." : "Malsukcesis remeti {file} al la revizio {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajto","%n bajtoj"],
"Restore" : "Restaŭri",
- "No other versions available" : "Neniu alia versio disponeblas",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Tiu ĉi aplikaĵo aŭtomate konservas antaŭajn versiojn de dosieroj, kiuj ŝanĝiĝis. Kiam ĝi estas ebligita, kaŝita dosierujo por enteni versiojn kreiĝas en ĉiu uzantodosierujo kaj uziĝas por konservi la antaŭajn versiojn de dosieroj. Uzanto povas reveni al antaŭa versio pere de la TTT-a fasado iam ajn, kaj la anstataŭigita dosiero iĝas versio. La aplikaĵo aŭtomate observas la versian dosierujon por garantii, ke la uzanto ne transpasu sian kvoton pro troaj versioj.\n\t\tKrom la eksvalidiĝo de versioj, la aplikaĵo neniam uzas pli ol 50 % de la aktuala libera spaco de la uzanto. Se la konservitaj versioj transpasos tiun limon, la aplikaĵo forigos la plej antaŭajn versiojn ĝis atingo de la limo. Pliaj informoj disponeblas en la dokumentaro pri Versioj."
+ "No other versions available" : "Neniu alia versio disponeblas"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es.js b/apps/files_versions/l10n/es.js
index e61adffab68..edf64c314bc 100644
--- a/apps/files_versions/l10n/es.js
+++ b/apps/files_versions/l10n/es.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Versiones",
"This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Cuando se activa, una carpeta escondida de versiones aparece en cada directorio del usuario y se usa para almacenar los archivos de versiones antiguas. Un usuario puede volver a una versión más antigua a través de la interfaz web en cualquier momento, convirtiéndose el archivo reemplazado en una versión. La app controla automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin cuota de disco por las versiones.\n\t\tAdemás de la caducidad de las versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para el usuario. Si las versiones almacenadas exceden este límite, la app borrará primero las versiones más viejas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.",
+ "Download version" : "Descargar versión",
+ "Restore version" : "Restaurar versión",
+ "No versions yet" : "Aún no hay versiones",
+ "Version restored" : "Versión restaurada",
+ "Could not restore version" : "No se ha podido restaurar la versión",
+ "Version" : "Versión",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.",
"Failed to revert {file} to revision {timestamp}." : "No se ha podido restaurar {file} a versión {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Restore" : "Recuperar",
- "No other versions available" : "No hay más versiones disponibles",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones."
+ "No other versions available" : "No hay más versiones disponibles"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es.json b/apps/files_versions/l10n/es.json
index c6b65a57d95..cbf70a9b06b 100644
--- a/apps/files_versions/l10n/es.json
+++ b/apps/files_versions/l10n/es.json
@@ -2,10 +2,16 @@
"Versions" : "Versiones",
"This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Cuando se activa, una carpeta escondida de versiones aparece en cada directorio del usuario y se usa para almacenar los archivos de versiones antiguas. Un usuario puede volver a una versión más antigua a través de la interfaz web en cualquier momento, convirtiéndose el archivo reemplazado en una versión. La app controla automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin cuota de disco por las versiones.\n\t\tAdemás de la caducidad de las versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para el usuario. Si las versiones almacenadas exceden este límite, la app borrará primero las versiones más viejas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.",
+ "Download version" : "Descargar versión",
+ "Restore version" : "Restaurar versión",
+ "No versions yet" : "Aún no hay versiones",
+ "Version restored" : "Versión restaurada",
+ "Could not restore version" : "No se ha podido restaurar la versión",
+ "Version" : "Versión",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones.",
"Failed to revert {file} to revision {timestamp}." : "No se ha podido restaurar {file} a versión {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Restore" : "Recuperar",
- "No other versions available" : "No hay más versiones disponibles",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones antiguas de los archivos que cambian. Al activarse, se crea una carpeta oculta de versiones que se usa para almacenar versiones antiguas de archivos. Un usuario puede volver a una versión anterior a través de la interfaz web en cualquier momento, con el archivo reemplazado convirtiéndose en una versión. La app maneja automáticamente la carpeta de versiones para asegurarse de que el usuario no se queda sin espacio debido a las versiones.\n\n\t\tAdemás de la caducidad de versiones, la app de versiones se asegura de no usar nunca más del 50% del espacio libre actualmente disponible para un usuario. Si las versiones almacenadas exceden este límite, la app borrará las versiones más antiguas hasta alcanzar este límite. Más información disponible en la documentación de Versiones."
+ "No other versions available" : "No hay más versiones disponibles"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/es_MX.js b/apps/files_versions/l10n/es_MX.js
index 6c835b1cf0a..ef9f7fc948d 100644
--- a/apps/files_versions/l10n/es_MX.js
+++ b/apps/files_versions/l10n/es_MX.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versiones",
"This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones anteriores de archivos que fueron cambiados. ",
+ "Version" : "Versión",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones anteriores de los archivos que se cambian. Al habilitarse, una carpeta oculata de versiones de archivos se aprovisiona en cada directorio del usuario y se usa para almacenar las versiones anteriores de los archivos. Un usuario puede regresar a una versión anterior mediante al interfaz web en cualquier momento, el archivo reemplazado se convierte en una versión. La aplicación administra automáticamente la carpeta de versiones para asegurar que el usuario no agote su Cuota con estas versiones. \n\t\tAdicionalmente a la expiración de las versiones, la aplicación de versiones se asegura de nunca usar mas del 50% del espacio actualmente disponible del usuario. Si las versiones almacenadas exceden este límite, la aplicación borrará las versiones más antiguas hasta que se llegue dentro de este límite. Más información está disponible en la documentacion de Versiones. ",
"Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Restore" : "Restaurar",
- "No other versions available" : "No hay otras versiones disponibles",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones anteriores de los archivos que se cambian. Al habilitarse, una carpeta oculata de versiones de archivos se aprovisiona en cada directorio del usuario y se usa para almacenar las versiones anteriores de los archivos. Un usuario puede regresar a una versión anterior mediante al interfaz web en cualquier momento, el archivo reemplazado se convierte en una versión. La aplicación administra automáticamente la carpeta de versiones para asegurar que el usuario no agote su Cuota con estas versiones. \n\t\tAdicionalmente a la expiración de las versiones, la aplicación de versiones se asegura de nunca usar mas del 50% del espacio actualmente disponible del usuario. Si las versiones almacenadas exceden este límite, la aplicación borrará las versiones más antiguas hasta que se llegue dentro de este límite. Más información está disponible en la documentacion de Versiones. "
+ "No other versions available" : "No hay otras versiones disponibles"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/es_MX.json b/apps/files_versions/l10n/es_MX.json
index 944d659a353..3dfe75fabca 100644
--- a/apps/files_versions/l10n/es_MX.json
+++ b/apps/files_versions/l10n/es_MX.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versiones",
"This application automatically maintains older versions of files that are changed." : "Esta aplicación mantiene automáticamente versiones anteriores de archivos que fueron cambiados. ",
+ "Version" : "Versión",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones anteriores de los archivos que se cambian. Al habilitarse, una carpeta oculata de versiones de archivos se aprovisiona en cada directorio del usuario y se usa para almacenar las versiones anteriores de los archivos. Un usuario puede regresar a una versión anterior mediante al interfaz web en cualquier momento, el archivo reemplazado se convierte en una versión. La aplicación administra automáticamente la carpeta de versiones para asegurar que el usuario no agote su Cuota con estas versiones. \n\t\tAdicionalmente a la expiración de las versiones, la aplicación de versiones se asegura de nunca usar mas del 50% del espacio actualmente disponible del usuario. Si las versiones almacenadas exceden este límite, la aplicación borrará las versiones más antiguas hasta que se llegue dentro de este límite. Más información está disponible en la documentacion de Versiones. ",
"Failed to revert {file} to revision {timestamp}." : "Falla al revertir {file} a revisión {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Restore" : "Restaurar",
- "No other versions available" : "No hay otras versiones disponibles",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantiene automáticamente versiones anteriores de los archivos que se cambian. Al habilitarse, una carpeta oculata de versiones de archivos se aprovisiona en cada directorio del usuario y se usa para almacenar las versiones anteriores de los archivos. Un usuario puede regresar a una versión anterior mediante al interfaz web en cualquier momento, el archivo reemplazado se convierte en una versión. La aplicación administra automáticamente la carpeta de versiones para asegurar que el usuario no agote su Cuota con estas versiones. \n\t\tAdicionalmente a la expiración de las versiones, la aplicación de versiones se asegura de nunca usar mas del 50% del espacio actualmente disponible del usuario. Si las versiones almacenadas exceden este límite, la aplicación borrará las versiones más antiguas hasta que se llegue dentro de este límite. Más información está disponible en la documentacion de Versiones. "
+ "No other versions available" : "No hay otras versiones disponibles"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/et_EE.js b/apps/files_versions/l10n/et_EE.js
index 001b11a12d2..08a395f53ff 100644
--- a/apps/files_versions/l10n/et_EE.js
+++ b/apps/files_versions/l10n/et_EE.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versioonid",
"This application automatically maintains older versions of files that are changed." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone.",
+ "Version" : "Versioon",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. ",
"Failed to revert {file} to revision {timestamp}." : "Ebaõnnestus faili {file} taastamine revisjonile {timestamp}",
"_%n byte_::_%n bytes_" : ["%n bait","%n baiti"],
"Restore" : "Taasta",
- "No other versions available" : "Muid versioone pole saadaval",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. "
+ "No other versions available" : "Muid versioone pole saadaval"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/et_EE.json b/apps/files_versions/l10n/et_EE.json
index 28f03f89978..f690935e689 100644
--- a/apps/files_versions/l10n/et_EE.json
+++ b/apps/files_versions/l10n/et_EE.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versioonid",
"This application automatically maintains older versions of files that are changed." : "See rakendus haldab automaatselt muudetud failide vanemaid versioone.",
+ "Version" : "Versioon",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. ",
"Failed to revert {file} to revision {timestamp}." : "Ebaõnnestus faili {file} taastamine revisjonile {timestamp}",
"_%n byte_::_%n bytes_" : ["%n bait","%n baiti"],
"Restore" : "Taasta",
- "No other versions available" : "Muid versioone pole saadaval",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "See rakendus säilitab automaatselt muudetud failide vanemaid versioone. Kui see on aktiveeritud, luuakse iga kasutaja kataloogis peidetud versioonide kaust, mida kasutatakse vanade failiversioonide säilitamiseks. Kasutaja saab igal ajal veebiliidese kaudu pöörduda tagasi vanema versiooni juurde, kusjuures asendatud failist saab versioon. Rakendus haldab versioonide kausta automaatselt, et tagada, et kasutaja salvestusmaht ei saa versioonide tõttu otsa. Lisaks versioonide aegumisele hoolitseb versioonide rakendus selle eest, et kunagi ei kasutataks rohkem kui 50% kasutaja hetkel kasutatavast vabast ruumist. Kui salvestatud versioonid ületavad selle piiri, kustutab rakendus kõigepealt vanimad versioonid, kuni see piir on saavutatud. Lisateave on saadaval versioonide dokumentatsioonis. "
+ "No other versions available" : "Muid versioone pole saadaval"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/eu.js b/apps/files_versions/l10n/eu.js
index cb64409d55d..ae613f9e089 100644
--- a/apps/files_versions/l10n/eu.js
+++ b/apps/files_versions/l10n/eu.js
@@ -4,10 +4,11 @@ OC.L10N.register(
"Versions" : "Bertsioak",
"This application automatically maintains older versions of files that are changed." : "Aplikazio honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikazio honek automatikoki mantentzen ditu aldatzen diren fitxategien bertsio zaharragoak. Gaituta dagoenean, ezkutuko bertsioen karpeta bat hornitzen da erabiltzaile bakoitzaren direktorioa eta fitxategien bertsio zaharrak gordetzeko erabiltzen da. Erabiltzaileak edozein unetan bertsio zaharrago batera itzul dezake web interfazearen bidez, ordeztutako fitxategia bertsio bihurtuz. Aplikazioak automatikoki kudeatzen du bertsioen karpeta, erabiltzailea bertsioak direla eta kuporik gabe geratuko ez dela ziurtatzeko.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazioak ziurtatzen du ez dela inoiz erabiliko erabiltzailearen gaur egun eskuragarri dagoen espazio librearen %50 baino gehiago. Biltegiratutako bertsioek muga hori gainditzen badute, aplikazioak bertsio zaharrenak ezabatuko ditu aurreko muga hori betetzen duen arte. Informazio gehiago eskuragarri dago bertsioen dokumentazioan.",
+ "Version" : "Bertsioa",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Fitxategi honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu. Aktibatzen denean, bertsioen karpeta ezkutu bat sortzen da erabiltzailearen karpeta barruan eta bertan gordetzen dira bertsio zaharrak. Erabiltzailek edozein bertsio zaharrera itzultzea erabaki dezake web interfazea erabiliz eta ordezkatutako fitxategiak ere beste bertsio bat sortuko du. Aplikazio honek bertsioen karpeta automatikoki kudeatzen du erabiltzaileak bertsioengatik mugarik gainditu ez dezan.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazio honek erabiltzailearen toki libre guztiaren %50 baino gehiago ez erabiltzea bermatzen du. Gordetako bertsioek muga hori gainditzen badut, aplikazioak bertsio zaharrenak ezabatuko ditu muga bete arte. Informazio gehiago lortzeko aplikazioaren dokumentazioa irakurri dezakezu.",
"Failed to revert {file} to revision {timestamp}." : "Errore bat izan da {fitxategia} {timestamp} bertsiora leheneratzean.",
"_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"],
"Restore" : "Berrezarri",
- "No other versions available" : "Ez dago bertsio gehiago eskuragarri",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Fitxategi honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu. Aktibatzen denean, bertsioen karpeta ezkutu bat sortzen da erabiltzailearen karpeta barruan eta bertan gordetzen dira bertsio zaharrak. Erabiltzailek edozein bertsio zaharrera itzultzea erabaki dezake web interfazea erabiliz eta ordezkatutako fitxategiak ere beste bertsio bat sortuko du. Aplikazio honek bertsioen karpeta automatikoki kudeatzen du erabiltzaileak bertsioengatik mugarik gainditu ez dezan.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazio honek erabiltzailearen toki libre guztiaren %50 baino gehiago ez erabiltzea bermatzen du. Gordetako bertsioek muga hori gainditzen badut, aplikazioak bertsio zaharrenak ezabatuko ditu muga bete arte. Informazio gehiago lortzeko aplikazioaren dokumentazioa irakurri dezakezu."
+ "No other versions available" : "Ez dago bertsio gehiago eskuragarri"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/eu.json b/apps/files_versions/l10n/eu.json
index dcd8580d19f..67e6d361fa6 100644
--- a/apps/files_versions/l10n/eu.json
+++ b/apps/files_versions/l10n/eu.json
@@ -2,10 +2,11 @@
"Versions" : "Bertsioak",
"This application automatically maintains older versions of files that are changed." : "Aplikazio honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikazio honek automatikoki mantentzen ditu aldatzen diren fitxategien bertsio zaharragoak. Gaituta dagoenean, ezkutuko bertsioen karpeta bat hornitzen da erabiltzaile bakoitzaren direktorioa eta fitxategien bertsio zaharrak gordetzeko erabiltzen da. Erabiltzaileak edozein unetan bertsio zaharrago batera itzul dezake web interfazearen bidez, ordeztutako fitxategia bertsio bihurtuz. Aplikazioak automatikoki kudeatzen du bertsioen karpeta, erabiltzailea bertsioak direla eta kuporik gabe geratuko ez dela ziurtatzeko.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazioak ziurtatzen du ez dela inoiz erabiliko erabiltzailearen gaur egun eskuragarri dagoen espazio librearen %50 baino gehiago. Biltegiratutako bertsioek muga hori gainditzen badute, aplikazioak bertsio zaharrenak ezabatuko ditu aurreko muga hori betetzen duen arte. Informazio gehiago eskuragarri dago bertsioen dokumentazioan.",
+ "Version" : "Bertsioa",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Fitxategi honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu. Aktibatzen denean, bertsioen karpeta ezkutu bat sortzen da erabiltzailearen karpeta barruan eta bertan gordetzen dira bertsio zaharrak. Erabiltzailek edozein bertsio zaharrera itzultzea erabaki dezake web interfazea erabiliz eta ordezkatutako fitxategiak ere beste bertsio bat sortuko du. Aplikazio honek bertsioen karpeta automatikoki kudeatzen du erabiltzaileak bertsioengatik mugarik gainditu ez dezan.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazio honek erabiltzailearen toki libre guztiaren %50 baino gehiago ez erabiltzea bermatzen du. Gordetako bertsioek muga hori gainditzen badut, aplikazioak bertsio zaharrenak ezabatuko ditu muga bete arte. Informazio gehiago lortzeko aplikazioaren dokumentazioa irakurri dezakezu.",
"Failed to revert {file} to revision {timestamp}." : "Errore bat izan da {fitxategia} {timestamp} bertsiora leheneratzean.",
"_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"],
"Restore" : "Berrezarri",
- "No other versions available" : "Ez dago bertsio gehiago eskuragarri",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Fitxategi honek aldatzen diren fitxategien bertsio zaharrak mantentzen ditu. Aktibatzen denean, bertsioen karpeta ezkutu bat sortzen da erabiltzailearen karpeta barruan eta bertan gordetzen dira bertsio zaharrak. Erabiltzailek edozein bertsio zaharrera itzultzea erabaki dezake web interfazea erabiliz eta ordezkatutako fitxategiak ere beste bertsio bat sortuko du. Aplikazio honek bertsioen karpeta automatikoki kudeatzen du erabiltzaileak bertsioengatik mugarik gainditu ez dezan.\n\t\tBertsioak iraungitzeaz gain, bertsioen aplikazio honek erabiltzailearen toki libre guztiaren %50 baino gehiago ez erabiltzea bermatzen du. Gordetako bertsioek muga hori gainditzen badut, aplikazioak bertsio zaharrenak ezabatuko ditu muga bete arte. Informazio gehiago lortzeko aplikazioaren dokumentazioa irakurri dezakezu."
+ "No other versions available" : "Ez dago bertsio gehiago eskuragarri"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/fa.js b/apps/files_versions/l10n/fa.js
index a00afefb305..f2919518594 100644
--- a/apps/files_versions/l10n/fa.js
+++ b/apps/files_versions/l10n/fa.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "نسخه ها",
"This application automatically maintains older versions of files that are changed." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند.",
+ "Version" : "نسخه",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند. با فعال کردن ، یک پوشه نسخه پنهان در فهرست کاربر هر کاربر ارائه می شود و از آن برای ذخیره نسخه های قدیمی فایل استفاده می شود. کاربر می تواند در هر زمان به نسخه قدیمی تر از طریق رابط وب برگردد ، با این که پرونده جایگزین به نسخه تبدیل شود. این برنامه به طور خودکار پوشه نسخه ها را کنترل می کند تا اطمینان حاصل کند کاربر به دلیل نسخه ها از Quota تمام نمی شود.\nعلاوه بر انقضاء نسخه ها ، برنامه نسخه ها باعث می شود که هرگز از بیش از 50٪ از فضای رایگان فعلی کاربر استفاده نکنید. اگر نسخه های ذخیره شده از این حد فراتر رود ، برنامه ابتدا قدیمی ترین نسخه ها را حذف می کند تا اینکه این حد را برآورده کند. اطلاعات بیشتر در مستندات Versions موجود است.",
"Failed to revert {file} to revision {timestamp}." : "برگرداندن {file} به نسخه {timestamp} با شکست روبرو شد",
"_%n byte_::_%n bytes_" : ["%n بایت","%n بایت"],
"Restore" : "بازیابی",
- "No other versions available" : "نسخه ی دیگری در دسترس نیست",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند. با فعال کردن ، یک پوشه نسخه پنهان در فهرست کاربر هر کاربر ارائه می شود و از آن برای ذخیره نسخه های قدیمی فایل استفاده می شود. کاربر می تواند در هر زمان به نسخه قدیمی تر از طریق رابط وب برگردد ، با این که پرونده جایگزین به نسخه تبدیل شود. این برنامه به طور خودکار پوشه نسخه ها را کنترل می کند تا اطمینان حاصل کند کاربر به دلیل نسخه ها از Quota تمام نمی شود.\nعلاوه بر انقضاء نسخه ها ، برنامه نسخه ها باعث می شود که هرگز از بیش از 50٪ از فضای رایگان فعلی کاربر استفاده نکنید. اگر نسخه های ذخیره شده از این حد فراتر رود ، برنامه ابتدا قدیمی ترین نسخه ها را حذف می کند تا اینکه این حد را برآورده کند. اطلاعات بیشتر در مستندات Versions موجود است."
+ "No other versions available" : "نسخه ی دیگری در دسترس نیست"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_versions/l10n/fa.json b/apps/files_versions/l10n/fa.json
index e19d7be3b69..65709b16895 100644
--- a/apps/files_versions/l10n/fa.json
+++ b/apps/files_versions/l10n/fa.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "نسخه ها",
"This application automatically maintains older versions of files that are changed." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند.",
+ "Version" : "نسخه",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند. با فعال کردن ، یک پوشه نسخه پنهان در فهرست کاربر هر کاربر ارائه می شود و از آن برای ذخیره نسخه های قدیمی فایل استفاده می شود. کاربر می تواند در هر زمان به نسخه قدیمی تر از طریق رابط وب برگردد ، با این که پرونده جایگزین به نسخه تبدیل شود. این برنامه به طور خودکار پوشه نسخه ها را کنترل می کند تا اطمینان حاصل کند کاربر به دلیل نسخه ها از Quota تمام نمی شود.\nعلاوه بر انقضاء نسخه ها ، برنامه نسخه ها باعث می شود که هرگز از بیش از 50٪ از فضای رایگان فعلی کاربر استفاده نکنید. اگر نسخه های ذخیره شده از این حد فراتر رود ، برنامه ابتدا قدیمی ترین نسخه ها را حذف می کند تا اینکه این حد را برآورده کند. اطلاعات بیشتر در مستندات Versions موجود است.",
"Failed to revert {file} to revision {timestamp}." : "برگرداندن {file} به نسخه {timestamp} با شکست روبرو شد",
"_%n byte_::_%n bytes_" : ["%n بایت","%n بایت"],
"Restore" : "بازیابی",
- "No other versions available" : "نسخه ی دیگری در دسترس نیست",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "این برنامه به طور خودکار نسخه های قدیمی تر پرونده های تغییر یافته را حفظ می کند. با فعال کردن ، یک پوشه نسخه پنهان در فهرست کاربر هر کاربر ارائه می شود و از آن برای ذخیره نسخه های قدیمی فایل استفاده می شود. کاربر می تواند در هر زمان به نسخه قدیمی تر از طریق رابط وب برگردد ، با این که پرونده جایگزین به نسخه تبدیل شود. این برنامه به طور خودکار پوشه نسخه ها را کنترل می کند تا اطمینان حاصل کند کاربر به دلیل نسخه ها از Quota تمام نمی شود.\nعلاوه بر انقضاء نسخه ها ، برنامه نسخه ها باعث می شود که هرگز از بیش از 50٪ از فضای رایگان فعلی کاربر استفاده نکنید. اگر نسخه های ذخیره شده از این حد فراتر رود ، برنامه ابتدا قدیمی ترین نسخه ها را حذف می کند تا اینکه این حد را برآورده کند. اطلاعات بیشتر در مستندات Versions موجود است."
+ "No other versions available" : "نسخه ی دیگری در دسترس نیست"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/fi.js b/apps/files_versions/l10n/fi.js
index 36fa9a660dc..0517aa421c9 100644
--- a/apps/files_versions/l10n/fi.js
+++ b/apps/files_versions/l10n/fi.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Versions" : "Versiot",
"This application automatically maintains older versions of files that are changed." : "Tämä sovellus säilyttää automaattisesti vanhempia versioita muuttuneista tiedostoista.",
+ "Version" : "Versio",
"Failed to revert {file} to revision {timestamp}." : "Tiedoston {file} palautus versioon {timestamp} epäonnistui.",
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Restore" : "Palauta",
diff --git a/apps/files_versions/l10n/fi.json b/apps/files_versions/l10n/fi.json
index cb094998f4f..2d4e9a93d58 100644
--- a/apps/files_versions/l10n/fi.json
+++ b/apps/files_versions/l10n/fi.json
@@ -1,6 +1,7 @@
{ "translations": {
"Versions" : "Versiot",
"This application automatically maintains older versions of files that are changed." : "Tämä sovellus säilyttää automaattisesti vanhempia versioita muuttuneista tiedostoista.",
+ "Version" : "Versio",
"Failed to revert {file} to revision {timestamp}." : "Tiedoston {file} palautus versioon {timestamp} epäonnistui.",
"_%n byte_::_%n bytes_" : ["%n tavu","%n tavua"],
"Restore" : "Palauta",
diff --git a/apps/files_versions/l10n/fr.js b/apps/files_versions/l10n/fr.js
index e8afcda426c..5a75ab87d02 100644
--- a/apps/files_versions/l10n/fr.js
+++ b/apps/files_versions/l10n/fr.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Versions",
"This application automatically maintains older versions of files that are changed." : "Cette application conserve automatiquement des anciennes versions de fichiers qui ont été modifiés.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\n\t\tEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions.",
+ "Download version" : "Télécharger la version",
+ "Restore version" : "Restaurer la version",
+ "No versions yet" : "Aucune version pour l'instant",
+ "Version restored" : "Version restaurée",
+ "Could not restore version" : "Impossible de restaurer la version",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\nEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions.",
"Failed to revert {file} to revision {timestamp}." : "Échec de la restauration du fichier {file} à la révision {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n octet","%n octets","%n octets"],
"Restore" : "Restaurer",
- "No other versions available" : "Aucune autre version n'est disponible",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\nEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions."
+ "No other versions available" : "Aucune autre version n'est disponible"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/fr.json b/apps/files_versions/l10n/fr.json
index c589e37e4f9..3349c9ba550 100644
--- a/apps/files_versions/l10n/fr.json
+++ b/apps/files_versions/l10n/fr.json
@@ -2,10 +2,16 @@
"Versions" : "Versions",
"This application automatically maintains older versions of files that are changed." : "Cette application conserve automatiquement des anciennes versions de fichiers qui ont été modifiés.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\n\t\tEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions.",
+ "Download version" : "Télécharger la version",
+ "Restore version" : "Restaurer la version",
+ "No versions yet" : "Aucune version pour l'instant",
+ "Version restored" : "Version restaurée",
+ "Could not restore version" : "Impossible de restaurer la version",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\nEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions.",
"Failed to revert {file} to revision {timestamp}." : "Échec de la restauration du fichier {file} à la révision {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n octet","%n octets","%n octets"],
"Restore" : "Restaurer",
- "No other versions available" : "Aucune autre version n'est disponible",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Cette application maintient automatiquement les anciennes versions des fichiers qui sont modifiés. Lorsqu'elle est activée, un dossier de versions cachées est provisionné dans le répertoire de chaque utilisateur et est utilisé pour stocker les anciennes versions de fichiers. Un utilisateur peut à tout moment revenir à une ancienne version via l'interface Web, le fichier remplacé devenant à son tour une version. L'application gère automatiquement le dossier des versions pour s'assurer que l'utilisateur ne manque pas de place à cause des versions stockées.\nEn plus de l'expiration des versions, l'application veille à ne jamais utiliser plus de 50% de l'espace libre actuellement disponible pour l'utilisateur. Si les versions stockées dépassent cette limite, l'application supprime les versions les plus anciennes en premier jusqu'à ce qu'elle atteigne cette limite. Plus d'informations sont disponibles dans la documentation Versions."
+ "No other versions available" : "Aucune autre version n'est disponible"
},"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_versions/l10n/gl.js b/apps/files_versions/l10n/gl.js
index a9e2b711808..ba5ac5f490a 100644
--- a/apps/files_versions/l10n/gl.js
+++ b/apps/files_versions/l10n/gl.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versións",
"This application automatically maintains older versions of files that are changed." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian.",
+ "Version" : "Versión",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións.",
"Failed to revert {file} to revision {timestamp}." : "Non foi posíbel reverter {file} á revisión {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Restaurar",
- "No other versions available" : "Non hai outras versións dispoñíbeis",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións."
+ "No other versions available" : "Non hai outras versións dispoñíbeis"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/gl.json b/apps/files_versions/l10n/gl.json
index 8aeceb1beaa..1282df0c01f 100644
--- a/apps/files_versions/l10n/gl.json
+++ b/apps/files_versions/l10n/gl.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versións",
"This application automatically maintains older versions of files that are changed." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian.",
+ "Version" : "Versión",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións.",
"Failed to revert {file} to revision {timestamp}." : "Non foi posíbel reverter {file} á revisión {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Restaurar",
- "No other versions available" : "Non hai outras versións dispoñíbeis",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Esta aplicación mantén automaticamente versións antigas dos ficheiros que cambian. Ao activarse, crease un cartafol agochado de versións que se emprega para almacenar versións antigas de ficheiros. Un usuario pode reverter cara a unha versión anterior a través da interface web en calquera momento, co ficheiro substituído converténdose nunha versión. A aplicación xestiona automaticamente o cartafol de versións para asegurarse de que o usuario non queda sen espazo por mor das versións.\n\t\tAdemais da caducidade de versións, a aplicación de versións asegurase de non empregar nunca máis do 50% do espazo libre actualmente dispoñíbel para un usuario. Se as versións almacenadas exceden este límite, a aplicación eliminará as versións máis antigas ata acadar este límite. Hai máis información dispoñíbel na documentación de Versións."
+ "No other versions available" : "Non hai outras versións dispoñíbeis"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/he.js b/apps/files_versions/l10n/he.js
index 9941cb29468..edeac4bb278 100644
--- a/apps/files_versions/l10n/he.js
+++ b/apps/files_versions/l10n/he.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "גרסאות",
"This application automatically maintains older versions of files that are changed." : "יישומון זה שומר אוטומטית על גרסאות קודמות של קבצים שהשתנו.",
+ "Version" : "גרסה",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions.",
"Failed to revert {file} to revision {timestamp}." : "נכשל אחזור {file} לגרסה {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים","%n בייטים","%n בייטים"],
"Restore" : "שחזור",
- "No other versions available" : "אין גרסאות אחרות זמינות",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions."
+ "No other versions available" : "אין גרסאות אחרות זמינות"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/files_versions/l10n/he.json b/apps/files_versions/l10n/he.json
index d2a707a3897..91c9f75130d 100644
--- a/apps/files_versions/l10n/he.json
+++ b/apps/files_versions/l10n/he.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "גרסאות",
"This application automatically maintains older versions of files that are changed." : "יישומון זה שומר אוטומטית על גרסאות קודמות של קבצים שהשתנו.",
+ "Version" : "גרסה",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions.",
"Failed to revert {file} to revision {timestamp}." : "נכשל אחזור {file} לגרסה {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n בייט","%n בייטים","%n בייטים","%n בייטים"],
"Restore" : "שחזור",
- "No other versions available" : "אין גרסאות אחרות זמינות",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "יישום זה מתחזק באופן אוטומטי גרסאות ישנות יותר של קבצים שמשתנים. כאשר היא מופעלת, תיקייה של גרסאות נסתרות מסופקת בספריה של כל משתמש, ומשמשת לאחסן גרסאות קבצים ישנות. משתמש יכול לחזור לגרסה ישנה יותר באמצעות ממשק האינטרנט בכל עת, כאשר הקובץ שהוחלף יהפוך לגרסה. האפליקציה מנהלת באופן אוטומטי את תיקיית הגרסאות כדי להבטיח שלמשתמש לא נגמר המכסה בגלל גרסאות.\nבנוסף לתום תפוגת הגרסאות, אפליקציית הגרסאות מקפידה שלא להשתמש ביותר מ -50% מהשטח הפנוי של המשתמש הזמין כרגע. אם גרסאות מאוחסנות חורגות ממגבלה זו, האפליקציה תמחק תחילה את הגרסאות העתיקות ביותר, עד שתעמוד במגבלה זו. מידע נוסף זמין בתיעוד ה-Versions."
+ "No other versions available" : "אין גרסאות אחרות זמינות"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/hr.js b/apps/files_versions/l10n/hr.js
index afafc69c3bc..a5a02529866 100644
--- a/apps/files_versions/l10n/hr.js
+++ b/apps/files_versions/l10n/hr.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Inačice",
"This application automatically maintains older versions of files that are changed." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene.",
+ "Version" : "Inačica",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice.",
"Failed to revert {file} to revision {timestamp}." : "Neuspješno vraćanje {file} na reviziju {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajtova","%n bajtova"],
"Restore" : "Vrati",
- "No other versions available" : "Nema drugih inačica",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice."
+ "No other versions available" : "Nema drugih inačica"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/files_versions/l10n/hr.json b/apps/files_versions/l10n/hr.json
index 3fdf9081424..76607baf3e9 100644
--- a/apps/files_versions/l10n/hr.json
+++ b/apps/files_versions/l10n/hr.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Inačice",
"This application automatically maintains older versions of files that are changed." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene.",
+ "Version" : "Inačica",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice.",
"Failed to revert {file} to revision {timestamp}." : "Neuspješno vraćanje {file} na reviziju {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajtova","%n bajtova"],
"Restore" : "Vrati",
- "No other versions available" : "Nema drugih inačica",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ova aplikacija automatski održava starije inačice datoteka koje su promijenjene. Kad se omogući, u direktoriju svakog korisnika stvori se skrivena mapa s inačicama i koristi za pohranu starih inačica datoteka. Korisnik se u bilo kojem trenutku može vratiti na stariju inačicu putem web sučelja, a zamijenjena datoteka postaje inačica. Aplikacija automatski upravlja mapom s inačicama kako bi se osiguralo da korisnik ne ostane bez prostora zbog brojnih inačica.\n\t\tOsim isteka inačica, aplikacija za inačice pazi da nikada ne iskoristite više od 50 % trenutno dostupnog slobodnog prostora. Ako pohranjene inačice premaše ovo ograničenje, aplikacija će najprije izbrisati najstarije inačice tako da dosegne navedeno ograničenje. Više informacija dostupno je u dokumentaciji Inačice."
+ "No other versions available" : "Nema drugih inačica"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/hu.js b/apps/files_versions/l10n/hu.js
index 4b04a14cdaf..bac43ccc2b1 100644
--- a/apps/files_versions/l10n/hu.js
+++ b/apps/files_versions/l10n/hu.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Verziók",
"This application automatically maintains older versions of files that are changed." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában.",
+ "Download version" : "Verzió letöltése",
+ "Restore version" : "Verzió helyreállítása",
+ "No versions yet" : "Még nincsenek verziók",
+ "Version restored" : "Verzió helyreállítva",
+ "Could not restore version" : "Nem sikerült helyreállítani a verziót",
+ "Version" : "Verzió",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában.",
"Failed to revert {file} to revision {timestamp}." : "A(z) {file} fájlt nem sikerült erre visszaállítani: {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"],
"Restore" : "Visszaállítás",
- "No other versions available" : "Nincs másik elérhető verzió",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában."
+ "No other versions available" : "Nincs másik elérhető verzió"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/hu.json b/apps/files_versions/l10n/hu.json
index ba4bfed0091..83a63fea953 100644
--- a/apps/files_versions/l10n/hu.json
+++ b/apps/files_versions/l10n/hu.json
@@ -2,10 +2,16 @@
"Versions" : "Verziók",
"This application automatically maintains older versions of files that are changed." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában.",
+ "Download version" : "Verzió letöltése",
+ "Restore version" : "Verzió helyreállítása",
+ "No versions yet" : "Még nincsenek verziók",
+ "Version restored" : "Verzió helyreállítva",
+ "Could not restore version" : "Nem sikerült helyreállítani a verziót",
+ "Version" : "Verzió",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában.",
"Failed to revert {file} to revision {timestamp}." : "A(z) {file} fájlt nem sikerült erre visszaállítani: {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bájt","%n bájt"],
"Restore" : "Visszaállítás",
- "No other versions available" : "Nincs másik elérhető verzió",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ez az alkalmazás automatikusan karbantartja a változtatott fájlok régebbi verzióit. Amikor be van kapcsolva, egy rejtett verziómappa jön létre minden felhasználó tárhelyén, amit a korábbi verziók tárolására használ a rendszer. Egy felhasználó bármikor visszatérhet egy korábbi verzióhoz a webes felületen keresztül, és a lecserélt fájl maga is előzménnyé válik. Az alkalmazás automatikusan kezeli a verziómappát, biztosítva, hogy a felhasználó ne fusson ki a tárterületéből az előzmények miatt.\n\t\tA fájlelőzmények lejárati dátumán kívül az alkalmazás sose használ az elérhető szabad terület 50%-ánál többet. Ha a tárolt előzmények túllépik ezt a korlátot, az alkalmazás addig törli a legrégebbi verziókat, amíg nem felel meg a korlátozásnak. További információ érhető el a Verziók dokumentációjában."
+ "No other versions available" : "Nincs másik elérhető verzió"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/id.js b/apps/files_versions/l10n/id.js
index 3fb4aebe94c..35ad4ded36e 100644
--- a/apps/files_versions/l10n/id.js
+++ b/apps/files_versions/l10n/id.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versi",
"This application automatically maintains older versions of files that are changed." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah.",
+ "Version" : "Versi",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi",
"Failed to revert {file} to revision {timestamp}." : "Gagal mengembalikan {file} ke revisi {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bytes"],
"Restore" : "Pulihkan",
- "No other versions available" : "Tidak ada versi lain yang tersedia",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi"
+ "No other versions available" : "Tidak ada versi lain yang tersedia"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/id.json b/apps/files_versions/l10n/id.json
index 2ddf7452f4a..4b38ca58c70 100644
--- a/apps/files_versions/l10n/id.json
+++ b/apps/files_versions/l10n/id.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versi",
"This application automatically maintains older versions of files that are changed." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah.",
+ "Version" : "Versi",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi",
"Failed to revert {file} to revision {timestamp}." : "Gagal mengembalikan {file} ke revisi {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bytes"],
"Restore" : "Pulihkan",
- "No other versions available" : "Tidak ada versi lain yang tersedia",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikasi ini secara otomatis memelihara versi-versi sebelumnya dari berkas yang telah diubah. Saat diaktifkan, suatu folder tersembunyi akan dibuat pada semua direktori pengguna, dan digunakan sebagai wadah penyimpanan versi-versi berkas. Secara otomatis akan mengelola folder versi-versi untuk memastikan pengguna tidak kehabisan kuota dikarenakan versi yang ada.\n\t\tSebagai tambahan dari kedaluwarsa suatu versi, aplikasi ini memastikan tidak akan menggunakan kuota 50% lebih dari sisa kapasitas yang dimiliki oleh pengguna. Jika versi yang tersimpan melampaui batasan, maka versi tertua akan dihapus lebih dahulu sampai batasan kembali sesuai ketentuan. Informasi lebih lanjut mengenai Versi dapat dilihat pada dokumentasi"
+ "No other versions available" : "Tidak ada versi lain yang tersedia"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/is.js b/apps/files_versions/l10n/is.js
index e18151f5836..8363f167ab4 100644
--- a/apps/files_versions/l10n/is.js
+++ b/apps/files_versions/l10n/is.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Versions" : "Útgáfur",
"This application automatically maintains older versions of files that are changed." : "Þetta forrit viðheldur sjálfvirkt eldri útgáfum skráa sem er breytt.",
+ "Version" : "Útgáfa",
"Failed to revert {file} to revision {timestamp}." : "Mistókst að endurheimta {file} útgáfu {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bæti","%n bæti"],
"Restore" : "Endurheimta",
diff --git a/apps/files_versions/l10n/is.json b/apps/files_versions/l10n/is.json
index 60a3bdd0fa8..0ccabe8a7d3 100644
--- a/apps/files_versions/l10n/is.json
+++ b/apps/files_versions/l10n/is.json
@@ -1,6 +1,7 @@
{ "translations": {
"Versions" : "Útgáfur",
"This application automatically maintains older versions of files that are changed." : "Þetta forrit viðheldur sjálfvirkt eldri útgáfum skráa sem er breytt.",
+ "Version" : "Útgáfa",
"Failed to revert {file} to revision {timestamp}." : "Mistókst að endurheimta {file} útgáfu {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bæti","%n bæti"],
"Restore" : "Endurheimta",
diff --git a/apps/files_versions/l10n/it.js b/apps/files_versions/l10n/it.js
index 854de323a05..a1ac9c71a78 100644
--- a/apps/files_versions/l10n/it.js
+++ b/apps/files_versions/l10n/it.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versioni",
"This application automatically maintains older versions of files that are changed." : "Questa applicazione mantiene automaticamente versioni più datate dei file modificati.",
+ "Version" : "Versione",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Questa applicazione conserva automaticamente versioni più datate dei file che sono stati modificati. Se abilitata, una cartella nascosta delle versioni è generata in ogni cartella degli utenti ed è utilizzata per archiviare le versioni datate dei file. Un utente può tornare a una versione più datata tramite l'interfaccia web in qualsiasi momento, con il file sostituito che diventa una versione. L'applicazione gestisce automaticamente la cartella delle versioni per assicurare che l'utente non esaurisca mai la quota a causa delle versioni.\n\t\tIn aggiunta alla scadenza delle versioni, l'applicazione delle versioni si accerta che non sia utilizzato mai più del 50% dello spazio disponibile attualmente all'utente. Se le versioni archiviate eccedono questo limite, l'applicazione eliminerà prima le versioni più vecchie, fino a raggiungere questo limite. Altre informazioni sono disponibili nella documentazione di Versioni.",
"Failed to revert {file} to revision {timestamp}." : "Ripristino di {file} alla revisione {timestamp} non riuscito.",
"_%n byte_::_%n bytes_" : ["%n byte","%n byte","%n byte"],
"Restore" : "Ripristina",
- "No other versions available" : "Non sono disponibili altre versioni",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Questa applicazione conserva automaticamente versioni più datate dei file che sono stati modificati. Se abilitata, una cartella nascosta delle versioni è generata in ogni cartella degli utenti ed è utilizzata per archiviare le versioni datate dei file. Un utente può tornare a una versione più datata tramite l'interfaccia web in qualsiasi momento, con il file sostituito che diventa una versione. L'applicazione gestisce automaticamente la cartella delle versioni per assicurare che l'utente non esaurisca mai la quota a causa delle versioni.\n\t\tIn aggiunta alla scadenza delle versioni, l'applicazione delle versioni si accerta che non sia utilizzato mai più del 50% dello spazio disponibile attualmente all'utente. Se le versioni archiviate eccedono questo limite, l'applicazione eliminerà prima le versioni più vecchie, fino a raggiungere questo limite. Altre informazioni sono disponibili nella documentazione di Versioni."
+ "No other versions available" : "Non sono disponibili altre versioni"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/it.json b/apps/files_versions/l10n/it.json
index d4cb3bbbdc9..4ef928bc105 100644
--- a/apps/files_versions/l10n/it.json
+++ b/apps/files_versions/l10n/it.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versioni",
"This application automatically maintains older versions of files that are changed." : "Questa applicazione mantiene automaticamente versioni più datate dei file modificati.",
+ "Version" : "Versione",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Questa applicazione conserva automaticamente versioni più datate dei file che sono stati modificati. Se abilitata, una cartella nascosta delle versioni è generata in ogni cartella degli utenti ed è utilizzata per archiviare le versioni datate dei file. Un utente può tornare a una versione più datata tramite l'interfaccia web in qualsiasi momento, con il file sostituito che diventa una versione. L'applicazione gestisce automaticamente la cartella delle versioni per assicurare che l'utente non esaurisca mai la quota a causa delle versioni.\n\t\tIn aggiunta alla scadenza delle versioni, l'applicazione delle versioni si accerta che non sia utilizzato mai più del 50% dello spazio disponibile attualmente all'utente. Se le versioni archiviate eccedono questo limite, l'applicazione eliminerà prima le versioni più vecchie, fino a raggiungere questo limite. Altre informazioni sono disponibili nella documentazione di Versioni.",
"Failed to revert {file} to revision {timestamp}." : "Ripristino di {file} alla revisione {timestamp} non riuscito.",
"_%n byte_::_%n bytes_" : ["%n byte","%n byte","%n byte"],
"Restore" : "Ripristina",
- "No other versions available" : "Non sono disponibili altre versioni",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Questa applicazione conserva automaticamente versioni più datate dei file che sono stati modificati. Se abilitata, una cartella nascosta delle versioni è generata in ogni cartella degli utenti ed è utilizzata per archiviare le versioni datate dei file. Un utente può tornare a una versione più datata tramite l'interfaccia web in qualsiasi momento, con il file sostituito che diventa una versione. L'applicazione gestisce automaticamente la cartella delle versioni per assicurare che l'utente non esaurisca mai la quota a causa delle versioni.\n\t\tIn aggiunta alla scadenza delle versioni, l'applicazione delle versioni si accerta che non sia utilizzato mai più del 50% dello spazio disponibile attualmente all'utente. Se le versioni archiviate eccedono questo limite, l'applicazione eliminerà prima le versioni più vecchie, fino a raggiungere questo limite. Altre informazioni sono disponibili nella documentazione di Versioni."
+ "No other versions available" : "Non sono disponibili altre versioni"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/ja.js b/apps/files_versions/l10n/ja.js
index b2512cf91f9..04b0e135726 100644
--- a/apps/files_versions/l10n/ja.js
+++ b/apps/files_versions/l10n/ja.js
@@ -4,10 +4,11 @@ OC.L10N.register(
"Versions" : "バージョン",
"This application automatically maintains older versions of files that are changed." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。\n\t\tバージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。",
+ "Version" : "バージョン",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。",
"Failed to revert {file} to revision {timestamp}." : "{file} を {timestamp} のリビジョンに戻すことができません。",
"_%n byte_::_%n bytes_" : ["%n バイト"],
"Restore" : "復元",
- "No other versions available" : "利用可能なバージョンはありません",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。"
+ "No other versions available" : "利用可能なバージョンはありません"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/ja.json b/apps/files_versions/l10n/ja.json
index 03ac05b7bf8..0078117dbcb 100644
--- a/apps/files_versions/l10n/ja.json
+++ b/apps/files_versions/l10n/ja.json
@@ -2,10 +2,11 @@
"Versions" : "バージョン",
"This application automatically maintains older versions of files that are changed." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。\n\t\tバージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。",
+ "Version" : "バージョン",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。",
"Failed to revert {file} to revision {timestamp}." : "{file} を {timestamp} のリビジョンに戻すことができません。",
"_%n byte_::_%n bytes_" : ["%n バイト"],
"Restore" : "復元",
- "No other versions available" : "利用可能なバージョンはありません",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "このアプリケーションは、変更された古いバージョンのファイルを自動的に維持します。 有効にすると、隠れバージョンフォルダーはすべてのユーザーのディレクトリにプロビジョニングされ、古いファイルバージョンを格納するために使用されます。 ユーザーはいつでもWebインターフェイスから古いバージョンに戻すことができ、置き換えられたファイルはバージョン管理されます。 バージョン管理のためにクオータが足りなくなっていないことを保証するために、バージョンフォルダーを自動的に管理します。バージョンの有効期限に加えて、バージョン管理アプリは、ユーザーが現在利用可能な空き容量の50%以上利用しないように維持します。 保存されたバージョンがこの制限を超えた場合、アプリはこの制限を満たすまで、最も古いバージョンを最初に削除します。 詳細は、バージョンのドキュメントを参照してください。"
+ "No other versions available" : "利用可能なバージョンはありません"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/ko.js b/apps/files_versions/l10n/ko.js
index 466ce184f89..a7c3ad3ba45 100644
--- a/apps/files_versions/l10n/ko.js
+++ b/apps/files_versions/l10n/ko.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "버전",
"This application automatically maintains older versions of files that are changed." : "이 앱은 변경된 파일의 이전 버전을 관리합니다.",
+ "Version" : "버전",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "이 앱은 변경된 파일의 이전 버전을 관리합니다. 이 앱을 활성화하면 개별 사용자 디렉터리 아래에 숨김 버전 폴더를 생성하며 이전 버전의 파일을 저장합니다. 웹 인터페이스를 사용하여 파일의 이전 버전으로 복원할 수 있으며, 대체된 파일은 새로운 버전으로 간주됩니다. 앱에서 버전 폴더의 크기를 자동으로 관리하여 이전 버전 때문에 할당량을 초과하는 일을 방지합니다.\n\t\t이전 버전 자동 삭제 외에도 버전 앱에서는 사용자의 현재 남은 공간의 50% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오.",
"Failed to revert {file} to revision {timestamp}." : "{file}을(를) 리비전 {timestamp}(으)로 되돌리는 데 실패했습니다.",
"_%n byte_::_%n bytes_" : ["%n바이트"],
"Restore" : "복원",
- "No other versions available" : "다른 버전을 사용할 수 없음",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "이 앱은 변경된 파일의 이전 버전을 관리합니다. 이 앱을 활성화하면 개별 사용자 디렉터리 아래에 숨김 버전 폴더를 생성하며 이전 버전의 파일을 저장합니다. 웹 인터페이스를 사용하여 파일의 이전 버전으로 복원할 수 있으며, 대체된 파일은 새로운 버전으로 간주됩니다. 앱에서 버전 폴더의 크기를 자동으로 관리하여 이전 버전 때문에 할당량을 초과하는 일을 방지합니다.\n\t\t이전 버전 자동 삭제 외에도 버전 앱에서는 사용자의 현재 남은 공간의 50% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오."
+ "No other versions available" : "다른 버전을 사용할 수 없음"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/ko.json b/apps/files_versions/l10n/ko.json
index 952586b351f..0e2507798ea 100644
--- a/apps/files_versions/l10n/ko.json
+++ b/apps/files_versions/l10n/ko.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "버전",
"This application automatically maintains older versions of files that are changed." : "이 앱은 변경된 파일의 이전 버전을 관리합니다.",
+ "Version" : "버전",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "이 앱은 변경된 파일의 이전 버전을 관리합니다. 이 앱을 활성화하면 개별 사용자 디렉터리 아래에 숨김 버전 폴더를 생성하며 이전 버전의 파일을 저장합니다. 웹 인터페이스를 사용하여 파일의 이전 버전으로 복원할 수 있으며, 대체된 파일은 새로운 버전으로 간주됩니다. 앱에서 버전 폴더의 크기를 자동으로 관리하여 이전 버전 때문에 할당량을 초과하는 일을 방지합니다.\n\t\t이전 버전 자동 삭제 외에도 버전 앱에서는 사용자의 현재 남은 공간의 50% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오.",
"Failed to revert {file} to revision {timestamp}." : "{file}을(를) 리비전 {timestamp}(으)로 되돌리는 데 실패했습니다.",
"_%n byte_::_%n bytes_" : ["%n바이트"],
"Restore" : "복원",
- "No other versions available" : "다른 버전을 사용할 수 없음",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "이 앱은 변경된 파일의 이전 버전을 관리합니다. 이 앱을 활성화하면 개별 사용자 디렉터리 아래에 숨김 버전 폴더를 생성하며 이전 버전의 파일을 저장합니다. 웹 인터페이스를 사용하여 파일의 이전 버전으로 복원할 수 있으며, 대체된 파일은 새로운 버전으로 간주됩니다. 앱에서 버전 폴더의 크기를 자동으로 관리하여 이전 버전 때문에 할당량을 초과하는 일을 방지합니다.\n\t\t이전 버전 자동 삭제 외에도 버전 앱에서는 사용자의 현재 남은 공간의 50% 이상을 사용하지 않습니다. 저장된 버전이 해당 할당량을 초과한다면 할당량 이하로 떨어질 때까지 앱에서 가장 오래된 버전을 삭제합니다. 자세한 정보를 보려면 버전 문서를 참조하십시오."
+ "No other versions available" : "다른 버전을 사용할 수 없음"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/lt_LT.js b/apps/files_versions/l10n/lt_LT.js
index 3ca763c08f3..0bf9f252c84 100644
--- a/apps/files_versions/l10n/lt_LT.js
+++ b/apps/files_versions/l10n/lt_LT.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versijos",
"This application automatically maintains older versions of files that are changed." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas.",
+ "Version" : "Versija",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas. Kai ji įjungiama, kiekvieno naudotojo kataloge yra nustatomas paslėptų versijų aplankas, kuris naudojamas senoms failų versijoms saugoti. Naudotojas naudodamas žiniatinklio sąsają gali bet kada grįžti prie senesnės versijos. Programa automatiškai administruoja versijų aplanką ir užtikrina, kad nauotojui nepritrūktų suteiktos vietos dėl versijavimo.\n\t\t Be to, programa užtikrina, kad versijavimas nenaudotų daugiau nei 50% naudotojui suteiktos laisvos vietos. Jei saugomos versijos viršija šią ribą, programa pirmiausia ištrins seniausias versijas, kol pasieks šią ribą. Daugiau informacijos galima rasti versijavimo dokumentacijoje.",
"Failed to revert {file} to revision {timestamp}." : "Nepavyko atstatyti {file} versijos {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų","%n baitas"],
"Restore" : "Atkurti",
- "No other versions available" : "Nėra kitų prieinamų versijų",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas. Kai ji įjungiama, kiekvieno naudotojo kataloge yra nustatomas paslėptų versijų aplankas, kuris naudojamas senoms failų versijoms saugoti. Naudotojas naudodamas žiniatinklio sąsają gali bet kada grįžti prie senesnės versijos. Programa automatiškai administruoja versijų aplanką ir užtikrina, kad nauotojui nepritrūktų suteiktos vietos dėl versijavimo.\n\t\t Be to, programa užtikrina, kad versijavimas nenaudotų daugiau nei 50% naudotojui suteiktos laisvos vietos. Jei saugomos versijos viršija šią ribą, programa pirmiausia ištrins seniausias versijas, kol pasieks šią ribą. Daugiau informacijos galima rasti versijavimo dokumentacijoje."
+ "No other versions available" : "Nėra kitų prieinamų versijų"
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/files_versions/l10n/lt_LT.json b/apps/files_versions/l10n/lt_LT.json
index 718112fc56d..032119b92c7 100644
--- a/apps/files_versions/l10n/lt_LT.json
+++ b/apps/files_versions/l10n/lt_LT.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versijos",
"This application automatically maintains older versions of files that are changed." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas.",
+ "Version" : "Versija",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas. Kai ji įjungiama, kiekvieno naudotojo kataloge yra nustatomas paslėptų versijų aplankas, kuris naudojamas senoms failų versijoms saugoti. Naudotojas naudodamas žiniatinklio sąsają gali bet kada grįžti prie senesnės versijos. Programa automatiškai administruoja versijų aplanką ir užtikrina, kad nauotojui nepritrūktų suteiktos vietos dėl versijavimo.\n\t\t Be to, programa užtikrina, kad versijavimas nenaudotų daugiau nei 50% naudotojui suteiktos laisvos vietos. Jei saugomos versijos viršija šią ribą, programa pirmiausia ištrins seniausias versijas, kol pasieks šią ribą. Daugiau informacijos galima rasti versijavimo dokumentacijoje.",
"Failed to revert {file} to revision {timestamp}." : "Nepavyko atstatyti {file} versijos {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n baitas","%n baitai","%n baitų","%n baitas"],
"Restore" : "Atkurti",
- "No other versions available" : "Nėra kitų prieinamų versijų",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ši programa automatiškai palaiko senesnes pakeistų failų versijas. Kai ji įjungiama, kiekvieno naudotojo kataloge yra nustatomas paslėptų versijų aplankas, kuris naudojamas senoms failų versijoms saugoti. Naudotojas naudodamas žiniatinklio sąsają gali bet kada grįžti prie senesnės versijos. Programa automatiškai administruoja versijų aplanką ir užtikrina, kad nauotojui nepritrūktų suteiktos vietos dėl versijavimo.\n\t\t Be to, programa užtikrina, kad versijavimas nenaudotų daugiau nei 50% naudotojui suteiktos laisvos vietos. Jei saugomos versijos viršija šią ribą, programa pirmiausia ištrins seniausias versijas, kol pasieks šią ribą. Daugiau informacijos galima rasti versijavimo dokumentacijoje."
+ "No other versions available" : "Nėra kitų prieinamų versijų"
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/lv.js b/apps/files_versions/l10n/lv.js
index f61fff9b8d1..109c867101d 100644
--- a/apps/files_versions/l10n/lv.js
+++ b/apps/files_versions/l10n/lv.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"Versions" : "Versijas",
"This application automatically maintains older versions of files that are changed." : "Šī lietotne automātiski uztur vecākas versijas datnēm, kas tiek izmainītas.",
+ "Version" : "Versija",
"Failed to revert {file} to revision {timestamp}." : "Neizdevās atjaunot {file} no rediģējuma {timestamp} ",
"_%n byte_::_%n bytes_" : ["%n baiti","%n baiti","%n baiti"],
"Restore" : "Atjaunot",
diff --git a/apps/files_versions/l10n/lv.json b/apps/files_versions/l10n/lv.json
index 7acbe5f7b15..46d90c62b7a 100644
--- a/apps/files_versions/l10n/lv.json
+++ b/apps/files_versions/l10n/lv.json
@@ -1,6 +1,7 @@
{ "translations": {
"Versions" : "Versijas",
"This application automatically maintains older versions of files that are changed." : "Šī lietotne automātiski uztur vecākas versijas datnēm, kas tiek izmainītas.",
+ "Version" : "Versija",
"Failed to revert {file} to revision {timestamp}." : "Neizdevās atjaunot {file} no rediģējuma {timestamp} ",
"_%n byte_::_%n bytes_" : ["%n baiti","%n baiti","%n baiti"],
"Restore" : "Atjaunot",
diff --git a/apps/files_versions/l10n/mk.js b/apps/files_versions/l10n/mk.js
index 5006157dd6b..4ddebd75fb9 100644
--- a/apps/files_versions/l10n/mk.js
+++ b/apps/files_versions/l10n/mk.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Верзии",
"This application automatically maintains older versions of files that are changed." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.",
+ "Download version" : "Преземи верзија",
+ "Restore version" : "Врати ја оваа верзија",
+ "No versions yet" : "Сеуште нема верзии",
+ "Version restored" : "Верзијата е вратена",
+ "Could not restore version" : "Неможе да се врати верзијата",
+ "Version" : "Верзија",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.",
"Failed to revert {file} to revision {timestamp}." : "Не успеав да го вратам {file} на ревизијата {timestamp}.",
"_%n byte_::_%n bytes_" : ["1 бајт","%n бајти"],
"Restore" : "Врати",
- "No other versions available" : "Не постојат други верзии",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки."
+ "No other versions available" : "Не постојат други верзии"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/files_versions/l10n/mk.json b/apps/files_versions/l10n/mk.json
index 737149dc75a..540b81864ab 100644
--- a/apps/files_versions/l10n/mk.json
+++ b/apps/files_versions/l10n/mk.json
@@ -2,10 +2,16 @@
"Versions" : "Верзии",
"This application automatically maintains older versions of files that are changed." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.",
+ "Download version" : "Преземи верзија",
+ "Restore version" : "Врати ја оваа верзија",
+ "No versions yet" : "Сеуште нема верзии",
+ "Version restored" : "Верзијата е вратена",
+ "Could not restore version" : "Неможе да се врати верзијата",
+ "Version" : "Верзија",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки.",
"Failed to revert {file} to revision {timestamp}." : "Не успеав да го вратам {file} на ревизијата {timestamp}.",
"_%n byte_::_%n bytes_" : ["1 бајт","%n бајти"],
"Restore" : "Врати",
- "No other versions available" : "Не постојат други верзии",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Оваа апликација автоматски ги менаџира постарите верзии на датотеките кој се изменети. Кога е овозможена, скриена папка се креира во секој кориснички директориум и се користи за зачувување на постарите верзии на датотеките. Корисникот има можност да врати стара верзија од датотеката во секое време преку веб-интерфејсот, со што се преклопува постоечката верзија на датотеката. Апликацијата автоматски се грижи за верзиите за да не дојде случај да се искористи просторот за складирање на корисникот.\n\t\tПокрај истекот на верзиите, апликацијата за верзии нема да користи повеќе од 50% од тековно достапната квота за верзии. Ако зачуваните верзии ја надминат оваа граница, апликацијата ги брише најстарите верзии на датотеки сè додека не се дојде под ова ограничување. Повеќе информации се достапни во документацијата за верзии на датотеки."
+ "No other versions available" : "Не постојат други верзии"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/nb.js b/apps/files_versions/l10n/nb.js
index 12c09dd6d4b..2257289cbd6 100644
--- a/apps/files_versions/l10n/nb.js
+++ b/apps/files_versions/l10n/nb.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versjoner",
"This application automatically maintains older versions of files that are changed." : "Dette programmet vedlikeholder eldre versjoner av endrede filer.",
+ "Version" : "Versjon",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Dette programmet vedlikeholder eldre versjoner av endrede filer. Når den aktiveres, legges det inn en skjult mappe i alle brukeres kataloger og brukes til å lagre eldre filversjoner. En bruker kan når som helst gjenopprette til en eldre versjon gjennom web-grensesnittet, og gjøre den erstattede filen til en versjon. Programmet vedlikeholder automatisk versjonsmappen for å sikre at brukeren ikke går tom for kvoten på grunn av for mange versjoner av en fil.\n\n\t\tI tillegg til at versjoner opphører, passer programmet på at den aldri bruker mer enn 50% av brukerens tilgjengelige plass. Hvis lagrede filversjoner går over denne grensen, vil appen slette de eldste versjonene først til det treffer grensen. Mer informasjon er tilgjengelig i Versions dokumentasjon.",
"Failed to revert {file} to revision {timestamp}." : "Klarte ikke å tilbakeføre {file} til revisjon {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Gjenopprett",
- "No other versions available" : "Ingen andre versjoner tilgjengelig",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Dette programmet vedlikeholder eldre versjoner av endrede filer. Når den aktiveres, legges det inn en skjult mappe i alle brukeres kataloger og brukes til å lagre eldre filversjoner. En bruker kan når som helst gjenopprette til en eldre versjon gjennom web-grensesnittet, og gjøre den erstattede filen til en versjon. Programmet vedlikeholder automatisk versjonsmappen for å sikre at brukeren ikke går tom for kvoten på grunn av for mange versjoner av en fil.\n\n\t\tI tillegg til at versjoner opphører, passer programmet på at den aldri bruker mer enn 50% av brukerens tilgjengelige plass. Hvis lagrede filversjoner går over denne grensen, vil appen slette de eldste versjonene først til det treffer grensen. Mer informasjon er tilgjengelig i Versions dokumentasjon."
+ "No other versions available" : "Ingen andre versjoner tilgjengelig"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/nb.json b/apps/files_versions/l10n/nb.json
index c27eb70a0da..f182ff6f623 100644
--- a/apps/files_versions/l10n/nb.json
+++ b/apps/files_versions/l10n/nb.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versjoner",
"This application automatically maintains older versions of files that are changed." : "Dette programmet vedlikeholder eldre versjoner av endrede filer.",
+ "Version" : "Versjon",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Dette programmet vedlikeholder eldre versjoner av endrede filer. Når den aktiveres, legges det inn en skjult mappe i alle brukeres kataloger og brukes til å lagre eldre filversjoner. En bruker kan når som helst gjenopprette til en eldre versjon gjennom web-grensesnittet, og gjøre den erstattede filen til en versjon. Programmet vedlikeholder automatisk versjonsmappen for å sikre at brukeren ikke går tom for kvoten på grunn av for mange versjoner av en fil.\n\n\t\tI tillegg til at versjoner opphører, passer programmet på at den aldri bruker mer enn 50% av brukerens tilgjengelige plass. Hvis lagrede filversjoner går over denne grensen, vil appen slette de eldste versjonene først til det treffer grensen. Mer informasjon er tilgjengelig i Versions dokumentasjon.",
"Failed to revert {file} to revision {timestamp}." : "Klarte ikke å tilbakeføre {file} til revisjon {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Gjenopprett",
- "No other versions available" : "Ingen andre versjoner tilgjengelig",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Dette programmet vedlikeholder eldre versjoner av endrede filer. Når den aktiveres, legges det inn en skjult mappe i alle brukeres kataloger og brukes til å lagre eldre filversjoner. En bruker kan når som helst gjenopprette til en eldre versjon gjennom web-grensesnittet, og gjøre den erstattede filen til en versjon. Programmet vedlikeholder automatisk versjonsmappen for å sikre at brukeren ikke går tom for kvoten på grunn av for mange versjoner av en fil.\n\n\t\tI tillegg til at versjoner opphører, passer programmet på at den aldri bruker mer enn 50% av brukerens tilgjengelige plass. Hvis lagrede filversjoner går over denne grensen, vil appen slette de eldste versjonene først til det treffer grensen. Mer informasjon er tilgjengelig i Versions dokumentasjon."
+ "No other versions available" : "Ingen andre versjoner tilgjengelig"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/nl.js b/apps/files_versions/l10n/nl.js
index 6722c4853c5..f7d7816aafc 100644
--- a/apps/files_versions/l10n/nl.js
+++ b/apps/files_versions/l10n/nl.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versies",
"This application automatically maintains older versions of files that are changed." : "Deze applicatie beheert automatisch oudere versies van gewijzigde bestanden.",
+ "Version" : "Versie",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Deze applicatie onderhoudt automatisch oudere versies van bestanden die zijn gewijzigd. Indien ingeschakeld, wordt een map met verborgen versies geplaatst in de directory van elke gebruiker en wordt deze gebruikt om oude bestandsversies op te slaan. Een gebruiker kan via de webinterface op elk gewenst moment terugkeren naar een oudere versie, waarbij het vervangen bestand de nieuwe versie wordt. De app beheert automatisch de map om ervoor te zorgen dat het quotum niet opraakt vanwege versiebeheer.\n\t\tNaast het beheer van versies, zorgt de app er ook voor dat nooit meer dan 50% van de momenteel beschikbare vrije ruimte van de gebruiker wordt gebruikt. Als opgeslagen versies deze limiet overschrijden, verwijdert de app de oudste versies eerst totdat de limiet is bereikt. Meer informatie is beschikbaar in de documentatie van Versiebeheer.",
"Failed to revert {file} to revision {timestamp}." : "Kon {file} niet terugdraaien naar revisie {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Herstellen",
- "No other versions available" : "Geen andere versies beschikbaar",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Deze applicatie onderhoudt automatisch oudere versies van bestanden die zijn gewijzigd. Indien ingeschakeld, wordt een map met verborgen versies geplaatst in de directory van elke gebruiker en wordt deze gebruikt om oude bestandsversies op te slaan. Een gebruiker kan via de webinterface op elk gewenst moment terugkeren naar een oudere versie, waarbij het vervangen bestand de nieuwe versie wordt. De app beheert automatisch de map om ervoor te zorgen dat het quotum niet opraakt vanwege versiebeheer.\n\t\tNaast het beheer van versies, zorgt de app er ook voor dat nooit meer dan 50% van de momenteel beschikbare vrije ruimte van de gebruiker wordt gebruikt. Als opgeslagen versies deze limiet overschrijden, verwijdert de app de oudste versies eerst totdat de limiet is bereikt. Meer informatie is beschikbaar in de documentatie van Versiebeheer."
+ "No other versions available" : "Geen andere versies beschikbaar"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/nl.json b/apps/files_versions/l10n/nl.json
index d3527e52011..6845c8edcfc 100644
--- a/apps/files_versions/l10n/nl.json
+++ b/apps/files_versions/l10n/nl.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versies",
"This application automatically maintains older versions of files that are changed." : "Deze applicatie beheert automatisch oudere versies van gewijzigde bestanden.",
+ "Version" : "Versie",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Deze applicatie onderhoudt automatisch oudere versies van bestanden die zijn gewijzigd. Indien ingeschakeld, wordt een map met verborgen versies geplaatst in de directory van elke gebruiker en wordt deze gebruikt om oude bestandsversies op te slaan. Een gebruiker kan via de webinterface op elk gewenst moment terugkeren naar een oudere versie, waarbij het vervangen bestand de nieuwe versie wordt. De app beheert automatisch de map om ervoor te zorgen dat het quotum niet opraakt vanwege versiebeheer.\n\t\tNaast het beheer van versies, zorgt de app er ook voor dat nooit meer dan 50% van de momenteel beschikbare vrije ruimte van de gebruiker wordt gebruikt. Als opgeslagen versies deze limiet overschrijden, verwijdert de app de oudste versies eerst totdat de limiet is bereikt. Meer informatie is beschikbaar in de documentatie van Versiebeheer.",
"Failed to revert {file} to revision {timestamp}." : "Kon {file} niet terugdraaien naar revisie {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Herstellen",
- "No other versions available" : "Geen andere versies beschikbaar",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Deze applicatie onderhoudt automatisch oudere versies van bestanden die zijn gewijzigd. Indien ingeschakeld, wordt een map met verborgen versies geplaatst in de directory van elke gebruiker en wordt deze gebruikt om oude bestandsversies op te slaan. Een gebruiker kan via de webinterface op elk gewenst moment terugkeren naar een oudere versie, waarbij het vervangen bestand de nieuwe versie wordt. De app beheert automatisch de map om ervoor te zorgen dat het quotum niet opraakt vanwege versiebeheer.\n\t\tNaast het beheer van versies, zorgt de app er ook voor dat nooit meer dan 50% van de momenteel beschikbare vrije ruimte van de gebruiker wordt gebruikt. Als opgeslagen versies deze limiet overschrijden, verwijdert de app de oudste versies eerst totdat de limiet is bereikt. Meer informatie is beschikbaar in de documentatie van Versiebeheer."
+ "No other versions available" : "Geen andere versies beschikbaar"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/pl.js b/apps/files_versions/l10n/pl.js
index 50e1abbe977..c2b191ecec4 100644
--- a/apps/files_versions/l10n/pl.js
+++ b/apps/files_versions/l10n/pl.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Wersje",
"This application automatically maintains older versions of files that are changed." : "Aplikacja przechowuje starsze wersje plików poddanych modyfikacji.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions.",
+ "Download version" : "Pobierz wersję",
+ "Restore version" : "Przywróć wersję",
+ "No versions yet" : "Nie ma jeszcze wersji",
+ "Version restored" : "Wersja przywrócona",
+ "Could not restore version" : "Nie można przywrócić wersji",
+ "Version" : "Wersja",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions.",
"Failed to revert {file} to revision {timestamp}." : "Nie udało się przywrócić {file} do wersji z {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajtów","%n bajtów","%n bajtów"],
"Restore" : "Przywróć",
- "No other versions available" : "Nie są dostępne żadne inne wersje",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions."
+ "No other versions available" : "Nie są dostępne żadne inne wersje"
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/files_versions/l10n/pl.json b/apps/files_versions/l10n/pl.json
index e4e869acde8..fbdf23f2923 100644
--- a/apps/files_versions/l10n/pl.json
+++ b/apps/files_versions/l10n/pl.json
@@ -2,10 +2,16 @@
"Versions" : "Wersje",
"This application automatically maintains older versions of files that are changed." : "Aplikacja przechowuje starsze wersje plików poddanych modyfikacji.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions.",
+ "Download version" : "Pobierz wersję",
+ "Restore version" : "Przywróć wersję",
+ "No versions yet" : "Nie ma jeszcze wersji",
+ "Version restored" : "Wersja przywrócona",
+ "Could not restore version" : "Nie można przywrócić wersji",
+ "Version" : "Wersja",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions.",
"Failed to revert {file} to revision {timestamp}." : "Nie udało się przywrócić {file} do wersji z {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajtów","%n bajtów","%n bajtów"],
"Restore" : "Przywróć",
- "No other versions available" : "Nie są dostępne żadne inne wersje",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Aplikacja automatycznie utrzymuje starsze wersje zmienionych plików. Po włączeniu, ukryty katalog versions jest udostępniany w każdym katalogu użytkownika i służy do przechowywania starych wersji plików. Użytkownik może w dowolnym momencie powrócić do starszej wersji za pośrednictwem strony internetowej, a zastąpiony plik staje się jego wersją. Aplikacja automatycznie zarządza katalogiem versions, aby zapewnić użytkownikowi ciągłość wersji.\n\t\tOprócz wygaśnięcia wersji, aplikacja Versions zapewnia, że nigdy nie będzie wykorzystywać więcej niż 50% dostępnej przestrzeni użytkownika. Jeśli przechowywane wersje przekroczą ten limit, aplikacja usunie najpierw najstarsze wersje, aż do osiągnięcia tego limitu. Więcej informacji można znaleźć w dokumentacji Versions."
+ "No other versions available" : "Nie są dostępne żadne inne wersje"
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/pt_BR.js b/apps/files_versions/l10n/pt_BR.js
index 2aa05761c06..f765c5edfbb 100644
--- a/apps/files_versions/l10n/pt_BR.js
+++ b/apps/files_versions/l10n/pt_BR.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Versões",
"This application automatically maintains older versions of files that are changed." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos que são alterados.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente as versões mais antigas dos arquivos que são alterados. Quando habilitada, uma pasta de versões ocultas é provisionada no diretório de cada usuário e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga por meio da interface da Web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa das versões.\t\tAlém da expiração das versões, o aplicativo de versões garante nunca usar mais de 50% da disponibilidade gratuita do usuário no momento espaço. Se as versões armazenadas excederem esse limite, o aplicativo excluirá primeiro as versões mais antigas até atingir esse limite. Mais informações estão disponíveis na documentação de Versões.",
+ "Download version" : "Baixar versão",
+ "Restore version" : "Restaurar versão",
+ "No versions yet" : "Sem versões ainda",
+ "Version restored" : "Versão restaurada",
+ "Could not restore version" : "Não foi possível restaurar esta versão",
+ "Version" : "Versão",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos alterados. Quando ativado, uma pasta oculta de versões é criada no diretório de todos os usuários e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga através da interface da web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa disso.\n\t\tAlém do prazo de validade das versões, o aplicativo garante que nunca use mais de 50% do espaço livre disponível no momento pelo usuário. Se as versões armazenadas excederem esse limite, o aplicativo excluirá as versões mais antigas primeiro até atingir esse limite. Mais informações estão disponíveis na documentação do Versions.",
"Failed to revert {file} to revision {timestamp}." : "Falha ao reverter {file} para a revisão {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Restore" : "Restaurar",
- "No other versions available" : "Sem outras versões disponíveis",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos alterados. Quando ativado, uma pasta oculta de versões é criada no diretório de todos os usuários e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga através da interface da web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa disso.\n\t\tAlém do prazo de validade das versões, o aplicativo garante que nunca use mais de 50% do espaço livre disponível no momento pelo usuário. Se as versões armazenadas excederem esse limite, o aplicativo excluirá as versões mais antigas primeiro até atingir esse limite. Mais informações estão disponíveis na documentação do Versions."
+ "No other versions available" : "Sem outras versões disponíveis"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/files_versions/l10n/pt_BR.json b/apps/files_versions/l10n/pt_BR.json
index 585314a208d..ced91476f73 100644
--- a/apps/files_versions/l10n/pt_BR.json
+++ b/apps/files_versions/l10n/pt_BR.json
@@ -2,10 +2,16 @@
"Versions" : "Versões",
"This application automatically maintains older versions of files that are changed." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos que são alterados.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente as versões mais antigas dos arquivos que são alterados. Quando habilitada, uma pasta de versões ocultas é provisionada no diretório de cada usuário e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga por meio da interface da Web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa das versões.\t\tAlém da expiração das versões, o aplicativo de versões garante nunca usar mais de 50% da disponibilidade gratuita do usuário no momento espaço. Se as versões armazenadas excederem esse limite, o aplicativo excluirá primeiro as versões mais antigas até atingir esse limite. Mais informações estão disponíveis na documentação de Versões.",
+ "Download version" : "Baixar versão",
+ "Restore version" : "Restaurar versão",
+ "No versions yet" : "Sem versões ainda",
+ "Version restored" : "Versão restaurada",
+ "Could not restore version" : "Não foi possível restaurar esta versão",
+ "Version" : "Versão",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos alterados. Quando ativado, uma pasta oculta de versões é criada no diretório de todos os usuários e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga através da interface da web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa disso.\n\t\tAlém do prazo de validade das versões, o aplicativo garante que nunca use mais de 50% do espaço livre disponível no momento pelo usuário. Se as versões armazenadas excederem esse limite, o aplicativo excluirá as versões mais antigas primeiro até atingir esse limite. Mais informações estão disponíveis na documentação do Versions.",
"Failed to revert {file} to revision {timestamp}." : "Falha ao reverter {file} para a revisão {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes","%n bytes"],
"Restore" : "Restaurar",
- "No other versions available" : "Sem outras versões disponíveis",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Este aplicativo mantém automaticamente versões mais antigas de arquivos alterados. Quando ativado, uma pasta oculta de versões é criada no diretório de todos os usuários e é usada para armazenar versões antigas de arquivos. Um usuário pode reverter para uma versão mais antiga através da interface da web a qualquer momento, com o arquivo substituído se tornando uma versão. O aplicativo gerencia automaticamente a pasta de versões para garantir que o usuário não fique sem cota por causa disso.\n\t\tAlém do prazo de validade das versões, o aplicativo garante que nunca use mais de 50% do espaço livre disponível no momento pelo usuário. Se as versões armazenadas excederem esse limite, o aplicativo excluirá as versões mais antigas primeiro até atingir esse limite. Mais informações estão disponíveis na documentação do Versions."
+ "No other versions available" : "Sem outras versões disponíveis"
},"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_versions/l10n/ro.js b/apps/files_versions/l10n/ro.js
index 861239b0523..55279ebf913 100644
--- a/apps/files_versions/l10n/ro.js
+++ b/apps/files_versions/l10n/ro.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versiuni",
"This application automatically maintains older versions of files that are changed." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.",
+ "Version" : "Versiune",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni.",
"Failed to revert {file} to revision {timestamp}." : "S-a eșuat restaurarea fișierului {file} la revizia {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n byți","%n byți"],
"Restore" : "Restaurare",
- "No other versions available" : "Nu există alte versiuni disponibile",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni."
+ "No other versions available" : "Nu există alte versiuni disponibile"
},
"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));");
diff --git a/apps/files_versions/l10n/ro.json b/apps/files_versions/l10n/ro.json
index 9bc23e13160..87c70af4531 100644
--- a/apps/files_versions/l10n/ro.json
+++ b/apps/files_versions/l10n/ro.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versiuni",
"This application automatically maintains older versions of files that are changed." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.",
+ "Version" : "Versiune",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni.",
"Failed to revert {file} to revision {timestamp}." : "S-a eșuat restaurarea fișierului {file} la revizia {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n byți","%n byți"],
"Restore" : "Restaurare",
- "No other versions available" : "Nu există alte versiuni disponibile",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Această aplicație păștrează versiunile mai vechi a fișierelor care sunt schimbate.Când este activată un dosar ascuns este creeat în dosarul personal al fiecărui utilizator pentru a memora versiunile mai vechi. Un utilizator poate să revină la o versiune mai veche folosind interfața web în orice moment, cu fișierul înlocuit devenind o versiune păstrată. Aplicația are grijă să nu rămână fără spațiu.\n\t\tDe asemenea aplicația are grijă să nu folosească mai mult de 50% din spațiul disponibil. Dacă veriunile vechi depășec această valoare atunci versiunile mai vechi vor fi șterse. Mai multe informații sunt disponibile în documentația aplicației Versiuni."
+ "No other versions available" : "Nu există alte versiuni disponibile"
},"pluralForm" :"nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/ru.js b/apps/files_versions/l10n/ru.js
index ddacbe14b3f..7c3aa2de382 100644
--- a/apps/files_versions/l10n/ru.js
+++ b/apps/files_versions/l10n/ru.js
@@ -4,10 +4,11 @@ OC.L10N.register(
"Versions" : "Версии",
"This application automatically maintains older versions of files that are changed." : "Приложение служит для обработки старых версий изменённых файлов.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».",
+ "Version" : "Версия",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».",
"Failed to revert {file} to revision {timestamp}." : "Не удалось откатить {file} к ревизии {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байт","%n байт"],
"Restore" : "Откатить",
- "No other versions available" : "Другие версии недоступны",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии»."
+ "No other versions available" : "Другие версии недоступны"
},
"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);");
diff --git a/apps/files_versions/l10n/ru.json b/apps/files_versions/l10n/ru.json
index 3dba5eb947b..fa1280590ff 100644
--- a/apps/files_versions/l10n/ru.json
+++ b/apps/files_versions/l10n/ru.json
@@ -2,10 +2,11 @@
"Versions" : "Версии",
"This application automatically maintains older versions of files that are changed." : "Приложение служит для обработки старых версий изменённых файлов.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».",
+ "Version" : "Версия",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии».",
"Failed to revert {file} to revision {timestamp}." : "Не удалось откатить {file} к ревизии {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байта","%n байт","%n байт"],
"Restore" : "Откатить",
- "No other versions available" : "Другие версии недоступны",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Это приложение предназначено для автоматического управления предыдущими версиями изменённых файлов. При включении этого приложения в каталогах пользователей создаются скрытые папки, предназначенные для хранения предыдущих версий изменённых файлов. Выбор нужной предыдущей версии и возврат к ней выполняется через веб-интерфейс, при этом актуальная версия файла будет заменена выбранной версией. Приложение также автоматически управляет глубиной хранения версий файлов, чтобы не превышать выделенные для пользователя квоты.\n\t\tПомимо управления сроком хранения предыдущих версий, приложение следит за тем, что бы общий размер сохранённых версий файлов не превышал 50% выделенного пользователю дискового пространства. При превышении такого лимита будет запущен механизм удаления самых старых версий файлов. Удаление будет производиться до тех пор, пока общий размер всех сохранённых версий файлов вновь не станет менее 50% от квоты использования дискового пространства. Дополнительная информация приведена в руководстве к приложению «Версии»."
+ "No other versions available" : "Другие версии недоступны"
},"pluralForm" :"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/sc.js b/apps/files_versions/l10n/sc.js
index ba722f3b64b..05799b22a12 100644
--- a/apps/files_versions/l10n/sc.js
+++ b/apps/files_versions/l10n/sc.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Versiones",
"This application automatically maintains older versions of files that are changed." : "Custa aplicatzione allogat de manera automàtica is versiones prus bècias de documentos modificados.",
+ "Version" : "Versione",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions.",
"Failed to revert {file} to revision {timestamp}." : "Non s'at pòdidu torrare a {documentu} pro sa revisione {timestamp}.",
"_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"],
"Restore" : "Recùpera",
- "No other versions available" : "Peruna àtera versione disponìbile",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions."
+ "No other versions available" : "Peruna àtera versione disponìbile"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/sc.json b/apps/files_versions/l10n/sc.json
index 3650e16994a..add70007130 100644
--- a/apps/files_versions/l10n/sc.json
+++ b/apps/files_versions/l10n/sc.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Versiones",
"This application automatically maintains older versions of files that are changed." : "Custa aplicatzione allogat de manera automàtica is versiones prus bècias de documentos modificados.",
+ "Version" : "Versione",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions.",
"Failed to revert {file} to revision {timestamp}." : "Non s'at pòdidu torrare a {documentu} pro sa revisione {timestamp}.",
"_%n byte_::_%n bytes_" : ["%nbyte","%n bytes"],
"Restore" : "Recùpera",
- "No other versions available" : "Peruna àtera versione disponìbile",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Custa aplicatzione allogat in manera automàtica is versiones prus bècias de documentos modificados. Cando est ativa, frunit una cartella cuada de versiones in cada directory de s'utente e dda impreat pro allogare is versiones bècias de su documentu. S'utente podet semper torrare a una versione prus bècias cun s'interface de internet, e su documentu cambiadu benet a èssere una versione. S'aplicatzione gestit de manera automàtica is cartellas de versiones pro assegurare chi s'utente doesn’t run out of Quota because of versions.\n\t\t In prus de s'iscadèntzia de is versiones, s'aplicatzione assegurat de no impreare mai prus de su 50% de su logu lìberu a disponimentu de s'utente. Chi is versiones allogadas bàrigant custu lìmite, s'aplicatzione at a cantzellare innantis is versione prus bècias finas a lòmpere a su lìmite. Sunt disponìbiles prus informatziones in sa documentatzione de Versions."
+ "No other versions available" : "Peruna àtera versione disponìbile"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/sk.js b/apps/files_versions/l10n/sk.js
index b2038acaf9e..62ae538d347 100644
--- a/apps/files_versions/l10n/sk.js
+++ b/apps/files_versions/l10n/sk.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Verzie",
"This application automatically maintains older versions of files that are changed." : "Táto aplikácia automaticky spravuje staršie verzie súborov, ktoré sú zmenené",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržiava staršie verzie súborov, ktoré sú zmenené. Keď je táto možnosť povolená, v adresári každého užívateľa sa vytvorí priečinok skrytých verzií, ktorý sa používa na ukladanie starých verzií súborov. Užívateľ sa môže kedykoľvek vrátiť k staršej verzii prostredníctvom webového rozhrania, pričom nahradený súbor sa stane verziou. Aplikácia automaticky spravuje priečinok verzií, aby sa zabezpečilo, že používateľovi nevyčerpá kvóta kvôli verziám.\nOkrem vypršania platnosti verzií, aplikácia verzie zaisťuje, že nikdy nevyužije viac ako 50 % aktuálne dostupného voľného miesta užívateľa. Ak uložené verzie prekročia tento limit, aplikácia najskôr vymaže najstaršie verzie, kým tento limit nedosiahne. Ďalšie informácie sú k dispozícii v dokumentácii k verziám.",
+ "Download version" : "Stiahnuť verziu",
+ "Restore version" : "Obnoviť verziu",
+ "No versions yet" : "Zatiaľ žiadne verzie",
+ "Version restored" : "Verzia bola obnovená",
+ "Could not restore version" : "Nepodarilo sa obnoviť verziu",
+ "Version" : "Verzia",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržuje staršie verzie súborov, ktoré sa zmenili. Keď je zapnutá, je v každom priečinku používateľa vytvorený priečinok pre skryté verzie a sú do neho ukladané staré verzie súborov. Používateľ sa kedykoľvek môže vrátič k starším verziám prostredníctvom webového rozhrania s tým, že sám nahradzovaný súbor sa stane verziou. Aplikácia automaticky spravuje priečinok s verziami, aby bolo zaistené, že používateľ kvôli starým verziám nevyčerpá svoju kvótu.\n\t\tOkrem expirácie verzií, aplikácia Verzie zaistí, že nikdy nepoužije viac než 50% voľného miesta priestoru, ktorý má používateľ k dispozícii. Ak uložené verzie presiahnu tento limit, aplikácia najstaršie verzie vymaže, aby sa do tohto limitu vošla. Viac informácií je k dispozícii v dokumentácii aplikácie Verize.",
"Failed to revert {file} to revision {timestamp}." : "Zlyhalo obnovenie súboru {file} na verziu {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajtov","%n bajtov","%n bajtov"],
"Restore" : "Obnoviť",
- "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržuje staršie verzie súborov, ktoré sa zmenili. Keď je zapnutá, je v každom priečinku používateľa vytvorený priečinok pre skryté verzie a sú do neho ukladané staré verzie súborov. Používateľ sa kedykoľvek môže vrátič k starším verziám prostredníctvom webového rozhrania s tým, že sám nahradzovaný súbor sa stane verziou. Aplikácia automaticky spravuje priečinok s verziami, aby bolo zaistené, že používateľ kvôli starým verziám nevyčerpá svoju kvótu.\n\t\tOkrem expirácie verzií, aplikácia Verzie zaistí, že nikdy nepoužije viac než 50% voľného miesta priestoru, ktorý má používateľ k dispozícii. Ak uložené verzie presiahnu tento limit, aplikácia najstaršie verzie vymaže, aby sa do tohto limitu vošla. Viac informácií je k dispozícii v dokumentácii aplikácie Verize."
+ "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné"
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/files_versions/l10n/sk.json b/apps/files_versions/l10n/sk.json
index 7ce3d0fe5c6..d4f7ae6b43f 100644
--- a/apps/files_versions/l10n/sk.json
+++ b/apps/files_versions/l10n/sk.json
@@ -2,10 +2,16 @@
"Versions" : "Verzie",
"This application automatically maintains older versions of files that are changed." : "Táto aplikácia automaticky spravuje staršie verzie súborov, ktoré sú zmenené",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržiava staršie verzie súborov, ktoré sú zmenené. Keď je táto možnosť povolená, v adresári každého užívateľa sa vytvorí priečinok skrytých verzií, ktorý sa používa na ukladanie starých verzií súborov. Užívateľ sa môže kedykoľvek vrátiť k staršej verzii prostredníctvom webového rozhrania, pričom nahradený súbor sa stane verziou. Aplikácia automaticky spravuje priečinok verzií, aby sa zabezpečilo, že používateľovi nevyčerpá kvóta kvôli verziám.\nOkrem vypršania platnosti verzií, aplikácia verzie zaisťuje, že nikdy nevyužije viac ako 50 % aktuálne dostupného voľného miesta užívateľa. Ak uložené verzie prekročia tento limit, aplikácia najskôr vymaže najstaršie verzie, kým tento limit nedosiahne. Ďalšie informácie sú k dispozícii v dokumentácii k verziám.",
+ "Download version" : "Stiahnuť verziu",
+ "Restore version" : "Obnoviť verziu",
+ "No versions yet" : "Zatiaľ žiadne verzie",
+ "Version restored" : "Verzia bola obnovená",
+ "Could not restore version" : "Nepodarilo sa obnoviť verziu",
+ "Version" : "Verzia",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržuje staršie verzie súborov, ktoré sa zmenili. Keď je zapnutá, je v každom priečinku používateľa vytvorený priečinok pre skryté verzie a sú do neho ukladané staré verzie súborov. Používateľ sa kedykoľvek môže vrátič k starším verziám prostredníctvom webového rozhrania s tým, že sám nahradzovaný súbor sa stane verziou. Aplikácia automaticky spravuje priečinok s verziami, aby bolo zaistené, že používateľ kvôli starým verziám nevyčerpá svoju kvótu.\n\t\tOkrem expirácie verzií, aplikácia Verzie zaistí, že nikdy nepoužije viac než 50% voľného miesta priestoru, ktorý má používateľ k dispozícii. Ak uložené verzie presiahnu tento limit, aplikácia najstaršie verzie vymaže, aby sa do tohto limitu vošla. Viac informácií je k dispozícii v dokumentácii aplikácie Verize.",
"Failed to revert {file} to revision {timestamp}." : "Zlyhalo obnovenie súboru {file} na verziu {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajtov","%n bajtov","%n bajtov"],
"Restore" : "Obnoviť",
- "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Táto aplikácia automaticky udržuje staršie verzie súborov, ktoré sa zmenili. Keď je zapnutá, je v každom priečinku používateľa vytvorený priečinok pre skryté verzie a sú do neho ukladané staré verzie súborov. Používateľ sa kedykoľvek môže vrátič k starším verziám prostredníctvom webového rozhrania s tým, že sám nahradzovaný súbor sa stane verziou. Aplikácia automaticky spravuje priečinok s verziami, aby bolo zaistené, že používateľ kvôli starým verziám nevyčerpá svoju kvótu.\n\t\tOkrem expirácie verzií, aplikácia Verzie zaistí, že nikdy nepoužije viac než 50% voľného miesta priestoru, ktorý má používateľ k dispozícii. Ak uložené verzie presiahnu tento limit, aplikácia najstaršie verzie vymaže, aby sa do tohto limitu vošla. Viac informácií je k dispozícii v dokumentácii aplikácie Verize."
+ "No other versions available" : "Žiadne ďalšie verzie nie sú dostupné"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/sl.js b/apps/files_versions/l10n/sl.js
index 82a3f5fae6c..c6761c8d3f8 100644
--- a/apps/files_versions/l10n/sl.js
+++ b/apps/files_versions/l10n/sl.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Različice",
"This application automatically maintains older versions of files that are changed." : "Program samodejno ustvarja zaporedne različice sprememb datotek.",
+ "Version" : "Različica",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Program samodejno ustvarja različice spremenjenih datotek v skriti uporabnikovi mapi. Za uporabnika to pomeni, da lahko prek spletnega vmesnika kadarkoli obnovi starejšo različico datoteke, zamenjana datoteka pa postane ena od različic. Upravljanje vključuje tudi nadzor nad omejitvijo prostora, pri čemer se najprej brišejo najstarejše različice.\nNastavitve določajo tudi omejitev, da shranjene različice ne zasedejo več kot 50 % razpoložljivega prostora oziroma količinske omejitve. Več podrobnosti je na voljo v dokumentaciji programa.",
"Failed to revert {file} to revision {timestamp}." : "Povrnitev datoteke {file} na različico {timestamp} je spodletelo.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"],
"Restore" : "Obnovi",
- "No other versions available" : "Na voljo ni nobene druge različice datoteke",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Program samodejno ustvarja različice spremenjenih datotek v skriti uporabnikovi mapi. Za uporabnika to pomeni, da lahko prek spletnega vmesnika kadarkoli obnovi starejšo različico datoteke, zamenjana datoteka pa postane ena od različic. Upravljanje vključuje tudi nadzor nad omejitvijo prostora, pri čemer se najprej brišejo najstarejše različice.\nNastavitve določajo tudi omejitev, da shranjene različice ne zasedejo več kot 50 % razpoložljivega prostora oziroma količinske omejitve. Več podrobnosti je na voljo v dokumentaciji programa."
+ "No other versions available" : "Na voljo ni nobene druge različice datoteke"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/files_versions/l10n/sl.json b/apps/files_versions/l10n/sl.json
index 71a4a8307bc..13eef494236 100644
--- a/apps/files_versions/l10n/sl.json
+++ b/apps/files_versions/l10n/sl.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Različice",
"This application automatically maintains older versions of files that are changed." : "Program samodejno ustvarja zaporedne različice sprememb datotek.",
+ "Version" : "Različica",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Program samodejno ustvarja različice spremenjenih datotek v skriti uporabnikovi mapi. Za uporabnika to pomeni, da lahko prek spletnega vmesnika kadarkoli obnovi starejšo različico datoteke, zamenjana datoteka pa postane ena od različic. Upravljanje vključuje tudi nadzor nad omejitvijo prostora, pri čemer se najprej brišejo najstarejše različice.\nNastavitve določajo tudi omejitev, da shranjene različice ne zasedejo več kot 50 % razpoložljivega prostora oziroma količinske omejitve. Več podrobnosti je na voljo v dokumentaciji programa.",
"Failed to revert {file} to revision {timestamp}." : "Povrnitev datoteke {file} na različico {timestamp} je spodletelo.",
"_%n byte_::_%n bytes_" : ["%n bajt","%n bajta","%n bajti","%n bajtov"],
"Restore" : "Obnovi",
- "No other versions available" : "Na voljo ni nobene druge različice datoteke",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Program samodejno ustvarja različice spremenjenih datotek v skriti uporabnikovi mapi. Za uporabnika to pomeni, da lahko prek spletnega vmesnika kadarkoli obnovi starejšo različico datoteke, zamenjana datoteka pa postane ena od različic. Upravljanje vključuje tudi nadzor nad omejitvijo prostora, pri čemer se najprej brišejo najstarejše različice.\nNastavitve določajo tudi omejitev, da shranjene različice ne zasedejo več kot 50 % razpoložljivega prostora oziroma količinske omejitve. Več podrobnosti je na voljo v dokumentaciji programa."
+ "No other versions available" : "Na voljo ni nobene druge različice datoteke"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/sr.js b/apps/files_versions/l10n/sr.js
index fd47de1e860..05be30f5fb8 100644
--- a/apps/files_versions/l10n/sr.js
+++ b/apps/files_versions/l10n/sr.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "Верзије",
"This application automatically maintains older versions of files that are changed." : "Ова апликација аутоматски одржава старије верзије измењених фајлова.",
+ "Version" : "Верзија",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ова апликација аутоматски чува старије верзије фајлова који су се изменили. Када се укључи, у свакој корисничкој фасцикли се додаје још једна скривена фасцикла у коју се смештају старије верзије фајлова. Корисник се у сваком тренутку може вратити на старију верзију фајлова кроз веб интерфејс, с тим да замењени фајл постаје исто једна верзија. Апликација аутоматски управља фасциклама са верзијама да би се осигурала да корисник не дође до квоте због чувања верзија.\n\t\tУз истицање верзија, апликација верзионисања се стара да се никад не користи више од 50% корисничког слободног простора. Уколико ускладиштена верзија прелази ову вредност, апликација ће кренути да брише верзије почевши од најстарије све док се не падне испод границе од 50%. Још информација је доступно у документацији апликације за Верзионисање.",
"Failed to revert {file} to revision {timestamp}." : "Не могу да вратим {file} на ревизију {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n бајт","%n бајта","%n бајтова"],
"Restore" : "Врати",
- "No other versions available" : "Нема доступних других верзија",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ова апликација аутоматски чува старије верзије фајлова који су се изменили. Када се укључи, у свакој корисничкој фасцикли се додаје још једна скривена фасцикла у коју се смештају старије верзије фајлова. Корисник се у сваком тренутку може вратити на старију верзију фајлова кроз веб интерфејс, с тим да замењени фајл постаје исто једна верзија. Апликација аутоматски управља фасциклама са верзијама да би се осигурала да корисник не дође до квоте због чувања верзија.\n\t\tУз истицање верзија, апликација верзионисања се стара да се никад не користи више од 50% корисничког слободног простора. Уколико ускладиштена верзија прелази ову вредност, апликација ће кренути да брише верзије почевши од најстарије све док се не падне испод границе од 50%. Још информација је доступно у документацији апликације за Верзионисање."
+ "No other versions available" : "Нема доступних других верзија"
},
"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);");
diff --git a/apps/files_versions/l10n/sr.json b/apps/files_versions/l10n/sr.json
index b9b44a54753..8b1b26df161 100644
--- a/apps/files_versions/l10n/sr.json
+++ b/apps/files_versions/l10n/sr.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "Верзије",
"This application automatically maintains older versions of files that are changed." : "Ова апликација аутоматски одржава старије верзије измењених фајлова.",
+ "Version" : "Верзија",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ова апликација аутоматски чува старије верзије фајлова који су се изменили. Када се укључи, у свакој корисничкој фасцикли се додаје још једна скривена фасцикла у коју се смештају старије верзије фајлова. Корисник се у сваком тренутку може вратити на старију верзију фајлова кроз веб интерфејс, с тим да замењени фајл постаје исто једна верзија. Апликација аутоматски управља фасциклама са верзијама да би се осигурала да корисник не дође до квоте због чувања верзија.\n\t\tУз истицање верзија, апликација верзионисања се стара да се никад не користи више од 50% корисничког слободног простора. Уколико ускладиштена верзија прелази ову вредност, апликација ће кренути да брише верзије почевши од најстарије све док се не падне испод границе од 50%. Још информација је доступно у документацији апликације за Верзионисање.",
"Failed to revert {file} to revision {timestamp}." : "Не могу да вратим {file} на ревизију {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n бајт","%n бајта","%n бајтова"],
"Restore" : "Врати",
- "No other versions available" : "Нема доступних других верзија",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Ова апликација аутоматски чува старије верзије фајлова који су се изменили. Када се укључи, у свакој корисничкој фасцикли се додаје још једна скривена фасцикла у коју се смештају старије верзије фајлова. Корисник се у сваком тренутку може вратити на старију верзију фајлова кроз веб интерфејс, с тим да замењени фајл постаје исто једна верзија. Апликација аутоматски управља фасциклама са верзијама да би се осигурала да корисник не дође до квоте због чувања верзија.\n\t\tУз истицање верзија, апликација верзионисања се стара да се никад не користи више од 50% корисничког слободног простора. Уколико ускладиштена верзија прелази ову вредност, апликација ће кренути да брише верзије почевши од најстарије све док се не падне испод границе од 50%. Још информација је доступно у документацији апликације за Верзионисање."
+ "No other versions available" : "Нема доступних других верзија"
},"pluralForm" :"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/sv.js b/apps/files_versions/l10n/sv.js
index 040bc1cafb3..8b0e50cc29b 100644
--- a/apps/files_versions/l10n/sv.js
+++ b/apps/files_versions/l10n/sv.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Versioner",
"This application automatically maintains older versions of files that are changed." : "Den här applikationen behåller automatiskt äldre versioner av filer som ändras.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen.",
+ "Download version" : "Ladda ner version",
+ "Restore version" : "Återställ version",
+ "No versions yet" : "Inga versioner än",
+ "Version restored" : "Version återställd",
+ "Could not restore version" : "Kunde inte återställa versionen",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen.",
"Failed to revert {file} to revision {timestamp}." : "Misslyckades att återställa {file} till version {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Återskapa",
- "No other versions available" : "Inga andra versioner tillgängliga",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen."
+ "No other versions available" : "Inga andra versioner tillgängliga"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/files_versions/l10n/sv.json b/apps/files_versions/l10n/sv.json
index 8340a2da578..8861a7724a2 100644
--- a/apps/files_versions/l10n/sv.json
+++ b/apps/files_versions/l10n/sv.json
@@ -2,10 +2,16 @@
"Versions" : "Versioner",
"This application automatically maintains older versions of files that are changed." : "Den här applikationen behåller automatiskt äldre versioner av filer som ändras.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen.",
+ "Download version" : "Ladda ner version",
+ "Restore version" : "Återställ version",
+ "No versions yet" : "Inga versioner än",
+ "Version restored" : "Version återställd",
+ "Could not restore version" : "Kunde inte återställa versionen",
+ "Version" : "Version",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen.",
"Failed to revert {file} to revision {timestamp}." : "Misslyckades att återställa {file} till version {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n byte","%n bytes"],
"Restore" : "Återskapa",
- "No other versions available" : "Inga andra versioner tillgängliga",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Denna applikation hanterar automatiskt äldre versioner av filer när de ändras. När funktionen är aktiverad tillhandahålls en dold versionsmapp i varje användares katalog som används för att lagra gamla filversioner. En användare kan när som hellst återgå till en äldre version via webbgränssnittet, när detta görs blir den ersatta filen en version. Appen hanterar automatiskt versionsmappen för att säkerställa att användaren inte får slut på sin kvot på grund av sparade versioner.\nUtöver hantering av utgångna versioner så förvissar sig appen för versionshantering att den inte använder sig av mer än 50% av användarens tillgängliga ledigt utrymme. Om lagrade versioner överskrider denna gräns, kommer appen att ta bort de äldsta versionerna först tills den återigen uppfyller denna gräns. Mer information finns i Versionsdokumentationen."
+ "No other versions available" : "Inga andra versioner tillgängliga"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/tr.js b/apps/files_versions/l10n/tr.js
index b92b5dd3026..2b5ab9c0237 100644
--- a/apps/files_versions/l10n/tr.js
+++ b/apps/files_versions/l10n/tr.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "Sürümler",
"This application automatically maintains older versions of files that are changed." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.",
+ "Download version" : "Sürümü indir",
+ "Restore version" : "Sürümü geri yükle",
+ "No versions yet" : "Henüz bir sürüm yok",
+ "Version restored" : "Sürüm geri yüklendi",
+ "Could not restore version" : "Sürüm geri yüklenemedi",
+ "Version" : "Sürüm",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.",
"Failed to revert {file} to revision {timestamp}." : "{file} dosyası {timestamp} sürümüne geri alınamadı.",
"_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"],
"Restore" : "Geri yükle",
- "No other versions available" : "Başka bir sürüm yok",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz."
+ "No other versions available" : "Başka bir sürüm yok"
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/files_versions/l10n/tr.json b/apps/files_versions/l10n/tr.json
index d97d3b15602..2cdfb872b26 100644
--- a/apps/files_versions/l10n/tr.json
+++ b/apps/files_versions/l10n/tr.json
@@ -2,10 +2,16 @@
"Versions" : "Sürümler",
"This application automatically maintains older versions of files that are changed." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.",
+ "Download version" : "Sürümü indir",
+ "Restore version" : "Sürümü geri yükle",
+ "No versions yet" : "Henüz bir sürüm yok",
+ "Version restored" : "Sürüm geri yüklendi",
+ "Could not restore version" : "Sürüm geri yüklenemedi",
+ "Version" : "Sürüm",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz.",
"Failed to revert {file} to revision {timestamp}." : "{file} dosyası {timestamp} sürümüne geri alınamadı.",
"_%n byte_::_%n bytes_" : ["%n bayt","%n bayt"],
"Restore" : "Geri yükle",
- "No other versions available" : "Başka bir sürüm yok",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Bu uygulama değiştirilen dosyaların önceki sürümlerini otomatik olarak izler ve saklar. etkinleştirildiğinde, dosya sürümlerini saklamak için her kullanıcının klasörlerinde gizli bir versions klasörü oluşturulur. Kullanıcılar web arayüzünü kullanarak istedikleri zaman dosyalarının daha önceki sürümlerine geri dönebilirler. Uygulama versions klasörünü otomatik olarak düzenler ve önceki dosya sürümleri nedeniyle kullanıcının kotasının dolmasını engeller.\n\t\tSürümler uygulaması dosya sürümlerini belirli bir süreyle saklarken, kullanıcı depolama alanının en çok %50 oranındaki bölümünü kullanır. Depolanan sürüm dosyalarının boyutu bu sınırın üzerine çıkarsa, sınır değerine geri dönülene kadar en eski sürüm dosyaları silinir. Ayrıntılı bilgi almak için Sürümler uygulamasının belgelerine bakabilirsiniz."
+ "No other versions available" : "Başka bir sürüm yok"
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/uk.js b/apps/files_versions/l10n/uk.js
index 5be93f83c80..6c990816042 100644
--- a/apps/files_versions/l10n/uk.js
+++ b/apps/files_versions/l10n/uk.js
@@ -4,10 +4,11 @@ OC.L10N.register(
"Versions" : "Версії",
"This application automatically maintains older versions of files that are changed." : "Цей застосунок підтримує роботу з попередніми версіями файлів, які було змінено.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично підтримує старіші версії файлів, які було змінено. Якщо його увімкнено, прихований каталог версій створюється в каталозі кожного користувача та використовується для зберігання старих версій файлів. Користувач може будь-коли повернутися до старішої версії через веб-інтерфейс, а замінений файл стане версією. Програма автоматично керує каталогом з версіями файлів, щоб користувач не вичерпав квоту через надмірну кількість версій. \n\nНа додаток до закінчення терміну дії версій, додаток версій гарантує, що ніколи не буде використано більше 50% вільного простору користувача. Якщо збережені версії перевищують це обмеження, програма спочатку видалить найстаріші версії, доки не досягне цього обмеження. Додаткову інформацію можна знайти в документації версій.",
+ "Version" : "Версія",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично обслуговує попередні версії файлів, які були змінені. Коли застосунок ввімкнено, у кожному каталозі користувача створюється прихована каталога версій файлів, у якій зберігаються старі версії файлів. Користувач за допомогою веб-інтерфейсу може повернутися у будь-який момент до однієї з попередніх версій файлу. При цьому файл, що замінюється, стає однією з версій. Застосунок також автоматично відслідковує каталоги з версіями файлів згідно з обмеженнями квот користувача.\n\t\tКрім відслідковування терміну збереження версій застосунок також забезпечує обмеження використаного версіями об'єму, щоб версії ніколи не використовували більше 50% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії.",
"Failed to revert {file} to revision {timestamp}." : "Не вдалося повернути {file} до ревізії {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байти","%n байтів","%n байтів"],
"Restore" : "Відновити",
- "No other versions available" : "Інші версії недоступні",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично обслуговує попередні версії файлів, які були змінені. Коли застосунок ввімкнено, у кожному каталозі користувача створюється прихована каталога версій файлів, у якій зберігаються старі версії файлів. Користувач за допомогою веб-інтерфейсу може повернутися у будь-який момент до однієї з попередніх версій файлу. При цьому файл, що замінюється, стає однією з версій. Застосунок також автоматично відслідковує каталоги з версіями файлів згідно з обмеженнями квот користувача.\n\t\tКрім відслідковування терміну збереження версій застосунок також забезпечує обмеження використаного версіями об'єму, щоб версії ніколи не використовували більше 50% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії."
+ "No other versions available" : "Інші версії недоступні"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/files_versions/l10n/uk.json b/apps/files_versions/l10n/uk.json
index 8fc09f3d3f2..003f8be7402 100644
--- a/apps/files_versions/l10n/uk.json
+++ b/apps/files_versions/l10n/uk.json
@@ -2,10 +2,11 @@
"Versions" : "Версії",
"This application automatically maintains older versions of files that are changed." : "Цей застосунок підтримує роботу з попередніми версіями файлів, які було змінено.",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично підтримує старіші версії файлів, які було змінено. Якщо його увімкнено, прихований каталог версій створюється в каталозі кожного користувача та використовується для зберігання старих версій файлів. Користувач може будь-коли повернутися до старішої версії через веб-інтерфейс, а замінений файл стане версією. Програма автоматично керує каталогом з версіями файлів, щоб користувач не вичерпав квоту через надмірну кількість версій. \n\nНа додаток до закінчення терміну дії версій, додаток версій гарантує, що ніколи не буде використано більше 50% вільного простору користувача. Якщо збережені версії перевищують це обмеження, програма спочатку видалить найстаріші версії, доки не досягне цього обмеження. Додаткову інформацію можна знайти в документації версій.",
+ "Version" : "Версія",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично обслуговує попередні версії файлів, які були змінені. Коли застосунок ввімкнено, у кожному каталозі користувача створюється прихована каталога версій файлів, у якій зберігаються старі версії файлів. Користувач за допомогою веб-інтерфейсу може повернутися у будь-який момент до однієї з попередніх версій файлу. При цьому файл, що замінюється, стає однією з версій. Застосунок також автоматично відслідковує каталоги з версіями файлів згідно з обмеженнями квот користувача.\n\t\tКрім відслідковування терміну збереження версій застосунок також забезпечує обмеження використаного версіями об'єму, щоб версії ніколи не використовували більше 50% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії.",
"Failed to revert {file} to revision {timestamp}." : "Не вдалося повернути {file} до ревізії {timestamp}.",
"_%n byte_::_%n bytes_" : ["%n байт","%n байти","%n байтів","%n байтів"],
"Restore" : "Відновити",
- "No other versions available" : "Інші версії недоступні",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "Цей застосунок автоматично обслуговує попередні версії файлів, які були змінені. Коли застосунок ввімкнено, у кожному каталозі користувача створюється прихована каталога версій файлів, у якій зберігаються старі версії файлів. Користувач за допомогою веб-інтерфейсу може повернутися у будь-який момент до однієї з попередніх версій файлу. При цьому файл, що замінюється, стає однією з версій. Застосунок також автоматично відслідковує каталоги з версіями файлів згідно з обмеженнями квот користувача.\n\t\tКрім відслідковування терміну збереження версій застосунок також забезпечує обмеження використаного версіями об'єму, щоб версії ніколи не використовували більше 50% доступного користувачу вільного дискового простору. В разі перевищення вказаних лімітів застосунок автоматично вилучає найдавніші версії аж до повернення в межі лімітів. Додаткова інформація доступна у документації до застосунку Версії."
+ "No other versions available" : "Інші версії недоступні"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/zh_CN.js b/apps/files_versions/l10n/zh_CN.js
index a37a72fe1d7..79230b060fa 100644
--- a/apps/files_versions/l10n/zh_CN.js
+++ b/apps/files_versions/l10n/zh_CN.js
@@ -3,10 +3,11 @@ OC.L10N.register(
{
"Versions" : "版本",
"This application automatically maintains older versions of files that are changed." : "此应用程序自动维护已更改文件的旧版本。",
+ "Version" : "版本",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此应用程序自动维护已更改文件的旧版本。 启用后,每个用户目录中都会设置一个隐藏版本文件夹,该文件夹用于存储旧文件版本。 用户可以随时通过网页界面还原到较旧的版本,替换后的文件成为一个版本。 该应用会自动管理版本文件夹,以确保用户不会因版本而用完配额。\n\t\t除了版本有效期外,版本应用程序还可确保永远不会使用用户当前可用空间的 50% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。",
"Failed to revert {file} to revision {timestamp}." : "无法将 {file} 还原为修订版 {timestamp}。",
"_%n byte_::_%n bytes_" : ["%n 个字节"],
"Restore" : "恢复",
- "No other versions available" : "没有其他可用版本",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此应用程序自动维护已更改文件的旧版本。 启用后,每个用户目录中都会设置一个隐藏版本文件夹,该文件夹用于存储旧文件版本。 用户可以随时通过网页界面还原到较旧的版本,替换后的文件成为一个版本。 该应用会自动管理版本文件夹,以确保用户不会因版本而用完配额。\n\t\t除了版本有效期外,版本应用程序还可确保永远不会使用用户当前可用空间的 50% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。"
+ "No other versions available" : "没有其他可用版本"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/zh_CN.json b/apps/files_versions/l10n/zh_CN.json
index c9e5fd0470d..1afe95c657a 100644
--- a/apps/files_versions/l10n/zh_CN.json
+++ b/apps/files_versions/l10n/zh_CN.json
@@ -1,10 +1,11 @@
{ "translations": {
"Versions" : "版本",
"This application automatically maintains older versions of files that are changed." : "此应用程序自动维护已更改文件的旧版本。",
+ "Version" : "版本",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此应用程序自动维护已更改文件的旧版本。 启用后,每个用户目录中都会设置一个隐藏版本文件夹,该文件夹用于存储旧文件版本。 用户可以随时通过网页界面还原到较旧的版本,替换后的文件成为一个版本。 该应用会自动管理版本文件夹,以确保用户不会因版本而用完配额。\n\t\t除了版本有效期外,版本应用程序还可确保永远不会使用用户当前可用空间的 50% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。",
"Failed to revert {file} to revision {timestamp}." : "无法将 {file} 还原为修订版 {timestamp}。",
"_%n byte_::_%n bytes_" : ["%n 个字节"],
"Restore" : "恢复",
- "No other versions available" : "没有其他可用版本",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此应用程序自动维护已更改文件的旧版本。 启用后,每个用户目录中都会设置一个隐藏版本文件夹,该文件夹用于存储旧文件版本。 用户可以随时通过网页界面还原到较旧的版本,替换后的文件成为一个版本。 该应用会自动管理版本文件夹,以确保用户不会因版本而用完配额。\n\t\t除了版本有效期外,版本应用程序还可确保永远不会使用用户当前可用空间的 50% 以上。 如果存储的版本超出此限制,则应用将首先删除最旧的版本,直到满足该限制。 有关更多信息,请参见“版本”文档。"
+ "No other versions available" : "没有其他可用版本"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/zh_HK.js b/apps/files_versions/l10n/zh_HK.js
index 057bcfd6a85..2b2617a52dd 100644
--- a/apps/files_versions/l10n/zh_HK.js
+++ b/apps/files_versions/l10n/zh_HK.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "版本",
"This application automatically maintains older versions of files that are changed." : "本應用程式會自動保存修改前舊版本的檔案",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
+ "Download version" : "下載版本",
+ "Restore version" : "還原版本",
+ "No versions yet" : "尚無版本",
+ "Version restored" : "版本已還原",
+ "Could not restore version" : "無法還原版本",
+ "Version" : "版本",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
"Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}",
"_%n byte_::_%n bytes_" : ["%n bytes"],
"Restore" : "復原",
- "No other versions available" : "沒有其他版本了",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。"
+ "No other versions available" : "沒有其他版本了"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/zh_HK.json b/apps/files_versions/l10n/zh_HK.json
index b9435ec5204..9109846de27 100644
--- a/apps/files_versions/l10n/zh_HK.json
+++ b/apps/files_versions/l10n/zh_HK.json
@@ -2,10 +2,16 @@
"Versions" : "版本",
"This application automatically maintains older versions of files that are changed." : "本應用程式會自動保存修改前舊版本的檔案",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
+ "Download version" : "下載版本",
+ "Restore version" : "還原版本",
+ "No versions yet" : "尚無版本",
+ "Version restored" : "版本已還原",
+ "Could not restore version" : "無法還原版本",
+ "Version" : "版本",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
"Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}",
"_%n byte_::_%n bytes_" : ["%n bytes"],
"Restore" : "復原",
- "No other versions available" : "沒有其他版本了",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個用戶目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。用戶可以在任何時候透過網路界面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保用戶不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保用戶永遠不會使用超過用戶目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。"
+ "No other versions available" : "沒有其他版本了"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_versions/l10n/zh_TW.js b/apps/files_versions/l10n/zh_TW.js
index 875d222c6ed..4498ce0e7d7 100644
--- a/apps/files_versions/l10n/zh_TW.js
+++ b/apps/files_versions/l10n/zh_TW.js
@@ -4,10 +4,16 @@ OC.L10N.register(
"Versions" : "版本",
"This application automatically maintains older versions of files that are changed." : "本應用程式會自動維護修改前舊版本的檔案",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
+ "Download version" : "下載版本",
+ "Restore version" : "還原版本",
+ "No versions yet" : "尚無版本",
+ "Version restored" : "版本已還原",
+ "Could not restore version" : "無法還原版本",
+ "Version" : "版本",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
"Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}",
"_%n byte_::_%n bytes_" : ["%n 位元組"],
"Restore" : "還原",
- "No other versions available" : "沒有其他版本了",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。"
+ "No other versions available" : "沒有其他版本了"
},
"nplurals=1; plural=0;");
diff --git a/apps/files_versions/l10n/zh_TW.json b/apps/files_versions/l10n/zh_TW.json
index 7431ad87cef..fca2fec5484 100644
--- a/apps/files_versions/l10n/zh_TW.json
+++ b/apps/files_versions/l10n/zh_TW.json
@@ -2,10 +2,16 @@
"Versions" : "版本",
"This application automatically maintains older versions of files that are changed." : "本應用程式會自動維護修改前舊版本的檔案",
"This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user's directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user does not run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user's currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
+ "Download version" : "下載版本",
+ "Restore version" : "還原版本",
+ "No versions yet" : "尚無版本",
+ "Version restored" : "版本已還原",
+ "Could not restore version" : "無法還原版本",
+ "Version" : "版本",
+ "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。",
"Failed to revert {file} to revision {timestamp}." : "無法還原檔案 {file} 至版本 {timestamp}",
"_%n byte_::_%n bytes_" : ["%n 位元組"],
"Restore" : "還原",
- "No other versions available" : "沒有其他版本了",
- "This application automatically maintains older versions of files that are changed. When enabled, a hidden versions folder is provisioned in every user’s directory and is used to store old file versions. A user can revert to an older version through the web interface at any time, with the replaced file becoming a version. The app automatically manages the versions folder to ensure the user doesn’t run out of Quota because of versions.\n\t\tIn addition to the expiry of versions, the versions app makes certain never to use more than 50% of the user’s currently available free space. If stored versions exceed this limit, the app will delete the oldest versions first until it meets this limit. More information is available in the Versions documentation." : "此應用程式會自動維護已變更過檔案的較舊版本。啟用後,每個使用者目錄中都會有一個隱藏的版本資料夾,此資料夾用於儲存較舊版本的檔案。使用者可以在任何時候透過網路介面還原到較舊的版本,取代目前版本成為新的版本。應用程式會自動管理版本資料夾以確保使用者不會因為版本而用完配額。\n\t\t除了版本有效期限以外,版本應用程式還會確保使用者永遠不會使用超過使用者目前可用空間的 50%。如果儲存的版本超出此限制,則應用程式會先刪除最舊的版本,直到低於此限制。更多資訊請見「版本」文件。"
+ "No other versions available" : "沒有其他版本了"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/files_versions/lib/Storage.php b/apps/files_versions/lib/Storage.php
index e314eddb945..024e1debc92 100644
--- a/apps/files_versions/lib/Storage.php
+++ b/apps/files_versions/lib/Storage.php
@@ -176,7 +176,6 @@ class Storage {
* store a new version of a file.
*/
public static function store($filename) {
-
// if the file gets streamed we need to remove the .part extension
// to get the right target
$ext = pathinfo($filename, PATHINFO_EXTENSION);
@@ -357,7 +356,6 @@ class Storage {
* @return bool
*/
public static function rollback(string $file, int $revision, IUser $user) {
-
// add expected leading slash
$filename = '/' . ltrim($file, '/');
@@ -495,11 +493,21 @@ class Storage {
$filename = $pathparts['filename'];
if ($filename === $versionedFile) {
$pathparts = pathinfo($entryName);
- $timestamp = substr($pathparts['extension'], 1);
+ $timestamp = substr($pathparts['extension'] ?? '', 1);
+ if (!is_numeric($timestamp)) {
+ \OC::$server->get(LoggerInterface::class)->error(
+ 'Version file {path} has incorrect name format',
+ [
+ 'path' => $entryName,
+ 'app' => 'files_versions',
+ ]
+ );
+ continue;
+ }
$filename = $pathparts['filename'];
$key = $timestamp . '#' . $filename;
$versions[$key]['version'] = $timestamp;
- $versions[$key]['humanReadableTimestamp'] = self::getHumanReadableTimestamp($timestamp);
+ $versions[$key]['humanReadableTimestamp'] = self::getHumanReadableTimestamp((int)$timestamp);
if (empty($userFullPath)) {
$versions[$key]['preview'] = '';
} else {
@@ -578,7 +586,7 @@ class Storage {
* @param int $timestamp
* @return string for example "5 days ago"
*/
- private static function getHumanReadableTimestamp($timestamp) {
+ private static function getHumanReadableTimestamp(int $timestamp): string {
$diff = time() - $timestamp;
if ($diff < 60) { // first minute
diff --git a/apps/files_versions/src/css/versions.css b/apps/files_versions/src/css/versions.css
deleted file mode 100644
index 8a32b143f03..00000000000
--- a/apps/files_versions/src/css/versions.css
+++ /dev/null
@@ -1,74 +0,0 @@
-.versionsTabView .clear-float {
- clear: both;
-}
-
-.versionsTabView li {
- width: 100%;
- cursor: default;
- height: 56px;
- float: left;
- border-bottom: 1px solid rgba(100,100,100,.1);
-}
-.versionsTabView li:last-child {
- border-bottom: none;
-}
-
-.versionsTabView a,
-.versionsTabView div > span {
- vertical-align: middle;
- opacity: .5;
-}
-
-.versionsTabView li a{
- padding: 15px 10px 11px;
-}
-
-.versionsTabView a:hover,
-.versionsTabView a:focus {
- opacity: 1;
-}
-
-.versionsTabView .preview-container {
- display: inline-block;
- vertical-align: top;
-}
-
-.versionsTabView .version-container img, .revertVersion img {
- filter: var(--background-invert-if-dark);
-}
-
-.versionsTabView img {
- cursor: pointer;
- padding-right: 4px;
-}
-
-.versionsTabView img.preview {
- cursor: default;
-}
-
-.versionsTabView .version-container {
- display: inline-block;
-}
-
-.versionsTabView .versiondate {
- min-width: 100px;
- vertical-align: super;
-}
-
-.versionsTabView .version-details {
- text-align: left;
-}
-
-.versionsTabView .version-details > span {
- padding: 0 10px;
-}
-
-.versionsTabView .revertVersion {
- cursor: pointer;
- float: right;
- margin-right: -10px;
-}
-
-.versionsTabView .emptycontent {
- margin-top: 50px !important;
-}
diff --git a/apps/files_versions/src/files_versions_tab.js b/apps/files_versions/src/files_versions_tab.js
new file mode 100644
index 00000000000..8482247e672
--- /dev/null
+++ b/apps/files_versions/src/files_versions_tab.js
@@ -0,0 +1,70 @@
+/**
+ * @copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ * @license AGPL-3.0-or-later
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+import Vue from 'vue'
+import { translate as t, translatePlural as n } from '@nextcloud/l10n'
+
+import VersionTab from './views/VersionTab.vue'
+import VTooltip from 'v-tooltip'
+// eslint-disable-next-line node/no-missing-import, import/no-unresolved
+import BackupRestore from '@mdi/svg/svg/backup-restore.svg?raw'
+
+Vue.prototype.t = t
+Vue.prototype.n = n
+
+Vue.use(VTooltip)
+
+// Init Sharing tab component
+const View = Vue.extend(VersionTab)
+let TabInstance = null
+
+window.addEventListener('DOMContentLoaded', function() {
+ if (OCA.Files?.Sidebar === undefined) {
+ return
+ }
+
+ OCA.Files.Sidebar.registerTab(new OCA.Files.Sidebar.Tab({
+ id: 'version_vue',
+ name: t('files_versions', 'Version'),
+ iconSvg: BackupRestore,
+
+ async mount(el, fileInfo, context) {
+ if (TabInstance) {
+ TabInstance.$destroy()
+ }
+ TabInstance = new View({
+ // Better integration with vue parent component
+ parent: context,
+ })
+ // Only mount after we have all the info we need
+ await TabInstance.update(fileInfo)
+ TabInstance.$mount(el)
+ },
+ update(fileInfo) {
+ TabInstance.update(fileInfo)
+ },
+ destroy() {
+ TabInstance.$destroy()
+ TabInstance = null
+ },
+ enabled(fileInfo) {
+ return !(fileInfo?.isDirectory() ?? true)
+ },
+ }))
+})
diff --git a/apps/files_versions/src/templates/item.handlebars b/apps/files_versions/src/templates/item.handlebars
deleted file mode 100644
index 656cab22866..00000000000
--- a/apps/files_versions/src/templates/item.handlebars
+++ /dev/null
@@ -1,22 +0,0 @@
-<li data-revision="{{id}}">
- <div>
- <div class="preview-container">
- <img class="preview" src="{{previewUrl}}" width="44" height="44"/>
- </div>
- <div class="version-container">
- <div>
- <a href="{{downloadUrl}}" class="downloadVersion" download="{{downloadName}}"><img src="{{downloadIconUrl}}" />
- <span class="versiondate has-tooltip live-relative-timestamp" data-timestamp="{{millisecondsTimestamp}}" title="{{formattedTimestamp}}">{{relativeTimestamp}}</span>
- </a>
- </div>
- {{#hasDetails}}
- <div class="version-details">
- <span class="size has-tooltip" title="{{altSize}}">{{humanReadableSize}}</span>
- </div>
- {{/hasDetails}}
- </div>
- {{#canRevert}}
- <a href="#" class="revertVersion" title="{{revertLabel}}"><img src="{{revertIconUrl}}" /></a>
- {{/canRevert}}
- </div>
-</li>
diff --git a/apps/files_versions/src/templates/template.handlebars b/apps/files_versions/src/templates/template.handlebars
deleted file mode 100644
index f01a6f41626..00000000000
--- a/apps/files_versions/src/templates/template.handlebars
+++ /dev/null
@@ -1,10 +0,0 @@
-<ul class="versions"></ul>
-<div class="clear-float"></div>
-<div class="empty hidden">
- <div class="emptycontent">
- <div class="icon-history"></div>
- <p>{{emptyResultLabel}}</p>
- </div>
-</div>
-<input type="button" class="showMoreVersions hidden" value="{{moreVersionsLabel}}" name="show-more-versions" id="show-more-versions" />
-<div class="loading hidden" style="height: 50px"></div>
diff --git a/apps/files_versions/src/files_versions.js b/apps/files_versions/src/utils/davClient.js
index 9f4ccc2c1bf..e4bfeb10411 100644
--- a/apps/files_versions/src/files_versions.js
+++ b/apps/files_versions/src/utils/davClient.js
@@ -1,7 +1,7 @@
/**
- * @copyright Copyright (c) 2016 Roeland Jago Douma <roeland@famdouma.nl>
+ * @copyright 2022 Louis Chemineau <mlouis@chmn.me>
*
- * @author Roeland Jago Douma <roeland@famdouma.nl>
+ * @author Louis Chemineau <mlouis@chmn.me>
*
* @license AGPL-3.0-or-later
*
@@ -17,13 +17,18 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
*/
-import './versionmodel'
-import './versioncollection'
-import './versionstabview'
-import './filesplugin'
-import './css/versions.css'
+import { createClient, getPatcher } from 'webdav'
+import { generateRemoteUrl } from '@nextcloud/router'
+import axios from '@nextcloud/axios'
+
+const rootPath = 'dav'
+
+// force our axios
+const patcher = getPatcher()
+patcher.patch('request', axios)
-window.OCA.Versions = OCA.Versions
+// init webdav client on default dav endpoint
+const remote = generateRemoteUrl(rootPath)
+export default createClient(remote)
diff --git a/apps/files_versions/src/utils/davRequest.js b/apps/files_versions/src/utils/davRequest.js
new file mode 100644
index 00000000000..b77cd150643
--- /dev/null
+++ b/apps/files_versions/src/utils/davRequest.js
@@ -0,0 +1,33 @@
+/**
+ * @copyright Copyright (c) 2019 Louis Chmn <louis@chmn.me>
+ *
+ * @author Louis Chmn <louis@chmn.me>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+export default `<?xml version="1.0"?>
+<d:propfind xmlns:d="DAV:"
+ xmlns:oc="http://owncloud.org/ns"
+ xmlns:nc="http://nextcloud.org/ns"
+ xmlns:ocs="http://open-collaboration-services.org/ns">
+ <d:prop>
+ <d:getcontentlength />
+ <d:getcontenttype />
+ <d:getlastmodified />
+ </d:prop>
+</d:propfind>`
diff --git a/apps/theming/src/helpers/prefixWithBaseUrl.js b/apps/files_versions/src/utils/logger.js
index d2f42c93549..4f0356764d9 100644
--- a/apps/theming/src/helpers/prefixWithBaseUrl.js
+++ b/apps/files_versions/src/utils/logger.js
@@ -1,7 +1,7 @@
/**
- * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
+ * @copyright 2022 Louis Chemineau <mlouis@chmn.me>
*
- * @author Julius Härtl <jus@bitgrid.net>
+ * @author Louis Chemineau <mlouis@chmn.me>
*
* @license AGPL-3.0-or-later
*
@@ -17,9 +17,11 @@
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
*/
-import { generateFilePath } from '@nextcloud/router'
+import { getLoggerBuilder } from '@nextcloud/logger'
-export const prefixWithBaseUrl = (url) => generateFilePath('theming', '', 'img/background/') + url
+export default getLoggerBuilder()
+ .setApp('files_version')
+ .detectUser()
+ .build()
diff --git a/apps/files_versions/src/utils/versions.js b/apps/files_versions/src/utils/versions.js
new file mode 100644
index 00000000000..8fe258119f7
--- /dev/null
+++ b/apps/files_versions/src/utils/versions.js
@@ -0,0 +1,124 @@
+/**
+ * @copyright 2022 Louis Chemineau <mlouis@chmn.me>
+ *
+ * @author Louis Chemineau <mlouis@chmn.me>
+ *
+ * @license AGPL-3.0-or-later
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Affero General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU Affero General Public License for more details.
+ *
+ * You should have received a copy of the GNU Affero General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+import { getCurrentUser } from '@nextcloud/auth'
+import client from '../utils/davClient.js'
+import davRequest from '../utils/davRequest.js'
+import logger from '../utils/logger.js'
+import { basename, joinPaths } from '@nextcloud/paths'
+import { generateUrl } from '@nextcloud/router'
+import { translate } from '@nextcloud/l10n'
+import moment from '@nextcloud/moment'
+
+/**
+ * @typedef {object} Version
+ * @property {string} title - 'Current version' or ''
+ * @property {string} fileName - File name relative to the version DAV endpoint
+ * @property {string} mimeType - Empty for the current version, else the actual mime type of the version
+ * @property {string} size - Human readable size
+ * @property {string} type - 'file'
+ * @property {number} mtime - Version creation date as a timestamp
+ * @property {string} preview - Preview URL of the version
+ * @property {string} url - Download URL of the version
+ * @property {string|null} fileVersion - The version id, null for the current version
+ * @property {boolean} isCurrent - Whether this is the current version of the file
+ */
+
+/**
+ * @param fileInfo
+ * @return {Promise<Version[]>}
+ */
+export async function fetchVersions(fileInfo) {
+ const path = `/versions/${getCurrentUser()?.uid}/versions/${fileInfo.id}`
+
+ try {
+ /** @type {import('webdav').FileStat[]} */
+ const response = await client.getDirectoryContents(path, {
+ data: davRequest,
+ })
+ return response.map(version => formatVersion(version, fileInfo))
+ } catch (exception) {
+ logger.error('Could not fetch version', { exception })
+ throw exception
+ }
+}
+
+/**
+ * Restore the given version
+ *
+ * @param {Version} version
+ * @param {object} fileInfo
+ */
+export async function restoreVersion(version, fileInfo) {
+ try {
+ logger.debug('Restoring version', { url: version.url })
+ await client.moveFile(
+ `/versions/${getCurrentUser()?.uid}/versions/${fileInfo.id}/${version.fileVersion}`,
+ `/versions/${getCurrentUser()?.uid}/restore/target`
+ )
+ } catch (exception) {
+ logger.error('Could not restore version', { exception })
+ throw exception
+ }
+}
+
+/**
+ * Format version
+ *
+ * @param {object} version - raw version received from the versions DAV endpoint
+ * @param {object} fileInfo - file properties received from the files DAV endpoint
+ * @return {Version}
+ */
+function formatVersion(version, fileInfo) {
+ const isCurrent = version.mime === ''
+ const fileVersion = isCurrent ? null : basename(version.filename)
+
+ let url = null
+ let preview = null
+
+ if (isCurrent) {
+ // https://nextcloud_server2.test/remote.php/webdav/welcome.txt?downloadStartSecret=hl5awd7tbzg
+ url = joinPaths('/remote.php/webdav', fileInfo.path, fileInfo.name)
+ preview = generateUrl('/core/preview?fileId={fileId}&c={fileEtag}&x=250&y=250&forceIcon=0&a=0', {
+ fileId: fileInfo.id,
+ fileEtag: fileInfo.etag,
+ })
+ } else {
+ url = joinPaths('/remote.php/dav', version.filename)
+ preview = generateUrl('/apps/files_versions/preview?file={file}&version={fileVersion}', {
+ file: joinPaths(fileInfo.path, fileInfo.name),
+ fileVersion,
+ })
+ }
+
+ return {
+ title: isCurrent ? translate('files_versions', 'Current version') : '',
+ fileName: version.filename,
+ mimeType: version.mime,
+ size: isCurrent ? fileInfo.size : version.size,
+ type: version.type,
+ mtime: moment(isCurrent ? fileInfo.mtime : version.lastmod).unix(),
+ preview,
+ url,
+ fileVersion,
+ isCurrent,
+ }
+}
diff --git a/apps/files_versions/src/versioncollection.js b/apps/files_versions/src/versioncollection.js
deleted file mode 100644
index 592b4f8cda2..00000000000
--- a/apps/files_versions/src/versioncollection.js
+++ /dev/null
@@ -1,97 +0,0 @@
-/**
- * Copyright (c) 2015
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-(function() {
- /**
- * @memberof OCA.Versions
- */
- const VersionCollection = OC.Backbone.Collection.extend({
- model: OCA.Versions.VersionModel,
- sync: OC.Backbone.davSync,
-
- /**
- * @member OCA.Files.FileInfoModel
- */
- _fileInfo: null,
-
- _currentUser: null,
-
- _client: null,
-
- setFileInfo(fileInfo) {
- this._fileInfo = fileInfo
- },
-
- getFileInfo() {
- return this._fileInfo
- },
-
- setCurrentUser(user) {
- this._currentUser = user
- },
-
- getCurrentUser() {
- return this._currentUser || OC.getCurrentUser().uid
- },
-
- setClient(client) {
- this._client = client
- },
-
- getClient() {
- return this._client || new OC.Files.Client({
- host: OC.getHost(),
- root: OC.linkToRemoteBase('dav') + '/versions/' + this.getCurrentUser(),
- useHTTPS: OC.getProtocol() === 'https',
- })
- },
-
- url() {
- return OC.linkToRemoteBase('dav') + '/versions/' + this.getCurrentUser() + '/versions/' + this._fileInfo.get('id')
- },
-
- parse(result) {
- const fullPath = this._fileInfo.getFullPath()
- const fileId = this._fileInfo.get('id')
- const name = this._fileInfo.get('name')
- const user = this.getCurrentUser()
- const client = this.getClient()
- return _.map(result, function(version) {
- version.fullPath = fullPath
- version.fileId = fileId
- version.name = name
- version.timestamp = parseInt(moment(new Date(version.timestamp)).format('X'), 10)
- version.id = OC.basename(version.href)
- version.size = parseInt(version.size, 10)
- version.user = user
- version.client = client
- return version
- })
- },
- })
-
- OCA.Versions = OCA.Versions || {}
-
- OCA.Versions.VersionCollection = VersionCollection
-})()
diff --git a/apps/files_versions/src/versionmodel.js b/apps/files_versions/src/versionmodel.js
deleted file mode 100644
index 01914f702e2..00000000000
--- a/apps/files_versions/src/versionmodel.js
+++ /dev/null
@@ -1,86 +0,0 @@
-/**
- * Copyright (c) 2015
- *
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-(function() {
- /**
- * @memberof OCA.Versions
- */
- const VersionModel = OC.Backbone.Model.extend({
- sync: OC.Backbone.davSync,
-
- davProperties: {
- size: '{DAV:}getcontentlength',
- mimetype: '{DAV:}getcontenttype',
- timestamp: '{DAV:}getlastmodified',
- },
-
- /**
- * Restores the original file to this revision
- *
- * @param {object} [options] options
- * @return {Promise}
- */
- revert(options) {
- options = options ? _.clone(options) : {}
- const model = this
-
- const client = this.get('client')
-
- return client.move('/versions/' + this.get('fileId') + '/' + this.get('id'), '/restore/target', true)
- .done(function() {
- if (options.success) {
- options.success.call(options.context, model, {}, options)
- }
- model.trigger('revert', model, options)
- })
- .fail(function() {
- if (options.error) {
- options.error.call(options.context, model, {}, options)
- }
- model.trigger('error', model, {}, options)
- })
- },
-
- getFullPath() {
- return this.get('fullPath')
- },
-
- getPreviewUrl() {
- const url = OC.generateUrl('/apps/files_versions/preview')
- const params = {
- file: this.get('fullPath'),
- version: this.get('id'),
- }
- return url + '?' + OC.buildQueryString(params)
- },
-
- getDownloadUrl() {
- return OC.linkToRemoteBase('dav') + '/versions/' + this.get('user') + '/versions/' + this.get('fileId') + '/' + this.get('id')
- },
- })
-
- OCA.Versions = OCA.Versions || {}
-
- OCA.Versions.VersionModel = VersionModel
-})()
diff --git a/apps/files_versions/src/versionstabview.js b/apps/files_versions/src/versionstabview.js
deleted file mode 100644
index 9f76755a582..00000000000
--- a/apps/files_versions/src/versionstabview.js
+++ /dev/null
@@ -1,231 +0,0 @@
-/**
- * Copyright (c) 2015
- *
- * @author Jan-Christoph Borchardt <hey@jancborchardt.net>
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Julius Härtl <jus@bitgrid.net>
- * @author Michael Jobst <mjobst+github@tecratech.de>
- * @author noveens <noveen.sachdeva@research.iiit.ac.in>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-import ItemTemplate from './templates/item.handlebars'
-import Template from './templates/template.handlebars';
-
-(function() {
- if (!OCA.Files.DetailTabView) {
- // Only register the versions tab within the files app
- return
- }
- /**
- * @memberof OCA.Versions
- */
- const VersionsTabView = OCA.Files.DetailTabView.extend(/** @lends OCA.Versions.VersionsTabView.prototype */{
- id: 'versionsTabView',
- className: 'tab versionsTabView',
-
- _template: null,
-
- $versionsContainer: null,
-
- events: {
- 'click .revertVersion': '_onClickRevertVersion',
- },
-
- initialize() {
- OCA.Files.DetailTabView.prototype.initialize.apply(this, arguments)
- this.collection = new OCA.Versions.VersionCollection()
- this.collection.on('request', this._onRequest, this)
- this.collection.on('sync', this._onEndRequest, this)
- this.collection.on('update', this._onUpdate, this)
- this.collection.on('error', this._onError, this)
- this.collection.on('add', this._onAddModel, this)
- },
-
- getLabel() {
- return t('files_versions', 'Versions')
- },
-
- getIcon() {
- return 'icon-history'
- },
-
- nextPage() {
- if (this._loading) {
- return
- }
-
- if (this.collection.getFileInfo() && this.collection.getFileInfo().isDirectory()) {
- return
- }
- this.collection.fetch()
- },
-
- _onClickRevertVersion(ev) {
- const self = this
- let $target = $(ev.target)
- const fileInfoModel = this.collection.getFileInfo()
- if (!$target.is('li')) {
- $target = $target.closest('li')
- }
-
- ev.preventDefault()
- const revision = $target.attr('data-revision')
-
- const versionModel = this.collection.get(revision)
- versionModel.revert({
- success() {
- // reset and re-fetch the updated collection
- self.$versionsContainer.empty()
- self.collection.setFileInfo(fileInfoModel)
- self.collection.reset([], { silent: true })
- self.collection.fetch()
-
- self.$el.find('.versions').removeClass('hidden')
-
- // update original model
- fileInfoModel.trigger('busy', fileInfoModel, false)
- fileInfoModel.set({
- size: versionModel.get('size'),
- mtime: versionModel.get('timestamp') * 1000,
- // temp dummy, until we can do a PROPFIND
- etag: versionModel.get('id') + versionModel.get('timestamp'),
- })
- },
-
- error() {
- fileInfoModel.trigger('busy', fileInfoModel, false)
- self.$el.find('.versions').removeClass('hidden')
- self._toggleLoading(false)
- OC.Notification.show(t('files_version', 'Failed to revert {file} to revision {timestamp}.',
- {
- file: versionModel.getFullPath(),
- timestamp: OC.Util.formatDate(versionModel.get('timestamp') * 1000),
- }),
- {
- type: 'error',
- }
- )
- },
- })
-
- // spinner
- this._toggleLoading(true)
- fileInfoModel.trigger('busy', fileInfoModel, true)
- },
-
- _toggleLoading(state) {
- this._loading = state
- this.$el.find('.loading').toggleClass('hidden', !state)
- },
-
- _onRequest() {
- this._toggleLoading(true)
- },
-
- _onEndRequest() {
- this._toggleLoading(false)
- this.$el.find('.empty').toggleClass('hidden', !!this.collection.length)
- },
-
- _onAddModel(model) {
- const $el = $(this.itemTemplate(this._formatItem(model)))
- this.$versionsContainer.append($el)
- $el.find('.has-tooltip').tooltip()
- },
-
- template(data) {
- return Template(data)
- },
-
- itemTemplate(data) {
- return ItemTemplate(data)
- },
-
- setFileInfo(fileInfo) {
- if (fileInfo) {
- this.render()
- this.collection.setFileInfo(fileInfo)
- this.collection.reset([], { silent: true })
- this.nextPage()
- } else {
- this.render()
- this.collection.reset()
- }
- },
-
- _formatItem(version) {
- const timestamp = version.get('timestamp') * 1000
- const size = version.has('size') ? version.get('size') : 0
- const preview = OC.MimeType.getIconUrl(version.get('mimetype'))
- const img = new Image()
- img.onload = function() {
- $('li[data-revision=' + version.get('id') + '] .preview').attr('src', version.getPreviewUrl())
- }
- img.src = version.getPreviewUrl()
-
- return _.extend({
- versionId: version.get('id'),
- formattedTimestamp: OC.Util.formatDate(timestamp),
- relativeTimestamp: OC.Util.relativeModifiedDate(timestamp),
- millisecondsTimestamp: timestamp,
- humanReadableSize: OC.Util.humanFileSize(size, true),
- altSize: n('files', '%n byte', '%n bytes', size),
- hasDetails: version.has('size'),
- downloadUrl: version.getDownloadUrl(),
- downloadIconUrl: OC.imagePath('core', 'actions/download'),
- downloadName: version.get('name'),
- revertIconUrl: OC.imagePath('core', 'actions/history'),
- previewUrl: preview,
- revertLabel: t('files_versions', 'Restore'),
- canRevert: (this.collection.getFileInfo().get('permissions') & OC.PERMISSION_UPDATE) !== 0,
- }, version.attributes)
- },
-
- /**
- * Renders this details view
- */
- render() {
- this.$el.html(this.template({
- emptyResultLabel: t('files_versions', 'No other versions available'),
- }))
- this.$el.find('.has-tooltip').tooltip()
- this.$versionsContainer = this.$el.find('ul.versions')
- this.delegateEvents()
- },
-
- /**
- * Returns true for files, false for folders.
- *
- * @param {FileInfo} fileInfo fileInfo
- * @return {boolean} true for files, false for folders
- */
- canDisplay(fileInfo) {
- if (!fileInfo) {
- return false
- }
- return !fileInfo.isDirectory()
- },
- })
-
- OCA.Versions = OCA.Versions || {}
-
- OCA.Versions.VersionsTabView = VersionsTabView
-})()
diff --git a/apps/files_versions/src/views/VersionTab.vue b/apps/files_versions/src/views/VersionTab.vue
new file mode 100644
index 00000000000..8159415dfc7
--- /dev/null
+++ b/apps/files_versions/src/views/VersionTab.vue
@@ -0,0 +1,182 @@
+<!--
+ - @copyright 2022 Carl Schwan <carl@carlschwan.eu>
+ - @license AGPL-3.0-or-later
+ -
+ - This program is free software: you can redistribute it and/or modify
+ - it under the terms of the GNU Affero General Public License as
+ - published by the Free Software Foundation, either version 3 of the
+ - License, or (at your option) any later version.
+ -
+ - This program is distributed in the hope that it will be useful,
+ - but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ - GNU Affero General Public License for more details.
+ -
+ - You should have received a copy of the GNU Affero General Public License
+ - along with this program. If not, see <http://www.gnu.org/licenses/>.
+ -->
+<template>
+ <div>
+ <ul>
+ <NcListItem v-for="version in versions"
+ :key="version.mtime"
+ class="version"
+ :title="version.title"
+ :href="version.url">
+ <template #icon>
+ <img lazy="true"
+ :src="version.preview"
+ alt=""
+ height="256"
+ width="256"
+ class="version__image">
+ </template>
+ <template #subtitle>
+ <div class="version__info">
+ <span>{{ version.mtime | humanDateFromNow }}</span>
+ <!-- Separate dot to improve alignement -->
+ <span class="version__info__size">•</span>
+ <span class="version__info__size">{{ version.size | humanReadableSize }}</span>
+ </div>
+ </template>
+ <template v-if="!version.isCurrent" #actions>
+ <NcActionLink :href="version.url"
+ :download="version.url">
+ <template #icon>
+ <Download :size="22" />
+ </template>
+ {{ t('files_versions', 'Download version') }}
+ </NcActionLink>
+ <NcActionButton @click="restoreVersion(version)">
+ <template #icon>
+ <BackupRestore :size="22" />
+ </template>
+ {{ t('files_versions', 'Restore version') }}
+ </NcActionButton>
+ </template>
+ </NcListItem>
+ <NcEmptyContent v-if="!loading && versions.length === 1"
+ :title="t('files_version', 'No versions yet')">
+ <!-- length === 1, since we don't want to show versions if there is only the current file -->
+ <template #icon>
+ <BackupRestore />
+ </template>
+ </NcEmptyContent>
+ </ul>
+ </div>
+</template>
+
+<script>
+import BackupRestore from 'vue-material-design-icons/BackupRestore.vue'
+import Download from 'vue-material-design-icons/Download.vue'
+import NcActionButton from '@nextcloud/vue/dist/Components/NcActionButton.js'
+import NcActionLink from '@nextcloud/vue/dist/Components/NcActionLink.js'
+import NcListItem from '@nextcloud/vue/dist/Components/NcListItem.js'
+import NcEmptyContent from '@nextcloud/vue/dist/Components/NcEmptyContent.js'
+import { showError, showSuccess } from '@nextcloud/dialogs'
+import { fetchVersions, restoreVersion } from '../utils/versions.js'
+import moment from '@nextcloud/moment'
+
+export default {
+ name: 'VersionTab',
+ components: {
+ NcEmptyContent,
+ NcActionLink,
+ NcActionButton,
+ NcListItem,
+ BackupRestore,
+ Download,
+ },
+ filters: {
+ humanReadableSize(bytes) {
+ return OC.Util.humanFileSize(bytes)
+ },
+ humanDateFromNow(timestamp) {
+ return moment(timestamp * 1000).fromNow()
+ },
+ },
+ data() {
+ return {
+ fileInfo: null,
+ /** @type {import('../utils/versions.js').Version[]} */
+ versions: [],
+ loading: false,
+ }
+ },
+ methods: {
+ /**
+ * Update current fileInfo and fetch new data
+ *
+ * @param {object} fileInfo the current file FileInfo
+ */
+ async update(fileInfo) {
+ this.fileInfo = fileInfo
+ this.resetState()
+ this.fetchVersions()
+ },
+
+ /**
+ * Get the existing versions infos
+ */
+ async fetchVersions() {
+ try {
+ this.loading = true
+ this.versions = await fetchVersions(this.fileInfo)
+ } finally {
+ this.loading = false
+ }
+ },
+
+ /**
+ * Restore the given version
+ *
+ * @param version
+ */
+ async restoreVersion(version) {
+ try {
+ await restoreVersion(version, this.fileInfo)
+ // File info is not updated so we manually update its size and mtime if the restoration went fine.
+ this.fileInfo.size = version.size
+ this.fileInfo.mtime = version.lastmod
+ showSuccess(t('files_versions', 'Version restored'))
+ await this.fetchVersions()
+ } catch (exception) {
+ showError(t('files_versions', 'Could not restore version'))
+ }
+ },
+
+ /**
+ * Reset the current view to its default state
+ */
+ resetState() {
+ this.versions = []
+ },
+ },
+}
+</script>
+
+<style scopped lang="scss">
+.version {
+ display: flex;
+ flex-direction: row;
+
+ &__info {
+ display: flex;
+ flex-direction: row;
+ align-items: center;
+ gap: 0.5rem;
+
+ &__size {
+ color: var(--color-text-lighter);
+ }
+ }
+
+ &__image {
+ width: 3rem;
+ height: 3rem;
+ border: 1px solid var(--color-border);
+ margin-right: 1rem;
+ border-radius: var(--border-radius-large);
+ }
+}
+</style>
diff --git a/apps/files_versions/tests/js/versioncollectionSpec.js b/apps/files_versions/tests/js/versioncollectionSpec.js
deleted file mode 100644
index 672515146b7..00000000000
--- a/apps/files_versions/tests/js/versioncollectionSpec.js
+++ /dev/null
@@ -1,48 +0,0 @@
-/**
- * Copyright (c) 2015
- *
- * @author Robin Appelman <robin@icewind.nl>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-describe('OCA.Versions.VersionCollection', function() {
- var VersionCollection = OCA.Versions.VersionCollection;
- var collection, fileInfoModel;
-
- beforeEach(function() {
- fileInfoModel = new OCA.Files.FileInfoModel({
- path: '/subdir',
- name: 'some file.txt',
- id: 10,
- });
- collection = new VersionCollection();
- collection.setFileInfo(fileInfoModel);
- collection.setCurrentUser('user');
- });
- it('fetches the versions', function() {
- collection.fetch();
-
- expect(fakeServer.requests.length).toEqual(1);
- expect(fakeServer.requests[0].url).toEqual(
- OC.linkToRemoteBase('dav') + '/versions/user/versions/10'
- );
- fakeServer.requests[0].respond(200);
- });
-});
-
diff --git a/apps/files_versions/tests/js/versionmodelSpec.js b/apps/files_versions/tests/js/versionmodelSpec.js
deleted file mode 100644
index d4b7bec43ae..00000000000
--- a/apps/files_versions/tests/js/versionmodelSpec.js
+++ /dev/null
@@ -1,124 +0,0 @@
-/**
- * Copyright (c) 2015
- *
- * @author Daniel Calviño Sánchez <danxuliu@gmail.com>
- * @author Robin Appelman <robin@icewind.nl>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-describe('OCA.Versions.VersionModel', function() {
- var VersionModel = OCA.Versions.VersionModel;
- var model;
- var uid = OC.currentUser = 'user';
-
- beforeEach(function() {
- model = new VersionModel({
- id: 10000000,
- fileId: 10,
- timestamp: 10000000,
- fullPath: '/subdir/some file.txt',
- name: 'some file.txt',
- size: 150,
- user: 'user',
- client: new OC.Files.Client({
- host: 'localhost',
- port: 80,
- root: '/remote.php/dav/versions/user',
- useHTTPS: OC.getProtocol() === 'https'
- })
- });
- });
-
- it('returns the full path', function() {
- expect(model.getFullPath()).toEqual('/subdir/some file.txt');
- });
- it('returns the preview url', function() {
- expect(model.getPreviewUrl())
- .toEqual(OC.generateUrl('/apps/files_versions/preview') +
- '?file=%2Fsubdir%2Fsome%20file.txt&version=10000000'
- );
- });
- it('returns the download url', function() {
- expect(model.getDownloadUrl())
- .toEqual(OC.linkToRemoteBase('dav') + '/versions/' + uid +
- '/versions/10/10000000'
- );
- });
- describe('reverting', function() {
- var revertEventStub;
- var successStub;
- var errorStub;
-
- beforeEach(function() {
- revertEventStub = sinon.stub();
- errorStub = sinon.stub();
- successStub = sinon.stub();
-
- model.on('revert', revertEventStub);
- model.on('error', errorStub);
- });
- it('tells the server to revert when calling the revert method', function(done) {
- var promise = model.revert({
- success: successStub
- });
-
- expect(fakeServer.requests.length).toEqual(1);
- var request = fakeServer.requests[0];
- expect(request.url)
- .toEqual(
- OC.linkToRemoteBase('dav') + '/versions/user/versions/10/10000000'
- );
- expect(request.requestHeaders.Destination).toEqual(OC.getRootPath() + '/remote.php/dav/versions/user/restore/target');
- request.respond(201);
-
- promise.then(function() {
- expect(revertEventStub.calledOnce).toEqual(true);
- expect(successStub.calledOnce).toEqual(true);
- expect(errorStub.notCalled).toEqual(true);
-
- done();
- });
- });
- it('triggers error event when server returns a failure', function(done) {
- var promise = model.revert({
- success: successStub
- });
-
- expect(fakeServer.requests.length).toEqual(1);
- var responseErrorHeaders = {
- "Content-Type": "application/xml"
- };
- var responseErrorBody =
- '<d:error xmlns:d="DAV:" xmlns:s="http://sabredav.org/ns">' +
- ' <s:exception>Sabre\\DAV\\Exception\\SomeException</s:exception>' +
- ' <s:message>Some error message</s:message>' +
- '</d:error>';
- fakeServer.requests[0].respond(404, responseErrorHeaders, responseErrorBody);
-
- promise.fail(function() {
- expect(revertEventStub.notCalled).toEqual(true);
- expect(successStub.notCalled).toEqual(true);
- expect(errorStub.calledOnce).toEqual(true);
-
- done();
- });
- });
- });
-});
-
diff --git a/apps/files_versions/tests/js/versionstabviewSpec.js b/apps/files_versions/tests/js/versionstabviewSpec.js
deleted file mode 100644
index f7bec0ab1b5..00000000000
--- a/apps/files_versions/tests/js/versionstabviewSpec.js
+++ /dev/null
@@ -1,193 +0,0 @@
-/**
- * Copyright (c) 2015
- *
- * @author Michael Jobst <mjobst+github@tecratech.de>
- * @author Morris Jobke <hey@morrisjobke.de>
- * @author noveens <noveen.sachdeva@research.iiit.ac.in>
- * @author Roeland Jago Douma <roeland@famdouma.nl>
- * @author Vincent Petry <vincent@nextcloud.com>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-describe('OCA.Versions.VersionsTabView', function() {
- var VersionCollection = OCA.Versions.VersionCollection;
- var VersionModel = OCA.Versions.VersionModel;
- var VersionsTabView = OCA.Versions.VersionsTabView;
-
- var fetchStub, fileInfoModel, tabView, testVersions, clock;
-
- beforeEach(function() {
- clock = sinon.useFakeTimers(Date.UTC(2015, 6, 17, 1, 2, 0, 3));
- var time1 = Date.UTC(2015, 6, 17, 1, 2, 0, 3) / 1000;
- var time2 = Date.UTC(2015, 6, 15, 1, 2, 0, 3) / 1000;
-
- var version1 = new VersionModel({
- id: time1,
- timestamp: time1,
- name: 'some file.txt',
- size: 140,
- fullPath: '/subdir/some file.txt',
- mimetype: 'text/plain'
- });
- var version2 = new VersionModel({
- id: time2,
- timestamp: time2,
- name: 'some file.txt',
- size: 150,
- fullPath: '/subdir/some file.txt',
- mimetype: 'text/plain'
- });
-
- testVersions = [version1, version2];
-
- fetchStub = sinon.stub(VersionCollection.prototype, 'fetch');
- fileInfoModel = new OCA.Files.FileInfoModel({
- id: 123,
- name: 'test.txt',
- permissions: OC.PERMISSION_READ | OC.PERMISSION_UPDATE
- });
- tabView = new VersionsTabView();
- tabView.render();
- });
-
- afterEach(function() {
- fetchStub.restore();
- tabView.remove();
- clock.restore();
- });
-
- describe('rendering', function() {
- it('reloads matching versions when setting file info model', function() {
- tabView.setFileInfo(fileInfoModel);
- expect(fetchStub.calledOnce).toEqual(true);
- });
-
- it('renders loading icon while fetching versions', function() {
- tabView.setFileInfo(fileInfoModel);
- tabView.collection.trigger('request');
-
- expect(tabView.$el.find('.loading').length).toEqual(1);
- expect(tabView.$el.find('.versions li').length).toEqual(0);
- });
-
- it('renders versions', function() {
-
- tabView.setFileInfo(fileInfoModel);
- tabView.collection.set(testVersions);
-
- var version1 = testVersions[0];
- var version2 = testVersions[1];
- var $versions = tabView.$el.find('.versions>li');
- expect($versions.length).toEqual(2);
- var $item = $versions.eq(0);
- expect($item.find('.downloadVersion').attr('href')).toEqual(version1.getDownloadUrl());
- expect($item.find('.versiondate').text()).toEqual('seconds ago');
- expect($item.find('.size').text()).toEqual('< 1 KB');
- expect($item.find('.revertVersion').length).toEqual(1);
-
- $item = $versions.eq(1);
- expect($item.find('.downloadVersion').attr('href')).toEqual(version2.getDownloadUrl());
- expect($item.find('.versiondate').text()).toEqual('2 days ago');
- expect($item.find('.size').text()).toEqual('< 1 KB');
- expect($item.find('.revertVersion').length).toEqual(1);
- });
-
- it('does not render revert button when no update permissions', function() {
-
- fileInfoModel.set('permissions', OC.PERMISSION_READ);
- tabView.setFileInfo(fileInfoModel);
- tabView.collection.set(testVersions);
-
- var version1 = testVersions[0];
- var version2 = testVersions[1];
- var $versions = tabView.$el.find('.versions>li');
- expect($versions.length).toEqual(2);
- var $item = $versions.eq(0);
- expect($item.find('.downloadVersion').attr('href')).toEqual(version1.getDownloadUrl());
- expect($item.find('.versiondate').text()).toEqual('seconds ago');
- expect($item.find('.revertVersion').length).toEqual(0);
-
- $item = $versions.eq(1);
- expect($item.find('.downloadVersion').attr('href')).toEqual(version2.getDownloadUrl());
- expect($item.find('.versiondate').text()).toEqual('2 days ago');
- expect($item.find('.revertVersion').length).toEqual(0);
- });
- });
-
- describe('Reverting', function() {
- var revertStub;
-
- beforeEach(function() {
- revertStub = sinon.stub(VersionModel.prototype, 'revert');
- tabView.setFileInfo(fileInfoModel);
- tabView.collection.set(testVersions);
- });
-
- afterEach(function() {
- revertStub.restore();
- });
-
- it('tells the model to revert when clicking "Revert"', function() {
- tabView.$el.find('.revertVersion').eq(1).click();
-
- expect(revertStub.calledOnce).toEqual(true);
- });
- it('triggers busy state during revert', function() {
- var busyStub = sinon.stub();
- fileInfoModel.on('busy', busyStub);
-
- tabView.$el.find('.revertVersion').eq(1).click();
-
- expect(busyStub.calledOnce).toEqual(true);
- expect(busyStub.calledWith(fileInfoModel, true)).toEqual(true);
-
- busyStub.reset();
- revertStub.getCall(0).args[0].success();
-
- expect(busyStub.calledOnce).toEqual(true);
- expect(busyStub.calledWith(fileInfoModel, false)).toEqual(true);
- });
- it('updates the file info model with the information from the reverted revision', function() {
- var changeStub = sinon.stub();
- fileInfoModel.on('change', changeStub);
-
- tabView.$el.find('.revertVersion').eq(1).click();
-
- expect(changeStub.notCalled).toEqual(true);
-
- revertStub.getCall(0).args[0].success();
-
- expect(changeStub.calledOnce).toEqual(true);
- var changes = changeStub.getCall(0).args[0].changed;
- expect(changes.size).toEqual(150);
- expect(changes.mtime).toEqual(testVersions[1].get('timestamp') * 1000);
- expect(changes.etag).toBeDefined();
- });
- it('shows notification on revert error', function() {
- var notificationStub = sinon.stub(OC.Notification, 'show');
-
- tabView.$el.find('.revertVersion').eq(1).click();
-
- revertStub.getCall(0).args[0].error();
-
- expect(notificationStub.calledOnce).toEqual(true);
-
- notificationStub.restore();
- });
- });
-});
diff --git a/apps/lookup_server_connector/composer/autoload.php b/apps/lookup_server_connector/composer/autoload.php
index 521fd3630e4..1024b4412ab 100644
--- a/apps/lookup_server_connector/composer/autoload.php
+++ b/apps/lookup_server_connector/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/lookup_server_connector/composer/composer/installed.php b/apps/lookup_server_connector/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/lookup_server_connector/composer/composer/installed.php
+++ b/apps/lookup_server_connector/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/oauth2/composer/autoload.php b/apps/oauth2/composer/autoload.php
index c7fd27c188d..02011f1eb55 100644
--- a/apps/oauth2/composer/autoload.php
+++ b/apps/oauth2/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/oauth2/composer/composer/installed.php b/apps/oauth2/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/oauth2/composer/composer/installed.php
+++ b/apps/oauth2/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/oauth2/src/App.vue b/apps/oauth2/src/App.vue
index 8b9d2e7aff6..28b1f9182e2 100644
--- a/apps/oauth2/src/App.vue
+++ b/apps/oauth2/src/App.vue
@@ -54,7 +54,7 @@
type="url"
name="redirectUri"
:placeholder="t('oauth2', 'Redirection URI')">
- <NcButton class="inline-button">
+ <NcButton native-type="submit" class="inline-button">
{{ t('oauth2', 'Add') }}
</NcButton>
</form>
diff --git a/apps/provisioning_api/composer/autoload.php b/apps/provisioning_api/composer/autoload.php
index d01dfa2c74b..539f62b3fe5 100644
--- a/apps/provisioning_api/composer/autoload.php
+++ b/apps/provisioning_api/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/provisioning_api/composer/composer/installed.php b/apps/provisioning_api/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/provisioning_api/composer/composer/installed.php
+++ b/apps/provisioning_api/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/provisioning_api/l10n/en_GB.js b/apps/provisioning_api/l10n/en_GB.js
new file mode 100644
index 00000000000..b4df5f8a743
--- /dev/null
+++ b/apps/provisioning_api/l10n/en_GB.js
@@ -0,0 +1,18 @@
+OC.L10N.register(
+ "provisioning_api",
+ {
+ "Logged in user must be an administrator or have authorization to edit this setting." : "Logged in user must be an administrator or have authorization to edit this setting.",
+ "User already exists" : "User already exists",
+ "Email confirmation" : "Email confirmation",
+ "To enable the email address %s please click the button below." : "To enable the email address %s please click the button below.",
+ "Confirm" : "Confirm",
+ "Email was already removed from account and cannot be confirmed anymore." : "Email was already removed from account and cannot be confirmed anymore.",
+ "Could not verify mail because the token is expired." : "Could not verify mail because the token is expired.",
+ "Could not verify mail because the token is invalid." : "Could not verify mail because the token is invalid.",
+ "An unexpected error occurred. Please contact your admin." : "An unexpected error occurred. Please contact your admin.",
+ "Email confirmation successful" : "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." : "This application enables a set of APIs that external systems can use to manage users, groups and apps.",
+ "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." : "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."
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/provisioning_api/l10n/en_GB.json b/apps/provisioning_api/l10n/en_GB.json
new file mode 100644
index 00000000000..1b7e7027ecb
--- /dev/null
+++ b/apps/provisioning_api/l10n/en_GB.json
@@ -0,0 +1,16 @@
+{ "translations": {
+ "Logged in user must be an administrator or have authorization to edit this setting." : "Logged in user must be an administrator or have authorization to edit this setting.",
+ "User already exists" : "User already exists",
+ "Email confirmation" : "Email confirmation",
+ "To enable the email address %s please click the button below." : "To enable the email address %s please click the button below.",
+ "Confirm" : "Confirm",
+ "Email was already removed from account and cannot be confirmed anymore." : "Email was already removed from account and cannot be confirmed anymore.",
+ "Could not verify mail because the token is expired." : "Could not verify mail because the token is expired.",
+ "Could not verify mail because the token is invalid." : "Could not verify mail because the token is invalid.",
+ "An unexpected error occurred. Please contact your admin." : "An unexpected error occurred. Please contact your admin.",
+ "Email confirmation successful" : "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." : "This application enables a set of APIs that external systems can use to manage users, groups and apps.",
+ "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." : "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."
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/provisioning_api/lib/Controller/AUserData.php b/apps/provisioning_api/lib/Controller/AUserData.php
index f2fbea7b04f..668b86c059a 100644
--- a/apps/provisioning_api/lib/Controller/AUserData.php
+++ b/apps/provisioning_api/lib/Controller/AUserData.php
@@ -181,6 +181,7 @@ abstract class AUserData extends OCSController {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
+ IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
IAccountManager::PROPERTY_HEADLINE,
@@ -245,7 +246,7 @@ abstract class AUserData extends OCSController {
try {
\OC_Util::tearDownFS();
\OC_Util::setupFS($userId);
- $storage = OC_Helper::getStorageInfo('/');
+ $storage = OC_Helper::getStorageInfo('/', null, true, false);
$data = [
'free' => $storage['free'],
'used' => $storage['used'],
diff --git a/apps/provisioning_api/lib/Controller/UsersController.php b/apps/provisioning_api/lib/Controller/UsersController.php
index 0f9ffcbadf4..434912f32aa 100644
--- a/apps/provisioning_api/lib/Controller/UsersController.php
+++ b/apps/provisioning_api/lib/Controller/UsersController.php
@@ -621,6 +621,7 @@ class UsersController extends AUserData {
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
+ $permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE;
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION;
$permittedFields[] = IAccountManager::PROPERTY_ROLE;
$permittedFields[] = IAccountManager::PROPERTY_HEADLINE;
@@ -782,6 +783,7 @@ class UsersController extends AUserData {
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
+ $permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE;
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION;
$permittedFields[] = IAccountManager::PROPERTY_ROLE;
$permittedFields[] = IAccountManager::PROPERTY_HEADLINE;
@@ -791,6 +793,7 @@ class UsersController extends AUserData {
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX;
+ $permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_ROLE . self::SCOPE_SUFFIX;
$permittedFields[] = IAccountManager::PROPERTY_HEADLINE . self::SCOPE_SUFFIX;
@@ -827,6 +830,7 @@ class UsersController extends AUserData {
$permittedFields[] = IAccountManager::PROPERTY_ADDRESS;
$permittedFields[] = IAccountManager::PROPERTY_WEBSITE;
$permittedFields[] = IAccountManager::PROPERTY_TWITTER;
+ $permittedFields[] = IAccountManager::PROPERTY_FEDIVERSE;
$permittedFields[] = IAccountManager::PROPERTY_ORGANISATION;
$permittedFields[] = IAccountManager::PROPERTY_ROLE;
$permittedFields[] = IAccountManager::PROPERTY_HEADLINE;
@@ -955,6 +959,7 @@ class UsersController extends AUserData {
case IAccountManager::PROPERTY_ADDRESS:
case IAccountManager::PROPERTY_WEBSITE:
case IAccountManager::PROPERTY_TWITTER:
+ case IAccountManager::PROPERTY_FEDIVERSE:
case IAccountManager::PROPERTY_ORGANISATION:
case IAccountManager::PROPERTY_ROLE:
case IAccountManager::PROPERTY_HEADLINE:
@@ -999,6 +1004,7 @@ class UsersController extends AUserData {
case IAccountManager::PROPERTY_ADDRESS . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_WEBSITE . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_TWITTER . self::SCOPE_SUFFIX:
+ case IAccountManager::PROPERTY_FEDIVERSE . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_ORGANISATION . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_ROLE . self::SCOPE_SUFFIX:
case IAccountManager::PROPERTY_HEADLINE . self::SCOPE_SUFFIX:
diff --git a/apps/provisioning_api/tests/Controller/UsersControllerTest.php b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
index 09a7eeb1a11..d0e808c990f 100644
--- a/apps/provisioning_api/tests/Controller/UsersControllerTest.php
+++ b/apps/provisioning_api/tests/Controller/UsersControllerTest.php
@@ -1008,6 +1008,7 @@ class UsersControllerTest extends TestCase {
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
+ IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'],
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'],
IAccountManager::PROPERTY_ROLE => ['value' => 'role'],
@@ -1075,6 +1076,7 @@ class UsersControllerTest extends TestCase {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
+ 'fediverse' => 'fediverse',
'groups' => ['group0', 'group1', 'group2'],
'language' => 'de',
'locale' => null,
@@ -1186,6 +1188,7 @@ class UsersControllerTest extends TestCase {
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
+ IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'],
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'],
IAccountManager::PROPERTY_ROLE => ['value' => 'role'],
@@ -1214,6 +1217,7 @@ class UsersControllerTest extends TestCase {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
+ 'fediverse' => 'fediverse',
'groups' => [],
'language' => 'da',
'locale' => null,
@@ -1364,6 +1368,7 @@ class UsersControllerTest extends TestCase {
IAccountManager::PROPERTY_ADDRESS => ['value' => 'address'],
IAccountManager::PROPERTY_PHONE => ['value' => 'phone'],
IAccountManager::PROPERTY_TWITTER => ['value' => 'twitter'],
+ IAccountManager::PROPERTY_FEDIVERSE => ['value' => 'fediverse'],
IAccountManager::PROPERTY_WEBSITE => ['value' => 'website'],
IAccountManager::PROPERTY_ORGANISATION => ['value' => 'organisation'],
IAccountManager::PROPERTY_ROLE => ['value' => 'role'],
@@ -1391,6 +1396,7 @@ class UsersControllerTest extends TestCase {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
+ 'fediverse' => 'fediverse',
'groups' => [],
'language' => 'ru',
'locale' => null,
@@ -1582,6 +1588,7 @@ class UsersControllerTest extends TestCase {
public function selfEditChangePropertyProvider() {
return [
[IAccountManager::PROPERTY_TWITTER, '@oldtwitter', '@newtwitter'],
+ [IAccountManager::PROPERTY_FEDIVERSE, '@oldFediverse@floss.social', '@newFediverse@floss.social'],
[IAccountManager::PROPERTY_PHONE, '1234', '12345'],
[IAccountManager::PROPERTY_ADDRESS, 'Something street 2', 'Another street 3'],
[IAccountManager::PROPERTY_WEBSITE, 'https://examplesite1', 'https://examplesite2'],
@@ -1658,6 +1665,7 @@ class UsersControllerTest extends TestCase {
[IAccountManager::PROPERTY_DISPLAYNAME, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_EMAIL, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_TWITTER, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
+ [IAccountManager::PROPERTY_FEDIVERSE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_PHONE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_ADDRESS, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
[IAccountManager::PROPERTY_WEBSITE, IAccountManager::SCOPE_LOCAL, IAccountManager::SCOPE_FEDERATED],
@@ -3543,6 +3551,7 @@ class UsersControllerTest extends TestCase {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
+ 'fediverse' => 'fediverse',
'organisation' => 'organisation',
'role' => 'role',
'headline' => 'headline',
@@ -3560,6 +3569,7 @@ class UsersControllerTest extends TestCase {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
+ 'fediverse' => 'fediverse',
'organisation' => 'organisation',
'role' => 'role',
'headline' => 'headline',
@@ -3622,6 +3632,7 @@ class UsersControllerTest extends TestCase {
'address' => 'address',
'website' => 'website',
'twitter' => 'twitter',
+ 'fediverse' => 'fediverse',
'displayname' => 'Demo User',
'organisation' => 'organisation',
'role' => 'role',
@@ -3946,6 +3957,7 @@ class UsersControllerTest extends TestCase {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
+ IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
IAccountManager::PROPERTY_HEADLINE,
@@ -3960,6 +3972,7 @@ class UsersControllerTest extends TestCase {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
+ IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
IAccountManager::PROPERTY_HEADLINE,
@@ -3973,6 +3986,7 @@ class UsersControllerTest extends TestCase {
IAccountManager::PROPERTY_ADDRESS,
IAccountManager::PROPERTY_WEBSITE,
IAccountManager::PROPERTY_TWITTER,
+ IAccountManager::PROPERTY_FEDIVERSE,
IAccountManager::PROPERTY_ORGANISATION,
IAccountManager::PROPERTY_ROLE,
IAccountManager::PROPERTY_HEADLINE,
diff --git a/apps/settings/composer/composer/installed.php b/apps/settings/composer/composer/installed.php
index 392b697de87..10f4c04f799 100644
--- a/apps/settings/composer/composer/installed.php
+++ b/apps/settings/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => 'a66c80135de5b21d8ad48218b96a90eefde0fc7f',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => 'a66c80135de5b21d8ad48218b96a90eefde0fc7f',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/settings/css/settings.css b/apps/settings/css/settings.css
index 60360033227..bba4169a18b 100644
--- a/apps/settings/css/settings.css
+++ b/apps/settings/css/settings.css
@@ -102,8 +102,7 @@ input#openid, input#webdav {
.profile-settings-container {
display: inline-grid;
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr 1fr 2fr;
+ grid-template-columns: 1fr 1fr 1fr;
}
.personal-show-container {
@@ -119,6 +118,15 @@ input#openid, input#webdav {
.personal-settings-setting-box .section input[type=text], .personal-settings-setting-box .section input[type=email], .personal-settings-setting-box .section input[type=tel], .personal-settings-setting-box .section input[type=url] {
width: 100%;
}
+.personal-settings-setting-box-profile {
+ grid-row: 3/5;
+}
+.personal-settings-setting-box-detail {
+ grid-row: 5;
+}
+.personal-settings-setting-box-detail--without-profile {
+ grid-row: 3;
+}
select#timezone {
width: 100%;
@@ -127,8 +135,8 @@ select#timezone {
#personal-settings {
display: grid;
padding: 20px;
- max-width: 1500px;
- grid-template-columns: 1fr 2fr 1fr;
+ max-width: 1700px;
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
}
#personal-settings .section {
padding: 10px 10px;
@@ -178,63 +186,9 @@ select#timezone {
background-position: 24px;
}
-@media (min-width: 1200px) and (max-width: 1400px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr 2fr;
- }
- #personal-settings #personal-settings-avatar-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr;
- }
- #personal-settings .personal-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr;
- }
- #personal-settings .profile-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr;
- grid-column: 2;
- }
-}
-@media (max-width: 1200px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr;
- }
- #personal-settings #personal-settings-avatar-container {
- grid-template-rows: 1fr;
- }
- #personal-settings .personal-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr;
- }
- #personal-settings .profile-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr;
- }
-}
-@media (max-width: 560px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr;
- }
- #personal-settings #personal-settings-avatar-container {
- grid-template-rows: 1fr;
- }
- #personal-settings .personal-settings-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
- }
- #personal-settings .profile-settings-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr;
- }
-}
.personal-settings-container {
display: inline-grid;
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
+ grid-template-columns: 1fr 1fr 1fr;
}
.personal-settings-container:after {
clear: both;
@@ -714,7 +668,6 @@ span.version {
.store .section {
width: 25%;
}
-
.with-app-sidebar .store .section {
width: 33%;
}
@@ -723,7 +676,6 @@ span.version {
.store .section {
width: 25%;
}
-
.with-app-sidebar .store .section {
width: 33%;
}
@@ -732,7 +684,6 @@ span.version {
.store .section {
width: 33%;
}
-
.with-app-sidebar .store .section {
width: 50%;
}
@@ -741,7 +692,6 @@ span.version {
.store .section {
width: 50%;
}
-
.with-app-sidebar .store .section {
width: 100%;
}
@@ -1256,6 +1206,11 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
#body-settings #app-content.user-list-grid .row:not(.row--editable).name, #body-settings #app-content.user-list-grid .row:not(.row--editable).password, #body-settings #app-content.user-list-grid .row:not(.row--editable).displayName, #body-settings #app-content.user-list-grid .row:not(.row--editable).mailAddress, #body-settings #app-content.user-list-grid .row:not(.row--editable).userBackend, #body-settings #app-content.user-list-grid .row:not(.row--editable).languages {
overflow: hidden;
}
+#body-settings #app-content.user-list-grid .row:not(.row--editable) .groups,
+#body-settings #app-content.user-list-grid .row:not(.row--editable) .subadmins {
+ overflow: auto;
+ max-height: 100%;
+}
#body-settings #app-content.user-list-grid .row .groups,
#body-settings #app-content.user-list-grid .row .subadmins,
#body-settings #app-content.user-list-grid .row .quota {
@@ -1268,6 +1223,11 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
color: var(--color-text-dark);
vertical-align: baseline;
}
+#body-settings #app-content.user-list-grid .row .groups progress,
+#body-settings #app-content.user-list-grid .row .subadmins progress,
+#body-settings #app-content.user-list-grid .row .quota progress {
+ max-width: 95%;
+}
#body-settings #app-content.user-list-grid .row .obfuscated {
width: 400px;
opacity: 0.7;
@@ -1280,6 +1240,9 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
min-width: 88px;
background-color: var(--color-main-background);
}
+#body-settings #app-content.user-list-grid .row.row--editable .userActions {
+ z-index: 10;
+}
#body-settings #app-content.user-list-grid .row .subtitle {
color: var(--color-text-maxcontrast);
vertical-align: baseline;
@@ -1288,8 +1251,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
position: sticky;
align-self: normal;
background-color: var(--color-main-background);
- z-index: 100;
- /* above multiselect */
+ z-index: 100; /* above multiselect */
top: 0;
}
#body-settings #app-content.user-list-grid .row#grid-header.sticky {
@@ -1480,6 +1442,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
#body-settings #app-content.user-list-grid .row > div .multiselect.multiselect-vue,
#body-settings #app-content.user-list-grid .row > .displayName > form .multiselect.multiselect-vue,
#body-settings #app-content.user-list-grid .row > form .multiselect.multiselect-vue {
+ min-width: 100%;
width: 100%;
}
#body-settings #app-content.user-list-grid .infinite-loading-container {
diff --git a/apps/settings/css/settings.css.map b/apps/settings/css/settings.css.map
index 2cc339c7ff9..a4fa180e20c 100644
--- a/apps/settings/css/settings.css.map
+++ b/apps/settings/css/settings.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","settings.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD3CC;EACC;;;AAIF;AACA;EACC;;;AAGD;AACA;AC6CC;EAEA;;;AD3CD;ACyCC;EAEA;;;ADvCD;ACqCC;EAEA;;;ADnCD;ACiCC;EAEA;;;AD/BD;AC6BC;EAEA;;;AD3BD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;;AAEA;EACC;;AAIA;EACC;;;AAOH;EACC;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMF;EACC;;AACA;EACC;;AACA;EACC;;;AAKH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;EACA;EACA;;AAGD;EACC;EACA;;;AAMF;EACC;IACC;IACA;;EAEA;IACC;IACA;;EAGD;IACC;IACA;;EAGD;IACC;IACA;IACA;;;AAKH;EACC;IACC;IACA;;EAEA;IACC;;EAGD;IACC;IACA;;EAGD;IACC;IACA;;;AAKH;EACC;IACC;IACA;;EAEA;IACC;;EAGD;IACC;IACA;;EAGD;IACC;IACA;;;AAKH;EACC;EACA;EACA;;AAEA;EACC;;AAIA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIF;AACA;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;;AAGC;EAEC;EACA;;AAEA;EACC;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;EAEA;;AAEA;EACC;;;AAQN;EACC;;;AAIA;EACC;;AAGD;EACC;;;AAIF;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMD;EACC;;AAGD;EACC;;;AAKD;EACC;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;;AACA;EACC;;AAIF;EACC;EACA;EACA;;AAKA;EACC;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAGC;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIF;AAGC;EACC;EACA;EACA;EACA;;AAGD;EACC;;;AAKD;AAAA;EAEC;;;AAKD;AAAA;EAEC;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;AACA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;;AAGD;EAEC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AAGD;AACA;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACC;;AACA;EACC;EACA;EACA;;AAGD;EACC;;AAIA;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAIA;EACC;;;AAMD;EACC;;AAGD;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;;AAMA;AAAA;EAEC;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAEA;AAAA;EAEC;;AAGD;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;;AAGD;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;EAED;IACC;;;AAIF;EACC;IACC;;;AAIF;EACC;IACC;;;AAIF;AACA;EAEE;IACC;;;AAKH;EACC;IACC;;;AAIF;EACC;AACA;AAKA;;AAJA;EACC;;AAID;EACC;;AAEA;EACC;EACA;EACA;;;AAKH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EAyGC;EACA;EACA;AAkDA;;AAzJA;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC,QAfgB;EAgBhB,SAjBiB;EAmBjB,cAlBgB;EAmBhB;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EAQC;;AAPA;EACC;EACA;EACA;EACA,YAjCe;;AAsChB;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAKF;EACC;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;EACA;EACA;;AAKH;EACC;EACA;AACA;EACA;EACA;EACA;;AAOD;EACC;;AAGD;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;;AAEA;EACC;;AAKD;EACC;;AAKD;EACC;;AAMH;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;;;AAQF;EACC;;;AAKH;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAOA;AAAA;AAAA;AAAA;EACC;;AAEA;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;;AAMF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;AACA;EACA;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;;;AAIA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAIA;EACC;EACA;;AAGD;EACC;;AAGD;EACC;EACA;;;AAKF;AACA;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIA;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKD;EACC;;AAGD;EACC;;;AAIF;EACC;;AAEA;EACC;EACA;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;;;AAID;AAKC;EACC;EACA;EACA;;AAEA;EAGC;EACA;EACA,YAbgB;EAchB;EACA;EACA;AACA;AAAA;EAEA,uBACE;EAOF;AAMA;AA0DA;;AA9DA;EACC;;AAID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOC,WAxCkB;;AA0ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAID;EAMC;;AAIF;AAAA;AAAA;EAGC,WA9DkB;;AAgElB;AAAA;AAAA;EACC;EACA;EACA;;AAIF;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAID;EACC;EACA;EACA;EACA;AAAc;EACd;;AAEA;EACC;;AAIF;EACC;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUC;EACA;EACA;EACA;EACA;;AAKD;EACC;;AAGD;EACC;;AAIF;EACC;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;AAaA;AA+GA;;AA1HA;AAAA;AAAA;EACC;EACA;;AAIA;AAAA;AAAA;AAAA;AAAA;EACC;;AAKF;AAAA;AAAA;EACC;EACA;;AAGD;AAAA;AAAA;EACC;;AAKA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAEC;EACA;EACA;EACA;AACA;AAAA;AAAA;EAGA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;EACA;;AAKH;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;;AAMH;AAAA;AAAA;EACC;;AAKH;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;;;AAKH;EACI;;;AAGJ;EACE;IACE;;;AAGJ;EACE;IACE","file":"settings.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","settings.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD3CC;EACC;;;AAIF;AACA;EACC;;;AAGD;AACA;AC6CC;EAEA;;;AD3CD;ACyCC;EAEA;;;ADvCD;ACqCC;EAEA;;;ADnCD;ACiCC;EAEA;;;AD/BD;AC6BC;EAEA;;;AD3BD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAGD;EACC;;;AAIA;EACC;;AAEA;EACC;;AAIA;EACC;;AAKH;EACC;;AAGD;EACC;;AAED;EACC;;;AAKD;EACC;;;AAIF;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMF;EACC;;AACA;EACC;;AACA;EACC;;;AAKH;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAGC;EACA;EACA;;AAGD;EACC;EACA;;;AAIF;EACC;EACA;;AAEA;EACC;;AAIA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIF;AACA;AACA;EACC;EACA;EACA;EACA;;AAEA;EACC;;AAGD;EACC;EACA;EACA;;;AAIF;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAEA;EAEC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAIF;EACC;;AAGC;EAEC;EACA;;AAEA;EACC;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;EAEA;;AAEA;EACC;;;AAQN;EACC;;;AAIA;EACC;;AAGD;EACC;;;AAIF;AAAA;EAEC;;;AAGD;EACC;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;;AAMD;EACC;;AAGD;EACC;;;AAKD;EACC;EACA;EACA;EACA;;AACA;EACC;EACA;EACA;;AACA;EACC;;AAIF;EACC;EACA;EACA;;AAKA;EACC;EACA;;AAED;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;;AAKH;AAGC;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;;AAIF;AAGC;EACC;EACA;EACA;EACA;;AAGD;EACC;;;AAKD;AAAA;EAEC;;;AAKD;AAAA;EAEC;;;AAIF;EACC;EACA;EACA;;AAEA;EACC;;AAGD;EACC;;;AAIF;AACA;EACC;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAKD;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;;AAIF;EACC;;AAGD;EAEC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;;AAIF;EACC;;AAGD;EACC;EACA;;;AAIF;EACC;;;AAGD;AACA;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AACC;;AACA;EACC;EACA;EACA;;AAGD;EACC;;AAIA;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;EACA;EACA;;;AAGD;EACC;;;AAIA;EACC;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIF;EACC;EACA;EACA;;;AAIA;EACC;;;AAMD;EACC;;AAGD;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;;AAGD;EACC;;AAGD;EACC;;;AAMA;AAAA;EAEC;EACA;EACA;EACA;EACA;;AAIF;EACC;EACA;;AAEA;AAAA;EAEC;;AAGD;EACC;;AAIF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;EACA;;AAEA;EACC;;AAIF;EACC;EACA;;AAGD;AAAA;AAAA;AAAA;AAAA;EAKC;;;AAIF;EACC;IACC;;EAED;IACC;;;AAIF;EACC;IACC;;EAED;IACC;;;AAIF;EACC;IACC;;EAED;IACC;;;AAIF;EACC;IACC;;EAED;IACC;;;AAIF;EACC;IACC;;;AAIF;EACC;IACC;;;AAIF;AACA;EAEE;IACC;;;AAKH;EACC;IACC;;;AAIF;EACC;AACA;AAKA;;AAJA;EACC;;AAID;EACC;;AAEA;EACC;EACA;EACA;;;AAKH;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;AAEA;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;;;AAGD;EAyGC;EACA;EACA;AAkDA;;AAzJA;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC,QAfgB;EAgBhB,SAjBiB;EAmBjB,cAlBgB;EAmBhB;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EAQC;;AAPA;EACC;EACA;EACA;EACA,YAjCe;;AAsChB;EACC;EACA;EACA;;AAEA;EACC;EACA;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAKF;EACC;;AAEA;EACC;;AAIF;EACC;EACA;EACA;;AAGD;AAAA;EAEC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAEA;EACC;EACA;EACA;;AAKH;EACC;EACA;AACA;EACA;EACA;EACA;;AAOD;EACC;;AAGD;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;;AAKD;EACC;;AAGD;EACC;;AAGD;EACC;;AAEA;EACC;;AAKD;EACC;;AAKD;EACC;;AAMH;EACC;EACA;;AAEA;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;EACA;EACA;;AAGD;EACC;;;AAQF;EACC;;;AAKH;AACA;EACC;EACA;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAOA;AAAA;AAAA;AAAA;EACC;;AAEA;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;EACA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;AAAA;EACC;;;AAMF;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;AACA;EACA;EACA;EACA;EACA;;;AAGD;AAEA;EACC;EACA;EACA;;;AAGD;AAAA;AAAA;EAGC;;;AAIA;EACC;EACA;EACA;;AAGD;AAAA;EAEC;;;AAIF;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA;EACA;EACA;;AAEA;EACC;;;AAIF;EACC;EACA;EACA;EACA;;;AAGD;EACC;EACA;;;AAIA;EACC;EACA;;AAGD;EACC;;AAGD;EACC;EACA;;;AAKF;AACA;EACC;EACA;;;AAGD;EACC;EACA;EACA;EACA;EACA;;;AAIA;EACC;EACA;;AAEA;EACC;;AAGD;EACC;;AAIF;EACC;EACA;;AAGD;EACC;;AAGD;EACC;;AAGD;EACC;;;AAKD;EACC;;AAGD;EACC;;;AAIF;EACC;;AAEA;EACC;EACA;;;AAIF;EACC;;;AAGD;EACC;EACA;EACA;;;AAID;AAKC;EACC;EACA;EACA;;AAEA;EAGC;EACA;EACA,YAbgB;EAchB;EACA;EACA;AACA;AAAA;EAEA,uBACE;EAOF;AAMA;AA4EA;;AAhFA;EACC;;AAID;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAOC,WAxCkB;;AA0ClB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;EACA;;AAKD;EAMC;;AAMD;AAAA;EAEC;EACA;;AAIF;AAAA;AAAA;EAGC,WAxEkB;;AA0ElB;AAAA;AAAA;EACC;EACA;EACA;;AAGD;AAAA;AAAA;EACC;;AAIF;EACC;EACA;;AAGD;EACC;EACA;EACA;EACA;EACA;EACA;;AAGD;EACC;;AAGD;EACC;EACA;;AAID;EACC;EACA;EACA;EACA;EACA;;AAEA;EACC;;AAIF;EACC;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUC;EACA;EACA;EACA;EACA;;AAKD;EACC;;AAGD;EACC;;AAIF;EACC;;AAGD;AAAA;AAAA;EAGC;EACA;EACA;EACA;AAaA;AA+GA;;AA1HA;AAAA;AAAA;EACC;EACA;;AAIA;AAAA;AAAA;AAAA;AAAA;EACC;;AAKF;AAAA;AAAA;EACC;EACA;;AAGD;AAAA;AAAA;EACC;;AAKA;AAAA;AAAA;AAAA;AAAA;EACC;EACA;;AAIF;AAAA;AAAA;AAAA;AAAA;AAEC;EACA;EACA;EACA;AACA;AAAA;AAAA;EAGA;EACA;EACA;EACA;;AAGD;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;EACA;;AAEA;AAAA;AAAA;EACC;;AAIF;AAAA;AAAA;EACC;EACA;;AAEA;AAAA;AAAA;EACC;;AAGD;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;EAGC;EACA;;AAKH;AAAA;AAAA;EACC;EACA;EACA;EACA;;AAEA;AAAA;AAAA;EACC;EACA;;AAMH;AAAA;AAAA;EACC;EACA;;AAKH;EACC;EACA;EACA;EACA;;AAGD;EACC;EACA;;;AAKH;EACI;;;AAGJ;EACE;IACE;;;AAGJ;EACE;IACE","file":"settings.css"} \ No newline at end of file
diff --git a/apps/settings/css/settings.scss b/apps/settings/css/settings.scss
index 7ce414878fd..53611999cce 100644
--- a/apps/settings/css/settings.scss
+++ b/apps/settings/css/settings.scss
@@ -45,8 +45,7 @@ input {
.profile-settings-container {
display: inline-grid;
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr 1fr 2fr;
+ grid-template-columns: 1fr 1fr 1fr;
}
.personal-show-container {
@@ -67,6 +66,17 @@ input {
}
}
}
+
+ &-profile {
+ grid-row: 3/5;
+ }
+
+ &-detail {
+ grid-row: 5;
+ }
+ &-detail--without-profile {
+ grid-row: 3;
+ }
}
select {
@@ -78,8 +88,8 @@ select {
#personal-settings {
display: grid;
padding: 20px;
- max-width: 1500px;
- grid-template-columns: 1fr 2fr 1fr;
+ max-width: 1700px;
+ grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
.section {
padding: 10px 10px;
@@ -139,77 +149,9 @@ select {
}
}
-
-
-@media (min-width: 1200px) and (max-width: 1400px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr 2fr;
-
- #personal-settings-avatar-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr;
- }
-
- .personal-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr;
- }
-
- .profile-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr;
- grid-column: 2;
- }
- }
-}
-
-@media (max-width: 1200px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr;
-
- #personal-settings-avatar-container {
- grid-template-rows: 1fr;
- }
-
- .personal-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr;
- }
-
- .profile-settings-container {
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr;
- }
- }
-}
-
-@media (max-width: 560px) {
- #personal-settings {
- display: grid;
- grid-template-columns: 1fr;
-
- #personal-settings-avatar-container {
- grid-template-rows: 1fr;
- }
-
- .personal-settings-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr 1fr;
- }
-
- .profile-settings-container {
- grid-template-columns: 1fr;
- grid-template-rows: 1fr 1fr;
- }
- }
-}
-
.personal-settings-container {
display: inline-grid;
- grid-template-columns: 1fr 1fr;
- grid-template-rows: 1fr 1fr 1fr 1fr 1fr;
+ grid-template-columns: 1fr 1fr 1fr;
&:after {
clear: both;
@@ -1421,6 +1363,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
text-overflow: ellipsis;
}
}
+
&:not(.row--editable) {
&.name,
&.password,
@@ -1432,6 +1375,15 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
}
}
+ // Scroll if too much groups
+ &:not(.row--editable) {
+ .groups,
+ .subadmins {
+ overflow: auto;
+ max-height: 100%;
+ }
+ }
+
.groups,
.subadmins,
.quota {
@@ -1442,6 +1394,10 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
color: var(--color-text-dark);
vertical-align: baseline;
}
+
+ progress {
+ max-width: 95%;
+ }
}
.obfuscated {
@@ -1458,6 +1414,10 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
background-color: var(--color-main-background);
}
+ &.row--editable .userActions {
+ z-index: 10;
+ }
+
.subtitle {
color: var(--color-text-maxcontrast);
vertical-align: baseline;
@@ -1644,6 +1604,7 @@ doesnotexist:-o-prefocus, .strengthify-wrapper {
/* Fill the grid cell */
.multiselect.multiselect-vue {
+ min-width: 100%;
width: 100%;
}
}
diff --git a/apps/settings/l10n/af.js b/apps/settings/l10n/af.js
index 6ad4f4d9d02..4b4391ee002 100644
--- a/apps/settings/l10n/af.js
+++ b/apps/settings/l10n/af.js
@@ -22,6 +22,8 @@ OC.L10N.register(
"Wrong password" : "Verkeerde wagwoord",
"Saved" : "Bewaar",
"No user supplied" : "Geen gebruiker verskaf nie",
+ "Administrator documentation" : "Administrateurdokumentasie",
+ "User documentation" : "Gebruikerdokumentasie",
"Well done, %s!" : "Welgedaan %s!",
"Invalid user" : "Ongeldige gebruiker",
"Invalid mail address" : "Ongeldige posadres",
@@ -43,7 +45,6 @@ OC.L10N.register(
"Disable" : "Deaktiveer",
"View in store" : "Bekyk in winkel",
"Visit website" : "Besoek webwerf",
- "User documentation" : "Gebruikerdokumentasie",
"Admin documentation" : "Admindokumentasie",
"Developer documentation" : "Ontwikkelaardokumentasie",
"Rename" : "Hernoem",
@@ -79,9 +80,6 @@ OC.L10N.register(
"Default quota" : "Verstekkwota",
"Unnamed device" : "Onbenoemde toestel",
"Your apps" : "U toeps",
- "Disabled apps" : "Gedeaktiveerde toeps",
- "Updates" : "Bywerkings",
- "App bundles" : "Toepbundels",
"Changelog" : "Veranderingslog",
"Active users" : "Aktiewe gebruikers",
"Send email to new user" : "Stuur e-pos aan nuwe gebruiker",
@@ -93,8 +91,10 @@ OC.L10N.register(
"Phone number" : "Foonnommer",
"Twitter" : "Twitter",
"Website" : "Webwerf",
+ "Disabled apps" : "Gedeaktiveerde toeps",
+ "Updates" : "Bywerkings",
+ "App bundles" : "Toepbundels",
"Never" : "Nooit",
- "Administrator documentation" : "Administrateurdokumentasie",
"Documentation" : "Dokumentasie",
"Forum" : "Forum",
"Login" : "Teken aan",
diff --git a/apps/settings/l10n/af.json b/apps/settings/l10n/af.json
index 62b5da6f44b..6ef2d4a633c 100644
--- a/apps/settings/l10n/af.json
+++ b/apps/settings/l10n/af.json
@@ -20,6 +20,8 @@
"Wrong password" : "Verkeerde wagwoord",
"Saved" : "Bewaar",
"No user supplied" : "Geen gebruiker verskaf nie",
+ "Administrator documentation" : "Administrateurdokumentasie",
+ "User documentation" : "Gebruikerdokumentasie",
"Well done, %s!" : "Welgedaan %s!",
"Invalid user" : "Ongeldige gebruiker",
"Invalid mail address" : "Ongeldige posadres",
@@ -41,7 +43,6 @@
"Disable" : "Deaktiveer",
"View in store" : "Bekyk in winkel",
"Visit website" : "Besoek webwerf",
- "User documentation" : "Gebruikerdokumentasie",
"Admin documentation" : "Admindokumentasie",
"Developer documentation" : "Ontwikkelaardokumentasie",
"Rename" : "Hernoem",
@@ -77,9 +78,6 @@
"Default quota" : "Verstekkwota",
"Unnamed device" : "Onbenoemde toestel",
"Your apps" : "U toeps",
- "Disabled apps" : "Gedeaktiveerde toeps",
- "Updates" : "Bywerkings",
- "App bundles" : "Toepbundels",
"Changelog" : "Veranderingslog",
"Active users" : "Aktiewe gebruikers",
"Send email to new user" : "Stuur e-pos aan nuwe gebruiker",
@@ -91,8 +89,10 @@
"Phone number" : "Foonnommer",
"Twitter" : "Twitter",
"Website" : "Webwerf",
+ "Disabled apps" : "Gedeaktiveerde toeps",
+ "Updates" : "Bywerkings",
+ "App bundles" : "Toepbundels",
"Never" : "Nooit",
- "Administrator documentation" : "Administrateurdokumentasie",
"Documentation" : "Dokumentasie",
"Forum" : "Forum",
"Login" : "Teken aan",
diff --git a/apps/settings/l10n/ar.js b/apps/settings/l10n/ar.js
index 396b67d1001..2fc9711bb68 100644
--- a/apps/settings/l10n/ar.js
+++ b/apps/settings/l10n/ar.js
@@ -31,6 +31,8 @@ OC.L10N.register(
"Authentication error" : "لم يتم التأكد من الشخصية بنجاح",
"Wrong admin recovery password. Please check the password and try again." : "خطا في كلمة مرور المسؤول المستردة, يرجى التاكد من كلمة المرور والمحاولة مرة اخرى.",
"Federated Cloud Sharing" : "المشاركة السحابية الموحّدة",
+ "Administrator documentation" : "دليل المدير",
+ "User documentation" : "دليل المستخدم",
"Invalid SMTP password." : "كلمة مرور SMTP خاطئة.",
"Email setting test" : "تجريب إعدادات البريد الإلكتروني",
"Well done, %s!" : "حسنًا فعلت، %s !",
@@ -84,7 +86,6 @@ OC.L10N.register(
"View in store" : "العرض على المتجر",
"Visit website" : "زر الموقع",
"Report a bug" : "الإبلاغ عن عِلّة",
- "User documentation" : "دليل المستخدم",
"Admin documentation" : "دليل المدير",
"Developer documentation" : "دليل المُطوّر",
"Featured" : "مميزة",
@@ -158,10 +159,6 @@ OC.L10N.register(
"Name your device" : "اسم جهازك",
"Your browser does not support WebAuthn." : "متصفحك لا يدعم WebAuthn.",
"Your apps" : "تطبيقاتك",
- "Active apps" : "التطبيقات النشطة",
- "Disabled apps" : "التطبيقات المعطلة",
- "Updates" : "التحديثات",
- "App bundles" : "حُزَم التطبيقات",
"Changelog" : "سجل التغييرات",
"Add group" : "إضافة فريق",
"Active users" : "المستخدمون النشطون",
@@ -181,9 +178,12 @@ OC.L10N.register(
"Role" : "الدور",
"Twitter" : "تويتر",
"Website" : "موقع الويب",
+ "Active apps" : "التطبيقات النشطة",
+ "Disabled apps" : "التطبيقات المعطلة",
+ "Updates" : "التحديثات",
+ "App bundles" : "حُزَم التطبيقات",
"Hide" : "إخفاء",
"Never" : "أبدا",
- "Administrator documentation" : "دليل المدير",
"Documentation" : "الدليل",
"Forum" : "منتدى",
"Login" : "تسجيل الدخول",
diff --git a/apps/settings/l10n/ar.json b/apps/settings/l10n/ar.json
index 87244e561a2..90fab5f8250 100644
--- a/apps/settings/l10n/ar.json
+++ b/apps/settings/l10n/ar.json
@@ -29,6 +29,8 @@
"Authentication error" : "لم يتم التأكد من الشخصية بنجاح",
"Wrong admin recovery password. Please check the password and try again." : "خطا في كلمة مرور المسؤول المستردة, يرجى التاكد من كلمة المرور والمحاولة مرة اخرى.",
"Federated Cloud Sharing" : "المشاركة السحابية الموحّدة",
+ "Administrator documentation" : "دليل المدير",
+ "User documentation" : "دليل المستخدم",
"Invalid SMTP password." : "كلمة مرور SMTP خاطئة.",
"Email setting test" : "تجريب إعدادات البريد الإلكتروني",
"Well done, %s!" : "حسنًا فعلت، %s !",
@@ -82,7 +84,6 @@
"View in store" : "العرض على المتجر",
"Visit website" : "زر الموقع",
"Report a bug" : "الإبلاغ عن عِلّة",
- "User documentation" : "دليل المستخدم",
"Admin documentation" : "دليل المدير",
"Developer documentation" : "دليل المُطوّر",
"Featured" : "مميزة",
@@ -156,10 +157,6 @@
"Name your device" : "اسم جهازك",
"Your browser does not support WebAuthn." : "متصفحك لا يدعم WebAuthn.",
"Your apps" : "تطبيقاتك",
- "Active apps" : "التطبيقات النشطة",
- "Disabled apps" : "التطبيقات المعطلة",
- "Updates" : "التحديثات",
- "App bundles" : "حُزَم التطبيقات",
"Changelog" : "سجل التغييرات",
"Add group" : "إضافة فريق",
"Active users" : "المستخدمون النشطون",
@@ -179,9 +176,12 @@
"Role" : "الدور",
"Twitter" : "تويتر",
"Website" : "موقع الويب",
+ "Active apps" : "التطبيقات النشطة",
+ "Disabled apps" : "التطبيقات المعطلة",
+ "Updates" : "التحديثات",
+ "App bundles" : "حُزَم التطبيقات",
"Hide" : "إخفاء",
"Never" : "أبدا",
- "Administrator documentation" : "دليل المدير",
"Documentation" : "الدليل",
"Forum" : "منتدى",
"Login" : "تسجيل الدخول",
diff --git a/apps/settings/l10n/ast.js b/apps/settings/l10n/ast.js
index af631829434..1472ff545fd 100644
--- a/apps/settings/l10n/ast.js
+++ b/apps/settings/l10n/ast.js
@@ -29,6 +29,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Apurri una contraseña de recuperación d'alministrador, d'otramiente perderánse tolos datos d'usuariu.",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación d'alministrador incorreuta. Comprueba la contraseña y volvi tentalo.",
"Federated Cloud Sharing" : "Compartición de ñube federada",
+ "Administrator documentation" : "Documentación d'alministrador",
+ "User documentation" : "Documentación d'usuariu",
"Invalid SMTP password." : "Contraseña SMTP non válida",
"Well done, %s!" : "¡Bien fecho, %s!",
"If you received this email, the email configuration seems to be correct." : "Si recibes esti corréu, entós la configuración de corréu paez tar bien.",
@@ -84,7 +86,6 @@ OC.L10N.register(
"View in store" : "Ver na tienda",
"Visit website" : "Visitar sitiu web",
"Report a bug" : "Informar un fallu",
- "User documentation" : "Documentación d'usuariu",
"Developer documentation" : "Documentación de desendolcaores",
"Featured" : "Destacao",
"No apps found for your version" : "Nun s'alcontraron anovamientos pa la to versión",
@@ -142,9 +143,6 @@ OC.L10N.register(
"Default quota" : "Cuota por defeutu",
"Unnamed device" : "Preséu ensin nomar",
"Your apps" : "Les tos aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitaes",
- "Updates" : "Anovamientos",
- "App bundles" : "Llotes d'aplicaciones",
"Changelog" : "Rexistru de cambeos",
"Add group" : "Amestar grupu",
"Active users" : "Usuarios activos",
@@ -162,10 +160,12 @@ OC.L10N.register(
"Phone number" : "Númberu de teléfonu",
"Twitter" : "Twitter",
"Website" : "Sitiu web",
+ "Disabled apps" : "Aplicaciones deshabilitaes",
+ "Updates" : "Anovamientos",
+ "App bundles" : "Llotes d'aplicaciones",
"Hide" : "Anubrir",
"Never" : "Enxamás",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Habilitóse l'aplicación pero precisa anovase. Redirixirásete a la páxina d'anovamientu en 5 segundos.",
- "Administrator documentation" : "Documentación d'alministrador",
"Documentation" : "Documentación",
"Forum" : "Foru",
"Login" : "Entamar sesión",
diff --git a/apps/settings/l10n/ast.json b/apps/settings/l10n/ast.json
index 9cbecf003a0..8d85618811c 100644
--- a/apps/settings/l10n/ast.json
+++ b/apps/settings/l10n/ast.json
@@ -27,6 +27,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Apurri una contraseña de recuperación d'alministrador, d'otramiente perderánse tolos datos d'usuariu.",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación d'alministrador incorreuta. Comprueba la contraseña y volvi tentalo.",
"Federated Cloud Sharing" : "Compartición de ñube federada",
+ "Administrator documentation" : "Documentación d'alministrador",
+ "User documentation" : "Documentación d'usuariu",
"Invalid SMTP password." : "Contraseña SMTP non válida",
"Well done, %s!" : "¡Bien fecho, %s!",
"If you received this email, the email configuration seems to be correct." : "Si recibes esti corréu, entós la configuración de corréu paez tar bien.",
@@ -82,7 +84,6 @@
"View in store" : "Ver na tienda",
"Visit website" : "Visitar sitiu web",
"Report a bug" : "Informar un fallu",
- "User documentation" : "Documentación d'usuariu",
"Developer documentation" : "Documentación de desendolcaores",
"Featured" : "Destacao",
"No apps found for your version" : "Nun s'alcontraron anovamientos pa la to versión",
@@ -140,9 +141,6 @@
"Default quota" : "Cuota por defeutu",
"Unnamed device" : "Preséu ensin nomar",
"Your apps" : "Les tos aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitaes",
- "Updates" : "Anovamientos",
- "App bundles" : "Llotes d'aplicaciones",
"Changelog" : "Rexistru de cambeos",
"Add group" : "Amestar grupu",
"Active users" : "Usuarios activos",
@@ -160,10 +158,12 @@
"Phone number" : "Númberu de teléfonu",
"Twitter" : "Twitter",
"Website" : "Sitiu web",
+ "Disabled apps" : "Aplicaciones deshabilitaes",
+ "Updates" : "Anovamientos",
+ "App bundles" : "Llotes d'aplicaciones",
"Hide" : "Anubrir",
"Never" : "Enxamás",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Habilitóse l'aplicación pero precisa anovase. Redirixirásete a la páxina d'anovamientu en 5 segundos.",
- "Administrator documentation" : "Documentación d'alministrador",
"Documentation" : "Documentación",
"Forum" : "Foru",
"Login" : "Entamar sesión",
diff --git a/apps/settings/l10n/bg.js b/apps/settings/l10n/bg.js
index 7c39cac4564..23acad3d05d 100644
--- a/apps/settings/l10n/bg.js
+++ b/apps/settings/l10n/bg.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буферът на OPcache е почти пълен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.memory_consumption</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буферът за интернирани низове в OPcache е почти пълен. За да се гарантира, че повтарящите се низове могат да бъдат ефективно кеширани, се препоръчва да се приложи <code>opcache.interned_strings_buffer</code> към вашата PHP конфигурация със стойност, по-висока от<code>%s</code>.",
+ "Administrator documentation" : "Документация за администратори",
+ "User documentation" : "Документация за потребители",
"Invalid SMTP password." : "Невалидна SMTP парола.",
"Email setting test" : "Тест за настройка на имейл",
"Well done, %s!" : "Браво, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Страница в магазина",
"Visit website" : "Уеб страницата",
"Report a bug" : "Докладване на грешка",
- "User documentation" : "Документация за потребители",
"Admin documentation" : "Документация за администратори",
"Developer documentation" : "Документация за разработчици",
"This app is supported via your current Nextcloud subscription." : "Това приложение се поддържа чрез текущия ви абонамент за Nextcloud.",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "Не може да се изтрие допълнителен имейл адрес",
"No email address set" : "Не е въведен имейл адрес",
"Additional emails" : "Допълнителни имейли",
+ "Your handle" : "Вашият манипулатор",
"Your headline" : "Вашето заглавие",
"Language" : "Език",
"Help translate" : "Помогнете с превода",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Следните устройства са конфигурирани за вашия профил:",
"Your browser does not support WebAuthn." : "Вашият браузър не поддържа WebAuthn.",
"Your apps" : "Вашите приложения",
- "Active apps" : "Включени приложения",
- "Disabled apps" : "Изключени приложения",
- "Updates" : "Актуализации",
- "App bundles" : "Пакети с приложения",
- "Featured apps" : "Представени приложения",
"{license}-licensed" : "{license}-лицензиран",
"Changelog" : "Списък на промените",
"by {author}\n{license}" : "от {author}\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "Тел. номер",
"Role" : "Роля",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (напр. Mastodon)",
"Website" : "Уеб страница",
"Profile visibility" : "Видимост на профил",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е налично, тъй като това свойство е нужно за основна функционалност, включително споделяне на файлове и покани в календар",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Не е налично, тъй като федерирането е деактивирано за вашия профил, свържете се с вашия системен администратор, ако имате въпроси.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Не е налично, тъй като публикуването на специфични потребителски данни на сървъра за търсене не е разрешено, свържете се с вашия системен администратор, ако имате въпроси",
+ "Active apps" : "Включени приложения",
+ "Disabled apps" : "Изключени приложения",
+ "Updates" : "Актуализации",
+ "App bundles" : "Пакети с приложения",
+ "Featured apps" : "Представени приложения",
"Show to everyone" : "Показване на всички",
"Show to logged in users only" : "Показване само на влезли потребители",
"Hide" : "Скриване",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Възникна грешка по време на заявката. Не може да се продължи.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Приложението е активирано, но трябва да бъде актуализирано. Ще бъдете пренасочени към страницата за актуализация след 5 секунди.",
"Error: This app cannot be enabled because it makes the server unstable" : "Грешка: Това приложение не може да бъде активирано, защото прави сървъра нестабилен",
- "Administrator documentation" : "Документация за администратори",
"Documentation" : "Документация",
"Forum" : "Форум",
"Login" : "Вписване",
diff --git a/apps/settings/l10n/bg.json b/apps/settings/l10n/bg.json
index 72e9d50396c..8cb8e51f198 100644
--- a/apps/settings/l10n/bg.json
+++ b/apps/settings/l10n/bg.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максималният брой OPcache ключове почти е надвишен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.max_accelerated_files</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буферът на OPcache е почти пълен. За да се гарантира, че всички скриптове могат да се задържат в кеш, се препоръчва да се приложи <code>opcache.memory_consumption</code> към вашата PHP конфигурация със стойност, по-висока от <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буферът за интернирани низове в OPcache е почти пълен. За да се гарантира, че повтарящите се низове могат да бъдат ефективно кеширани, се препоръчва да се приложи <code>opcache.interned_strings_buffer</code> към вашата PHP конфигурация със стойност, по-висока от<code>%s</code>.",
+ "Administrator documentation" : "Документация за администратори",
+ "User documentation" : "Документация за потребители",
"Invalid SMTP password." : "Невалидна SMTP парола.",
"Email setting test" : "Тест за настройка на имейл",
"Well done, %s!" : "Браво, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Страница в магазина",
"Visit website" : "Уеб страницата",
"Report a bug" : "Докладване на грешка",
- "User documentation" : "Документация за потребители",
"Admin documentation" : "Документация за администратори",
"Developer documentation" : "Документация за разработчици",
"This app is supported via your current Nextcloud subscription." : "Това приложение се поддържа чрез текущия ви абонамент за Nextcloud.",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "Не може да се изтрие допълнителен имейл адрес",
"No email address set" : "Не е въведен имейл адрес",
"Additional emails" : "Допълнителни имейли",
+ "Your handle" : "Вашият манипулатор",
"Your headline" : "Вашето заглавие",
"Language" : "Език",
"Help translate" : "Помогнете с превода",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "Следните устройства са конфигурирани за вашия профил:",
"Your browser does not support WebAuthn." : "Вашият браузър не поддържа WebAuthn.",
"Your apps" : "Вашите приложения",
- "Active apps" : "Включени приложения",
- "Disabled apps" : "Изключени приложения",
- "Updates" : "Актуализации",
- "App bundles" : "Пакети с приложения",
- "Featured apps" : "Представени приложения",
"{license}-licensed" : "{license}-лицензиран",
"Changelog" : "Списък на промените",
"by {author}\n{license}" : "от {author}\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "Тел. номер",
"Role" : "Роля",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (напр. Mastodon)",
"Website" : "Уеб страница",
"Profile visibility" : "Видимост на профил",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е налично, тъй като това свойство е нужно за основна функционалност, включително споделяне на файлове и покани в календар",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Не е налично, тъй като федерирането е деактивирано за вашия профил, свържете се с вашия системен администратор, ако имате въпроси.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Не е налично, тъй като публикуването на специфични потребителски данни на сървъра за търсене не е разрешено, свържете се с вашия системен администратор, ако имате въпроси",
+ "Active apps" : "Включени приложения",
+ "Disabled apps" : "Изключени приложения",
+ "Updates" : "Актуализации",
+ "App bundles" : "Пакети с приложения",
+ "Featured apps" : "Представени приложения",
"Show to everyone" : "Показване на всички",
"Show to logged in users only" : "Показване само на влезли потребители",
"Hide" : "Скриване",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "Възникна грешка по време на заявката. Не може да се продължи.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Приложението е активирано, но трябва да бъде актуализирано. Ще бъдете пренасочени към страницата за актуализация след 5 секунди.",
"Error: This app cannot be enabled because it makes the server unstable" : "Грешка: Това приложение не може да бъде активирано, защото прави сървъра нестабилен",
- "Administrator documentation" : "Документация за администратори",
"Documentation" : "Документация",
"Forum" : "Форум",
"Login" : "Вписване",
diff --git a/apps/settings/l10n/br.js b/apps/settings/l10n/br.js
index f22b5642370..a3ed4926c86 100644
--- a/apps/settings/l10n/br.js
+++ b/apps/settings/l10n/br.js
@@ -54,6 +54,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "Ger-tremen adtapout ar merour fall. Gwiriit ar ger-tremen ha klaskit en dro.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL a zo o implij ur stumm mkozh eus %1$s (%2$s). Adnevesait ho sistem ober pe ne labouro ket mat perzhioù 'zo evel %3$s.",
+ "Administrator documentation" : "Dielvadur ar merour",
+ "User documentation" : "Dielvadur an implijer",
"Invalid SMTP password." : "Ger-tremen SMTP fall.",
"Email setting test" : "Amprouiñ stumm ar postel",
"Well done, %s!" : "Gouc'hemenoù, %s !",
@@ -134,7 +136,6 @@ OC.L10N.register(
"View in store" : "Gwellet er stall",
"Visit website" : "Mont war al lec'hienn",
"Report a bug" : "Dugas ur gudenn",
- "User documentation" : "Dielvadur an implijer",
"Admin documentation" : "Dielvadur ar merour",
"Developer documentation" : "Diellvadur an digeler",
"This app is supported via your current Nextcloud subscription." : "Ar meziant-mañ a vez douget dre ho kommanant Nextcloud.",
@@ -265,11 +266,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Stummet eo bet an ardivinkoù ma d'ho c'hont.",
"Your browser does not support WebAuthn." : "Ne vez ket douget WebAuthn gant o furcher.",
"Your apps" : "Ho meziantoù",
- "Active apps" : "Meziantoù lakaet en dro",
- "Disabled apps" : "Meziantoù disaotreet",
- "Updates" : "Adnevesadennoù",
- "App bundles" : "Strolladoù meziant",
- "Featured apps" : "Meziant perzhiet",
"{license}-licensed" : "{license}-aotre",
"by {author}\n{license}" : "great gant {author}\n{license}",
"Enter group name" : "Lakat un anv strollad",
@@ -294,13 +290,17 @@ OC.L10N.register(
"Role" : "Roll",
"Twitter" : "Twitter",
"Website" : "Lec'hien web",
+ "Active apps" : "Meziantoù lakaet en dro",
+ "Disabled apps" : "Meziantoù disaotreet",
+ "Updates" : "Adnevesadennoù",
+ "App bundles" : "Strolladoù meziant",
+ "Featured apps" : "Meziant perzhiet",
"Hide" : "Kouacha",
"Download and enable" : "Pellgargañ ha aotreañ",
"Enable untested app" : "Aotreañ ar meziant disamprouet",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "N'eo ket ar meziant keverlec'h gant stumm Nextcloud. Ma kendalc'hit e o posupl deoc'h staliañ ar meziant. Taolit evez, ne labouro ket ar meziant evel ma zlefe.",
"Never" : "James",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aotreet eo bet ar meziant mes ezomm e deus bezhan adnevesaet. Kaset a voc'h d'ar bajenn adneveziñ a benn 5 eilenn.",
- "Administrator documentation" : "Dielvadur ar merour",
"Documentation" : "Diellvadur",
"Forum" : "Forum",
"Login" : "Anv arveriad",
diff --git a/apps/settings/l10n/br.json b/apps/settings/l10n/br.json
index 8adf4b78fe1..522c849dde6 100644
--- a/apps/settings/l10n/br.json
+++ b/apps/settings/l10n/br.json
@@ -52,6 +52,8 @@
"Wrong admin recovery password. Please check the password and try again." : "Ger-tremen adtapout ar merour fall. Gwiriit ar ger-tremen ha klaskit en dro.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL a zo o implij ur stumm mkozh eus %1$s (%2$s). Adnevesait ho sistem ober pe ne labouro ket mat perzhioù 'zo evel %3$s.",
+ "Administrator documentation" : "Dielvadur ar merour",
+ "User documentation" : "Dielvadur an implijer",
"Invalid SMTP password." : "Ger-tremen SMTP fall.",
"Email setting test" : "Amprouiñ stumm ar postel",
"Well done, %s!" : "Gouc'hemenoù, %s !",
@@ -132,7 +134,6 @@
"View in store" : "Gwellet er stall",
"Visit website" : "Mont war al lec'hienn",
"Report a bug" : "Dugas ur gudenn",
- "User documentation" : "Dielvadur an implijer",
"Admin documentation" : "Dielvadur ar merour",
"Developer documentation" : "Diellvadur an digeler",
"This app is supported via your current Nextcloud subscription." : "Ar meziant-mañ a vez douget dre ho kommanant Nextcloud.",
@@ -263,11 +264,6 @@
"The following devices are configured for your account:" : "Stummet eo bet an ardivinkoù ma d'ho c'hont.",
"Your browser does not support WebAuthn." : "Ne vez ket douget WebAuthn gant o furcher.",
"Your apps" : "Ho meziantoù",
- "Active apps" : "Meziantoù lakaet en dro",
- "Disabled apps" : "Meziantoù disaotreet",
- "Updates" : "Adnevesadennoù",
- "App bundles" : "Strolladoù meziant",
- "Featured apps" : "Meziant perzhiet",
"{license}-licensed" : "{license}-aotre",
"by {author}\n{license}" : "great gant {author}\n{license}",
"Enter group name" : "Lakat un anv strollad",
@@ -292,13 +288,17 @@
"Role" : "Roll",
"Twitter" : "Twitter",
"Website" : "Lec'hien web",
+ "Active apps" : "Meziantoù lakaet en dro",
+ "Disabled apps" : "Meziantoù disaotreet",
+ "Updates" : "Adnevesadennoù",
+ "App bundles" : "Strolladoù meziant",
+ "Featured apps" : "Meziant perzhiet",
"Hide" : "Kouacha",
"Download and enable" : "Pellgargañ ha aotreañ",
"Enable untested app" : "Aotreañ ar meziant disamprouet",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "N'eo ket ar meziant keverlec'h gant stumm Nextcloud. Ma kendalc'hit e o posupl deoc'h staliañ ar meziant. Taolit evez, ne labouro ket ar meziant evel ma zlefe.",
"Never" : "James",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aotreet eo bet ar meziant mes ezomm e deus bezhan adnevesaet. Kaset a voc'h d'ar bajenn adneveziñ a benn 5 eilenn.",
- "Administrator documentation" : "Dielvadur ar merour",
"Documentation" : "Diellvadur",
"Forum" : "Forum",
"Login" : "Anv arveriad",
diff --git a/apps/settings/l10n/ca.js b/apps/settings/l10n/ca.js
index a37f91f05ae..10dba79fcd9 100644
--- a/apps/settings/l10n/ca.js
+++ b/apps/settings/l10n/ca.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Gairebé s'ha excedit el nombre màxim de claus d'OPcache. Per assegurar-vos que tots els scripts es puguin mantenir a la memòria cau, us recomanem que apliqueu <code>opcache.max.accelerated.files</code> a la configuració de PHP amb un valor superior a <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "La memòria intermèdia d'OPcache està gairebé plena. Per garantir que tots els scripts es puguin mantenir a la memòria cau, us recomanem que apliqueu <code>opcache.memory.consumption</code> a la configuració de PHP amb un valor superior a <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "La memòria cau de cadenes internades OPcache està gairebé plena. Per assegurar-vos que les cadenes que es repeteixen es poden emmagatzemar a la memòria cau de manera efectiva, es recomana aplicar <code>opcache.interned.strings.buffer</code> a la configuració de PHP amb un valor superior a <code>%s</code>.",
+ "Administrator documentation" : "Documentació d'administrador",
+ "User documentation" : "Documentació per a usuaris",
"Invalid SMTP password." : "Contrasenya SMTP no vàlida.",
"Email setting test" : "Prova de paràmetres del correu electrònic",
"Well done, %s!" : "Ben fet, %s!",
@@ -121,6 +123,7 @@ OC.L10N.register(
"Overview" : "Resum",
"Basic settings" : "Paràmetres bàsics",
"Sharing" : "Compartició",
+ "Availability" : "Disponibilitat",
"Calendar" : "Calendari",
"Personal info" : "Informació personal",
"Mobile & desktop" : "Mòbil i escriptori",
@@ -169,7 +172,6 @@ OC.L10N.register(
"View in store" : "Mostra-ho al magatzem",
"Visit website" : "Visita el lloc web",
"Report a bug" : "Informa d'un error",
- "User documentation" : "Documentació per a usuaris",
"Admin documentation" : "Documentació per a administradors",
"Developer documentation" : "Documentació per a desenvolupadors",
"This app is supported via your current Nextcloud subscription." : "Aquesta aplicació és compatible amb la vostra subscripció actual a Nextcloud.",
@@ -314,9 +316,9 @@ OC.L10N.register(
"Your organisation" : "La vostra organització",
"Your phone number" : "El vostre número de telèfon",
"Edit your Profile visibility" : "Edició de la visibilitat del vostre perfil",
- "Enable Profile" : "Habilira el perfil",
+ "Enable Profile" : "Habilita el perfil",
"Unable to update profile enabled state" : "No es pot actualitzar l'estat d'habilitació del perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "La configuració més restrictiva de visibilitat o abast es respecta al vostre perfil. Per exemple, si la visibilitat s'estableix a \"Mostra a tothom\" i l'abast s'estableix a \"Privat\", es respectarà \"Privat\".",
+ "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "El paràmetre més restrictiu de visibilitat o abast es respecta al vostre perfil. Per exemple, si la visibilitat s'estableix a \"Mostra a tothom\" i l'abast s'estableix a \"Privat\", es respectarà \"Privat\".",
"{displayId}" : "{displayId}",
"Unable to update visibility of {displayId}" : "No es pot actualitzar la visibilitat de {displayId}",
"Your role" : "El teu rol",
@@ -380,11 +382,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Els següents dispositius estan configurats per al vostre compte:",
"Your browser does not support WebAuthn." : "El vostre navegador no suporta WebAuthn.",
"Your apps" : "Les vostres aplicacions",
- "Active apps" : "Aplicacions actives",
- "Disabled apps" : "Aplicacions inhabilitades",
- "Updates" : "Actualitzacions",
- "App bundles" : "Paquets d'aplicacions",
- "Featured apps" : "Aplicacions destacades",
"{license}-licensed" : "sota la llicència - {license}",
"Changelog" : "Registre de canvis",
"by {author}\n{license}" : "{author}\n{license}",
@@ -413,10 +410,17 @@ OC.L10N.register(
"Phone number" : "Número de telèfon",
"Role" : "Càrrec",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (p. ex. Mastodon)",
"Website" : "Lloc web",
"Profile visibility" : "Visibilitat del perfil",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ja que aquesta propietat és necessària per a les funcions bàsiques, com ara compartir fitxers i invitacions al calendari",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "No està disponible perquè la federació s'ha inhabilitat per al vostre compte, poseu-vos en contacte amb l'administrador del sistema si teniu cap pregunta",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "No està disponible perquè no es permet la publicació de dades específiques de l'usuari al servidor de cerca, poseu-vos en contacte amb l'administrador del sistema si teniu cap pregunta",
+ "Active apps" : "Aplicacions actives",
+ "Disabled apps" : "Aplicacions inhabilitades",
+ "Updates" : "Actualitzacions",
+ "App bundles" : "Paquets d'aplicacions",
+ "Featured apps" : "Aplicacions destacades",
"Show to everyone" : "Mostra a tothom",
"Show to logged in users only" : "Mostra només als usuaris connectats",
"Hide" : "Amaga",
@@ -428,7 +432,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "S'ha produït un error durant la sol·licitud. No es pot continuar.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'aplicació s'ha habilitat però ha de ser actualitzada. Sereu redirigits a la pàgina d’actualització d'aquí 5 segons.",
"Error: This app cannot be enabled because it makes the server unstable" : "Error: aquesta aplicació no es pot habilitar perquè fa que el servidor sigui inestable",
- "Administrator documentation" : "Documentació d'administrador",
"Documentation" : "Documentació",
"Forum" : "Fòrum",
"Login" : "Inici de sessió",
diff --git a/apps/settings/l10n/ca.json b/apps/settings/l10n/ca.json
index e735ec95826..646640e8843 100644
--- a/apps/settings/l10n/ca.json
+++ b/apps/settings/l10n/ca.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Gairebé s'ha excedit el nombre màxim de claus d'OPcache. Per assegurar-vos que tots els scripts es puguin mantenir a la memòria cau, us recomanem que apliqueu <code>opcache.max.accelerated.files</code> a la configuració de PHP amb un valor superior a <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "La memòria intermèdia d'OPcache està gairebé plena. Per garantir que tots els scripts es puguin mantenir a la memòria cau, us recomanem que apliqueu <code>opcache.memory.consumption</code> a la configuració de PHP amb un valor superior a <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "La memòria cau de cadenes internades OPcache està gairebé plena. Per assegurar-vos que les cadenes que es repeteixen es poden emmagatzemar a la memòria cau de manera efectiva, es recomana aplicar <code>opcache.interned.strings.buffer</code> a la configuració de PHP amb un valor superior a <code>%s</code>.",
+ "Administrator documentation" : "Documentació d'administrador",
+ "User documentation" : "Documentació per a usuaris",
"Invalid SMTP password." : "Contrasenya SMTP no vàlida.",
"Email setting test" : "Prova de paràmetres del correu electrònic",
"Well done, %s!" : "Ben fet, %s!",
@@ -119,6 +121,7 @@
"Overview" : "Resum",
"Basic settings" : "Paràmetres bàsics",
"Sharing" : "Compartició",
+ "Availability" : "Disponibilitat",
"Calendar" : "Calendari",
"Personal info" : "Informació personal",
"Mobile & desktop" : "Mòbil i escriptori",
@@ -167,7 +170,6 @@
"View in store" : "Mostra-ho al magatzem",
"Visit website" : "Visita el lloc web",
"Report a bug" : "Informa d'un error",
- "User documentation" : "Documentació per a usuaris",
"Admin documentation" : "Documentació per a administradors",
"Developer documentation" : "Documentació per a desenvolupadors",
"This app is supported via your current Nextcloud subscription." : "Aquesta aplicació és compatible amb la vostra subscripció actual a Nextcloud.",
@@ -312,9 +314,9 @@
"Your organisation" : "La vostra organització",
"Your phone number" : "El vostre número de telèfon",
"Edit your Profile visibility" : "Edició de la visibilitat del vostre perfil",
- "Enable Profile" : "Habilira el perfil",
+ "Enable Profile" : "Habilita el perfil",
"Unable to update profile enabled state" : "No es pot actualitzar l'estat d'habilitació del perfil",
- "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "La configuració més restrictiva de visibilitat o abast es respecta al vostre perfil. Per exemple, si la visibilitat s'estableix a \"Mostra a tothom\" i l'abast s'estableix a \"Privat\", es respectarà \"Privat\".",
+ "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "El paràmetre més restrictiu de visibilitat o abast es respecta al vostre perfil. Per exemple, si la visibilitat s'estableix a \"Mostra a tothom\" i l'abast s'estableix a \"Privat\", es respectarà \"Privat\".",
"{displayId}" : "{displayId}",
"Unable to update visibility of {displayId}" : "No es pot actualitzar la visibilitat de {displayId}",
"Your role" : "El teu rol",
@@ -378,11 +380,6 @@
"The following devices are configured for your account:" : "Els següents dispositius estan configurats per al vostre compte:",
"Your browser does not support WebAuthn." : "El vostre navegador no suporta WebAuthn.",
"Your apps" : "Les vostres aplicacions",
- "Active apps" : "Aplicacions actives",
- "Disabled apps" : "Aplicacions inhabilitades",
- "Updates" : "Actualitzacions",
- "App bundles" : "Paquets d'aplicacions",
- "Featured apps" : "Aplicacions destacades",
"{license}-licensed" : "sota la llicència - {license}",
"Changelog" : "Registre de canvis",
"by {author}\n{license}" : "{author}\n{license}",
@@ -411,10 +408,17 @@
"Phone number" : "Número de telèfon",
"Role" : "Càrrec",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (p. ex. Mastodon)",
"Website" : "Lloc web",
"Profile visibility" : "Visibilitat del perfil",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No disponible, ja que aquesta propietat és necessària per a les funcions bàsiques, com ara compartir fitxers i invitacions al calendari",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "No està disponible perquè la federació s'ha inhabilitat per al vostre compte, poseu-vos en contacte amb l'administrador del sistema si teniu cap pregunta",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "No està disponible perquè no es permet la publicació de dades específiques de l'usuari al servidor de cerca, poseu-vos en contacte amb l'administrador del sistema si teniu cap pregunta",
+ "Active apps" : "Aplicacions actives",
+ "Disabled apps" : "Aplicacions inhabilitades",
+ "Updates" : "Actualitzacions",
+ "App bundles" : "Paquets d'aplicacions",
+ "Featured apps" : "Aplicacions destacades",
"Show to everyone" : "Mostra a tothom",
"Show to logged in users only" : "Mostra només als usuaris connectats",
"Hide" : "Amaga",
@@ -426,7 +430,6 @@
"An error occurred during the request. Unable to proceed." : "S'ha produït un error durant la sol·licitud. No es pot continuar.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'aplicació s'ha habilitat però ha de ser actualitzada. Sereu redirigits a la pàgina d’actualització d'aquí 5 segons.",
"Error: This app cannot be enabled because it makes the server unstable" : "Error: aquesta aplicació no es pot habilitar perquè fa que el servidor sigui inestable",
- "Administrator documentation" : "Documentació d'administrador",
"Documentation" : "Documentació",
"Forum" : "Fòrum",
"Login" : "Inici de sessió",
diff --git a/apps/settings/l10n/cs.js b/apps/settings/l10n/cs.js
index 59dc00cc627..6668577f9ec 100644
--- a/apps/settings/l10n/cs.js
+++ b/apps/settings/l10n/cs.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache je téměř zaplněná. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.memory_consumption</code> s hodnotou vyšší než <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache pro řetězce je téměř zaplněná. Aby bylo zajištěno, že ukládání řetězců do mezipaměti bude skutečně prováděno, je doporučeno přidat do nastavení PHP volbu <code>opcache.interned_strings_buffer</code> s hodnotou vyšší než <code>%s</code>.",
+ "Administrator documentation" : "Dokumentace pro správce",
+ "User documentation" : "Dokumentace pro uživatele",
"Invalid SMTP password." : "Neplatné heslo pro SMTP.",
"Email setting test" : "Zkouška nastavení e-mailu",
"Well done, %s!" : "Úspěšně nastaveno, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Zobrazit v katalogu",
"Visit website" : "Navštívit webovou stránku",
"Report a bug" : "Nahlásit chybu",
- "User documentation" : "Dokumentace pro uživatele",
"Admin documentation" : "Dokumentace pro správce",
"Developer documentation" : "Dokumentace pro vývojáře",
"This app is supported via your current Nextcloud subscription." : "Tato aplikace je podporována prostřednictvím vašeho stávajícího předplatného podpory Nextcloud.",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "Nepodařilo se smazat další e-mailovou adresu",
"No email address set" : "E-mailová adresa není nastavena",
"Additional emails" : "Další e-maily",
+ "Your handle" : "Váš identifikátor (handle)",
"Your headline" : "Váš nadpis",
"Language" : "Jazyk",
"Help translate" : "Pomoci s překladem",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "U svého účtu máte nastavená následující zařízení:",
"Your browser does not support WebAuthn." : "Vámi používaný prohlížeč nepodporuje WebAuthn.",
"Your apps" : "Vaše aplikace",
- "Active apps" : "Aktivní aplikace",
- "Disabled apps" : "Vypnuté aplikace",
- "Updates" : "Aktualizace",
- "App bundles" : "Sady aplikací",
- "Featured apps" : "Doporučené aplikace",
"{license}-licensed" : "licencováno pod {license}",
"Changelog" : "Souhrn změn",
"by {author}\n{license}" : "od {author}\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "Telefonní číslo",
"Role" : "Role",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (např. Mastodon)",
"Website" : "Webová stránka",
"Profile visibility" : "Viditelnost profilu",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Není k dispozici, protože tato vlastnost je vyžadována pro hlavní funkce, včetně sdílení souborů a pozvánek v kalendáři",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Není k dispozici protože pro váš účet bylo federování vypnuto. V případě dotazů se obraťte na svého správce",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Není k dispozici protože zveřejňování údajů o konkrétních uživatelích není vyhledávacímu serveru povoleno. Pokud máte jakékoli dotazy, obraťte se na správce systémů",
+ "Active apps" : "Aktivní aplikace",
+ "Disabled apps" : "Vypnuté aplikace",
+ "Updates" : "Aktualizace",
+ "App bundles" : "Sady aplikací",
+ "Featured apps" : "Doporučené aplikace",
"Show to everyone" : "Ukázat všem",
"Show to logged in users only" : "Ukázat pouze přihlášeným uživatelům",
"Hide" : "Skrýt",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Během požadavku došlo k chybě. Nelze pokračovat.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikace byla zapnuta ale je třeba ji ještě aktualizovat. Za 5 sekund budete přesměrování na stránku pro aktualizaci.",
"Error: This app cannot be enabled because it makes the server unstable" : "Chyba: tuto aplikaci nelze zapnout, protože způsobuje nestabilitu serveru",
- "Administrator documentation" : "Dokumentace pro správce",
"Documentation" : "Dokumentace",
"Forum" : "Diskuzní fórum",
"Login" : "Přihlásit",
diff --git a/apps/settings/l10n/cs.json b/apps/settings/l10n/cs.json
index 04d4955db85..67bf91b2c62 100644
--- a/apps/settings/l10n/cs.json
+++ b/apps/settings/l10n/cs.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Je téměř vyčerpán nejvyšší umožněný počet klíčů v OPcache. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.max_accelerated_files</code> s hodnotou vyšší než <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache je téměř zaplněná. Aby bylo zajištěno, že se do mezipaměti vejdou veškeré skripty, je doporučeno přidat do nastavení PHP volbu <code>opcache.memory_consumption</code> s hodnotou vyšší než <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vnitřní vyrovnávací paměť OPcache pro řetězce je téměř zaplněná. Aby bylo zajištěno, že ukládání řetězců do mezipaměti bude skutečně prováděno, je doporučeno přidat do nastavení PHP volbu <code>opcache.interned_strings_buffer</code> s hodnotou vyšší než <code>%s</code>.",
+ "Administrator documentation" : "Dokumentace pro správce",
+ "User documentation" : "Dokumentace pro uživatele",
"Invalid SMTP password." : "Neplatné heslo pro SMTP.",
"Email setting test" : "Zkouška nastavení e-mailu",
"Well done, %s!" : "Úspěšně nastaveno, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Zobrazit v katalogu",
"Visit website" : "Navštívit webovou stránku",
"Report a bug" : "Nahlásit chybu",
- "User documentation" : "Dokumentace pro uživatele",
"Admin documentation" : "Dokumentace pro správce",
"Developer documentation" : "Dokumentace pro vývojáře",
"This app is supported via your current Nextcloud subscription." : "Tato aplikace je podporována prostřednictvím vašeho stávajícího předplatného podpory Nextcloud.",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "Nepodařilo se smazat další e-mailovou adresu",
"No email address set" : "E-mailová adresa není nastavena",
"Additional emails" : "Další e-maily",
+ "Your handle" : "Váš identifikátor (handle)",
"Your headline" : "Váš nadpis",
"Language" : "Jazyk",
"Help translate" : "Pomoci s překladem",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "U svého účtu máte nastavená následující zařízení:",
"Your browser does not support WebAuthn." : "Vámi používaný prohlížeč nepodporuje WebAuthn.",
"Your apps" : "Vaše aplikace",
- "Active apps" : "Aktivní aplikace",
- "Disabled apps" : "Vypnuté aplikace",
- "Updates" : "Aktualizace",
- "App bundles" : "Sady aplikací",
- "Featured apps" : "Doporučené aplikace",
"{license}-licensed" : "licencováno pod {license}",
"Changelog" : "Souhrn změn",
"by {author}\n{license}" : "od {author}\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "Telefonní číslo",
"Role" : "Role",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (např. Mastodon)",
"Website" : "Webová stránka",
"Profile visibility" : "Viditelnost profilu",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Není k dispozici, protože tato vlastnost je vyžadována pro hlavní funkce, včetně sdílení souborů a pozvánek v kalendáři",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Není k dispozici protože pro váš účet bylo federování vypnuto. V případě dotazů se obraťte na svého správce",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Není k dispozici protože zveřejňování údajů o konkrétních uživatelích není vyhledávacímu serveru povoleno. Pokud máte jakékoli dotazy, obraťte se na správce systémů",
+ "Active apps" : "Aktivní aplikace",
+ "Disabled apps" : "Vypnuté aplikace",
+ "Updates" : "Aktualizace",
+ "App bundles" : "Sady aplikací",
+ "Featured apps" : "Doporučené aplikace",
"Show to everyone" : "Ukázat všem",
"Show to logged in users only" : "Ukázat pouze přihlášeným uživatelům",
"Hide" : "Skrýt",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "Během požadavku došlo k chybě. Nelze pokračovat.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikace byla zapnuta ale je třeba ji ještě aktualizovat. Za 5 sekund budete přesměrování na stránku pro aktualizaci.",
"Error: This app cannot be enabled because it makes the server unstable" : "Chyba: tuto aplikaci nelze zapnout, protože způsobuje nestabilitu serveru",
- "Administrator documentation" : "Dokumentace pro správce",
"Documentation" : "Dokumentace",
"Forum" : "Diskuzní fórum",
"Login" : "Přihlásit",
diff --git a/apps/settings/l10n/da.js b/apps/settings/l10n/da.js
index 302c99c39ea..0d3cfaea774 100644
--- a/apps/settings/l10n/da.js
+++ b/apps/settings/l10n/da.js
@@ -45,7 +45,7 @@ OC.L10N.register(
"You revoked filesystem access from app password \"{token}\"" : "Du tilbagekaldte filsystemadgang fra app-adgangskoden \"{token}\"",
"Security" : "Sikkerhed",
"You successfully logged in using two-factor authentication (%1$s)" : "Du loggede in ved at bruge two-factor authentication (%1$s)",
- "A login attempt using two-factor authentication failed (%1$s)" : "Et login forsøg mislykkedes med two-factor authentication (%1$s)",
+ "A login attempt using two-factor authentication failed (%1$s)" : "Et login forsøg mislykkedes med tofaktors godkendelse (%1$s)",
"Remote wipe was started on %1$s" : "Fjernsletning blev startet på %1$s",
"Remote wipe has finished on %1$s" : "Fjernsletning er afsluttet på %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Dit <strong>password</strong> eller <strong>email</strong> blev ændret",
@@ -58,6 +58,8 @@ OC.L10N.register(
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installation og opdatering af apps via App Store eller Federated Cloud Sharing",
"Federated Cloud Sharing" : "Sammensluttet Cloud deling",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL bruger en forældet %1$s version (%2$s). Du skal opdatere dit styresystem for at funktioner som %3$s virker pålideligt.",
+ "Administrator documentation" : "Administratordokumentation",
+ "User documentation" : "Brugerdokumentation",
"Invalid SMTP password." : "Ikke gyldigt SMTP password",
"Email setting test" : "Test email-indstillinger",
"Well done, %s!" : "Godt gået, %s!",
@@ -105,6 +107,7 @@ OC.L10N.register(
"Overview" : "Overblik",
"Basic settings" : "Grundlæggende Indstillinger",
"Sharing" : "Deling",
+ "Availability" : "Tilgængelighed",
"Calendar" : "Kalender",
"Personal info" : "Personlige oplysninger",
"Mobile & desktop" : "Mobil & desktop",
@@ -120,6 +123,7 @@ OC.L10N.register(
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Der afventer et baggrundsjob, der søger efter brugerimporterede SSL-certifikater. Kom venligst tilbage senere.",
"There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Der er nogle brugerimporterede SSL-certifikater til stede, som ikke længere bruges med Nextcloud 21. De kan importeres på kommandolinjen via kommandoen \"occ security:certificates:import\". Deres stier inde i databiblioteket er vist nedenfor.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Det gamle serverside-krypteringsformat er aktiveret. Vi anbefaler at deaktivere dette.",
+ "Profile information" : "Profil information",
"Nextcloud settings" : "Nextcloud-indstillinger",
"Here you can decide which group can access certain sections of the administration settings." : "Her kan du bestemme, hvilken gruppe der kan få adgang til visse sektioner af administrationsindstillingerne.",
"None" : "Ingen",
@@ -147,7 +151,6 @@ OC.L10N.register(
"View in store" : "Se i butik",
"Visit website" : "Besøg hjemmeside",
"Report a bug" : "Rapporter en fejl",
- "User documentation" : "Brugerdokumentation",
"Admin documentation" : "Admin-dokumentation",
"Developer documentation" : "Dokumentation for udviklere",
"This app is supported via your current Nextcloud subscription." : "Denne app understøttes via dit nuværende Nextcloud-abonnement.",
@@ -155,6 +158,7 @@ OC.L10N.register(
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Udvalgte apps er udviklet af og inden for fællesskabet. De tilbyder central funktionalitet og er klar til produktionsbrug.",
"Featured" : "Fremhævet",
"Update to {update}" : "Opdater til {update}",
+ "All apps are up-to-date." : "Alle apps er opdateret",
"Results from other categories" : "Resultater fra andre kategorier",
"No apps found for your version" : "Ingen apps fundet til din verion",
"Disable all" : "Slå alt fra",
@@ -202,12 +206,24 @@ OC.L10N.register(
"Copied!" : "Kopieret",
"Copy" : "Kopier",
"Could not copy app password. Please copy it manually." : "Kunne ikke kopiere app-adgangskoden. Kopier det venligst manuelt.",
+ "Background job did not run yet!" : "Baggrundsjobbet har ikke kørt endnu!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Udfør én opgave med hver side indlæst. Use case: Enkeltbrugerinstans.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php er registreret hos en webcron-tjeneste til at kalde cron.php hvert 5. minut over HTTP. Use case: Meget lille instans (1-5 brugere afhængigt af brugen).",
+ "Cron (Recommended)" : "Cron (Anbefalet)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "For at køre dette skal du bruge PHP POSIX-udvidelsen. Se {linkstart}PHP-dokumentation{linkend} for flere detaljer.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Brug systemets cron-tjeneste til at kalde cron.php-filen hvert 5. minut. Anbefales til alle instanser.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "Cron.php skal eksekveres af systembrugeren \"{user}\".",
+ "Unable to update background job mode" : "Kan ikke opdatere baggrundsjobtilstand",
"Profile" : "Profil",
+ "Enable or disable profile by default for new users." : "Aktiver eller deaktiver profil som standard for nye brugere.",
"Enable" : "Aktiver",
+ "Unable to update profile default setting" : "Kan ikke opdatere profilens standardindstilling",
"Server-side encryption" : "Kryptering på serversiden",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Kryptering på serversiden gør det muligt at kryptere filer, som er uploadet til denne server. Dette kommer med begrænsninger som en præstationsstraf, så aktiver kun dette, hvis det er nødvendigt.",
"Enable server-side encryption" : "Slå kryptering til på serversiden",
+ "Please read carefully before activating server-side encryption:" : "Læs venligst omhyggeligt, før du aktiverer server-side kryptering:",
"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." : "Når kryptering er aktiveret, vil alle filer, der uploades til serveren fra det tidspunkt frem, blive krypteret i hvile på serveren. Det vil kun være muligt at deaktivere kryptering på et senere tidspunkt, hvis det aktive krypteringsmodul understøtter denne funktion, og alle forudsætninger (f.eks. indstilling af en gendannelsesnøgle) er opfyldt.",
"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." : "Kryptering alene garanterer ikke systemets sikkerhed. I dokumentationen er der mere information om hvordan krypteringsappen virker, og kan bruges.",
"Be aware that encryption always increases the file size." : "Vær opmærksom på at kryptering altid øger filstørrelsen.",
@@ -215,12 +231,17 @@ OC.L10N.register(
"This is the final warning: Do you really want to enable encryption?" : "Dette er den sidste advarsel: Sikker på at du vil slå kryptering til?",
"No encryption module loaded, please enable an encryption module in the app menu." : "Der er ikke indlæst et krypteringsmodul - slå venligst et krypteringsmodul til i app-menuen.",
"Select default encryption module:" : "Vælg standardmodulet til kryptering:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Du skal migrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye. Aktiver venligst \"Standardkrypteringsmodulet\" og kør {command}",
+ "Unable to update server side encryption config" : "Kan ikke opdatere krypteringskonfigurationen på serversiden",
+ "Rename group" : "Omdøb gruppe",
"Remove group" : "Fjern gruppe",
"You are about to remove the group {group}. The users will NOT be deleted." : "Du er ved at fjerne gruppen {group}. Brugerne bliver IKKE slettet.",
"Please confirm the group removal " : "Bekræft at gruppen skal fjernes",
"Current password" : "Nuværende adgangskode",
"New password" : "Nyt kodeord",
"Change password" : "Skift kodeord",
+ "Your profile picture" : "Dit profil billede",
+ "Upload profile picture" : "Upload profil billede",
"png or jpg, max. 20 MB" : "png eller jpg, max. 20 MB",
"Picture provided by original account" : "Billede leveret af den oprindelige konto",
"Cancel" : "Annuller",
@@ -313,11 +334,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Følgende enheder er konfigureret til din konto:",
"Your browser does not support WebAuthn." : "Din browser understøtter ikke WebAuthn.",
"Your apps" : "Dine apps",
- "Active apps" : "Aktive apps",
- "Disabled apps" : "Deaktiverede apps",
- "Updates" : "Opdateringer",
- "App bundles" : "App bundles",
- "Featured apps" : "Udvalgte apps",
"{license}-licensed" : "{license}-licenseret",
"Changelog" : "Ændringslog",
"by {author}\n{license}" : "af {author}\n{licens}",
@@ -350,6 +366,11 @@ OC.L10N.register(
"Profile visibility" : "Profil synlighed",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ikke tilgængelig, da denne egenskab er påkrævet for kernefunktionalitet, herunder fildeling og kalenderinvitationer",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Ikke tilgængelig, da udgivelse af brugerspecifikke data til opslagsserveren ikke er tilladt. Kontakt din systemadministrator, hvis du har spørgsmål",
+ "Active apps" : "Aktive apps",
+ "Disabled apps" : "Deaktiverede apps",
+ "Updates" : "Opdateringer",
+ "App bundles" : "App bundles",
+ "Featured apps" : "Udvalgte apps",
"Show to everyone" : "Vis til alle",
"Show to logged in users only" : "Vis kun til loggede brugere",
"Hide" : "Skjul",
@@ -360,7 +381,6 @@ OC.L10N.register(
"Never" : "Aldrig",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen er blevet aktiveret, men skal opdateres. Du vil blive omdirigeret til opdateringssiden om 5 sekunder.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fejl: Denne app kan ikke aktiveres, fordi den gør serveren ustabil",
- "Administrator documentation" : "Administratordokumentation",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
"Login" : "Login",
@@ -455,7 +475,7 @@ OC.L10N.register(
"Enable encryption" : "Slå kryptering til",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen. Slå venligst \"Standardmodul til kryptering\" til, og kør \"occ encryption:migrate\"",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen.",
- "Start migration" : "Påbegynd immigrering",
+ "Start migration" : "Påbegynd migrering",
"Last job execution ran %s. Something seems wrong." : "Sidste jobudførelse kørte %s. Noget gik galt.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Nogle opgaver er ikke blevet udført siden %s. Overvej venligst at øge udførelsesfrekvensen.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Nogle opgaver blev ikke udført siden %s. Overvej venligst at skifte til system cron.",
diff --git a/apps/settings/l10n/da.json b/apps/settings/l10n/da.json
index dc9c29967dc..8868f6d23a4 100644
--- a/apps/settings/l10n/da.json
+++ b/apps/settings/l10n/da.json
@@ -43,7 +43,7 @@
"You revoked filesystem access from app password \"{token}\"" : "Du tilbagekaldte filsystemadgang fra app-adgangskoden \"{token}\"",
"Security" : "Sikkerhed",
"You successfully logged in using two-factor authentication (%1$s)" : "Du loggede in ved at bruge two-factor authentication (%1$s)",
- "A login attempt using two-factor authentication failed (%1$s)" : "Et login forsøg mislykkedes med two-factor authentication (%1$s)",
+ "A login attempt using two-factor authentication failed (%1$s)" : "Et login forsøg mislykkedes med tofaktors godkendelse (%1$s)",
"Remote wipe was started on %1$s" : "Fjernsletning blev startet på %1$s",
"Remote wipe has finished on %1$s" : "Fjernsletning er afsluttet på %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Dit <strong>password</strong> eller <strong>email</strong> blev ændret",
@@ -56,6 +56,8 @@
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installation og opdatering af apps via App Store eller Federated Cloud Sharing",
"Federated Cloud Sharing" : "Sammensluttet Cloud deling",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL bruger en forældet %1$s version (%2$s). Du skal opdatere dit styresystem for at funktioner som %3$s virker pålideligt.",
+ "Administrator documentation" : "Administratordokumentation",
+ "User documentation" : "Brugerdokumentation",
"Invalid SMTP password." : "Ikke gyldigt SMTP password",
"Email setting test" : "Test email-indstillinger",
"Well done, %s!" : "Godt gået, %s!",
@@ -103,6 +105,7 @@
"Overview" : "Overblik",
"Basic settings" : "Grundlæggende Indstillinger",
"Sharing" : "Deling",
+ "Availability" : "Tilgængelighed",
"Calendar" : "Kalender",
"Personal info" : "Personlige oplysninger",
"Mobile & desktop" : "Mobil & desktop",
@@ -118,6 +121,7 @@
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Der afventer et baggrundsjob, der søger efter brugerimporterede SSL-certifikater. Kom venligst tilbage senere.",
"There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Der er nogle brugerimporterede SSL-certifikater til stede, som ikke længere bruges med Nextcloud 21. De kan importeres på kommandolinjen via kommandoen \"occ security:certificates:import\". Deres stier inde i databiblioteket er vist nedenfor.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Det gamle serverside-krypteringsformat er aktiveret. Vi anbefaler at deaktivere dette.",
+ "Profile information" : "Profil information",
"Nextcloud settings" : "Nextcloud-indstillinger",
"Here you can decide which group can access certain sections of the administration settings." : "Her kan du bestemme, hvilken gruppe der kan få adgang til visse sektioner af administrationsindstillingerne.",
"None" : "Ingen",
@@ -145,7 +149,6 @@
"View in store" : "Se i butik",
"Visit website" : "Besøg hjemmeside",
"Report a bug" : "Rapporter en fejl",
- "User documentation" : "Brugerdokumentation",
"Admin documentation" : "Admin-dokumentation",
"Developer documentation" : "Dokumentation for udviklere",
"This app is supported via your current Nextcloud subscription." : "Denne app understøttes via dit nuværende Nextcloud-abonnement.",
@@ -153,6 +156,7 @@
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Udvalgte apps er udviklet af og inden for fællesskabet. De tilbyder central funktionalitet og er klar til produktionsbrug.",
"Featured" : "Fremhævet",
"Update to {update}" : "Opdater til {update}",
+ "All apps are up-to-date." : "Alle apps er opdateret",
"Results from other categories" : "Resultater fra andre kategorier",
"No apps found for your version" : "Ingen apps fundet til din verion",
"Disable all" : "Slå alt fra",
@@ -200,12 +204,24 @@
"Copied!" : "Kopieret",
"Copy" : "Kopier",
"Could not copy app password. Please copy it manually." : "Kunne ikke kopiere app-adgangskoden. Kopier det venligst manuelt.",
+ "Background job did not run yet!" : "Baggrundsjobbet har ikke kørt endnu!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Udfør én opgave med hver side indlæst. Use case: Enkeltbrugerinstans.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php er registreret hos en webcron-tjeneste til at kalde cron.php hvert 5. minut over HTTP. Use case: Meget lille instans (1-5 brugere afhængigt af brugen).",
+ "Cron (Recommended)" : "Cron (Anbefalet)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "For at køre dette skal du bruge PHP POSIX-udvidelsen. Se {linkstart}PHP-dokumentation{linkend} for flere detaljer.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Brug systemets cron-tjeneste til at kalde cron.php-filen hvert 5. minut. Anbefales til alle instanser.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "Cron.php skal eksekveres af systembrugeren \"{user}\".",
+ "Unable to update background job mode" : "Kan ikke opdatere baggrundsjobtilstand",
"Profile" : "Profil",
+ "Enable or disable profile by default for new users." : "Aktiver eller deaktiver profil som standard for nye brugere.",
"Enable" : "Aktiver",
+ "Unable to update profile default setting" : "Kan ikke opdatere profilens standardindstilling",
"Server-side encryption" : "Kryptering på serversiden",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Kryptering på serversiden gør det muligt at kryptere filer, som er uploadet til denne server. Dette kommer med begrænsninger som en præstationsstraf, så aktiver kun dette, hvis det er nødvendigt.",
"Enable server-side encryption" : "Slå kryptering til på serversiden",
+ "Please read carefully before activating server-side encryption:" : "Læs venligst omhyggeligt, før du aktiverer server-side kryptering:",
"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." : "Når kryptering er aktiveret, vil alle filer, der uploades til serveren fra det tidspunkt frem, blive krypteret i hvile på serveren. Det vil kun være muligt at deaktivere kryptering på et senere tidspunkt, hvis det aktive krypteringsmodul understøtter denne funktion, og alle forudsætninger (f.eks. indstilling af en gendannelsesnøgle) er opfyldt.",
"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." : "Kryptering alene garanterer ikke systemets sikkerhed. I dokumentationen er der mere information om hvordan krypteringsappen virker, og kan bruges.",
"Be aware that encryption always increases the file size." : "Vær opmærksom på at kryptering altid øger filstørrelsen.",
@@ -213,12 +229,17 @@
"This is the final warning: Do you really want to enable encryption?" : "Dette er den sidste advarsel: Sikker på at du vil slå kryptering til?",
"No encryption module loaded, please enable an encryption module in the app menu." : "Der er ikke indlæst et krypteringsmodul - slå venligst et krypteringsmodul til i app-menuen.",
"Select default encryption module:" : "Vælg standardmodulet til kryptering:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Du skal migrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye. Aktiver venligst \"Standardkrypteringsmodulet\" og kør {command}",
+ "Unable to update server side encryption config" : "Kan ikke opdatere krypteringskonfigurationen på serversiden",
+ "Rename group" : "Omdøb gruppe",
"Remove group" : "Fjern gruppe",
"You are about to remove the group {group}. The users will NOT be deleted." : "Du er ved at fjerne gruppen {group}. Brugerne bliver IKKE slettet.",
"Please confirm the group removal " : "Bekræft at gruppen skal fjernes",
"Current password" : "Nuværende adgangskode",
"New password" : "Nyt kodeord",
"Change password" : "Skift kodeord",
+ "Your profile picture" : "Dit profil billede",
+ "Upload profile picture" : "Upload profil billede",
"png or jpg, max. 20 MB" : "png eller jpg, max. 20 MB",
"Picture provided by original account" : "Billede leveret af den oprindelige konto",
"Cancel" : "Annuller",
@@ -311,11 +332,6 @@
"The following devices are configured for your account:" : "Følgende enheder er konfigureret til din konto:",
"Your browser does not support WebAuthn." : "Din browser understøtter ikke WebAuthn.",
"Your apps" : "Dine apps",
- "Active apps" : "Aktive apps",
- "Disabled apps" : "Deaktiverede apps",
- "Updates" : "Opdateringer",
- "App bundles" : "App bundles",
- "Featured apps" : "Udvalgte apps",
"{license}-licensed" : "{license}-licenseret",
"Changelog" : "Ændringslog",
"by {author}\n{license}" : "af {author}\n{licens}",
@@ -348,6 +364,11 @@
"Profile visibility" : "Profil synlighed",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ikke tilgængelig, da denne egenskab er påkrævet for kernefunktionalitet, herunder fildeling og kalenderinvitationer",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Ikke tilgængelig, da udgivelse af brugerspecifikke data til opslagsserveren ikke er tilladt. Kontakt din systemadministrator, hvis du har spørgsmål",
+ "Active apps" : "Aktive apps",
+ "Disabled apps" : "Deaktiverede apps",
+ "Updates" : "Opdateringer",
+ "App bundles" : "App bundles",
+ "Featured apps" : "Udvalgte apps",
"Show to everyone" : "Vis til alle",
"Show to logged in users only" : "Vis kun til loggede brugere",
"Hide" : "Skjul",
@@ -358,7 +379,6 @@
"Never" : "Aldrig",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen er blevet aktiveret, men skal opdateres. Du vil blive omdirigeret til opdateringssiden om 5 sekunder.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fejl: Denne app kan ikke aktiveres, fordi den gør serveren ustabil",
- "Administrator documentation" : "Administratordokumentation",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
"Login" : "Login",
@@ -453,7 +473,7 @@
"Enable encryption" : "Slå kryptering til",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen. Slå venligst \"Standardmodul til kryptering\" til, og kør \"occ encryption:migrate\"",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Du skal immigrere dine krypteringsnøgler fra den gamle kryptering (ownCloud <= 8.0) til den nye af slagsen.",
- "Start migration" : "Påbegynd immigrering",
+ "Start migration" : "Påbegynd migrering",
"Last job execution ran %s. Something seems wrong." : "Sidste jobudførelse kørte %s. Noget gik galt.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Nogle opgaver er ikke blevet udført siden %s. Overvej venligst at øge udførelsesfrekvensen.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Nogle opgaver blev ikke udført siden %s. Overvej venligst at skifte til system cron.",
diff --git a/apps/settings/l10n/de.js b/apps/settings/l10n/de.js
index 62f0e061134..e2524af1721 100644
--- a/apps/settings/l10n/de.js
+++ b/apps/settings/l10n/de.js
@@ -72,6 +72,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast erreicht. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in deiner PHP-Konfiguration anzuwenden.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Puffer ist fast voll. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.memory_consumption</code> in deiner PHP-Konfiguration mit einem höheren Wert als <code>%s</code> anzuwenden.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, <code>opcache.interned_strings_buffer</code> mit einem Wert größer als <code>%s</code> in deiner PHP-Konfiguration anzuwenden.",
+ "Administrator documentation" : "Dokumentation für Administratoren",
+ "User documentation" : "Dokumentation für Benutzer",
"Invalid SMTP password." : "Ungültiges SMTP-Passwort",
"Email setting test" : "Test der E-Mail-Einstellungen",
"Well done, %s!" : "Gut gemacht, %s!",
@@ -167,7 +169,6 @@ OC.L10N.register(
"View in store" : "Im Store anzeigen",
"Visit website" : "Webseite besuchen",
"Report a bug" : "Einen technischen Fehler melden",
- "User documentation" : "Dokumentation für Benutzer",
"Admin documentation" : "Dokumentation für Administratoren",
"Developer documentation" : "Dokumentation für Entwickler",
"This app is supported via your current Nextcloud subscription." : "Diese App wird von deinem aktuellen Nextcloud-Abonnement unterstützt.",
@@ -298,6 +299,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden",
"No email address set" : "Keine E-Mail-Adresse angegeben",
"Additional emails" : "Zusätzliche E-Mail-Adressen ",
+ "Your handle" : "Dein Online-Name",
"Your headline" : "Deine Überschrift",
"Language" : "Sprache",
"Help translate" : "Hilf bei der Übersetzung mit",
@@ -377,11 +379,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Die folgenden Geräte sind für dein Konto eingerichtet:",
"Your browser does not support WebAuthn." : "Dein Browser unterstützt kein WebAuthn.",
"Your apps" : "Deine Apps",
- "Active apps" : "Aktive Apps",
- "Disabled apps" : "Deaktivierte Apps",
- "Updates" : "Aktualisierungen",
- "App bundles" : "App-Pakete",
- "Featured apps" : "Vorgestellte Apps",
"{license}-licensed" : "{license}-Lizenziert",
"Changelog" : "Liste der Veränderungen",
"by {author}\n{license}" : "von {author}\n{license}",
@@ -413,7 +410,13 @@ OC.L10N.register(
"Website" : "Webseite",
"Profile visibility" : "Sichtbarkeit deines Profils",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, da das Federation für dein Konto dekativiert ist. Wende dich an deinen Administratior, wenn du Fragen hast.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nicht verfügbar, da die Veröffentlichung benutzerspezifischer Daten auf dem Lookup-Server nicht zulässig ist. Wende dich bei Fragen an deinen Systemadministrator",
+ "Active apps" : "Aktive Apps",
+ "Disabled apps" : "Deaktivierte Apps",
+ "Updates" : "Aktualisierungen",
+ "App bundles" : "App-Pakete",
+ "Featured apps" : "Vorgestellte Apps",
"Show to everyone" : "Für jeden sichtbar",
"Show to logged in users only" : "Nur für angemeldete Benutzer sichtbar",
"Hide" : "Ausblenden",
@@ -425,7 +428,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Die App wurde aktiviert, muss aber aktualisiert werden. Du wirst in 5 Sekunden zur Aktualisierungsseite weitergeleitet.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ",
- "Administrator documentation" : "Dokumentation für Administratoren",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
"Login" : "Anmelden",
diff --git a/apps/settings/l10n/de.json b/apps/settings/l10n/de.json
index a8941c3f387..49dba189a09 100644
--- a/apps/settings/l10n/de.json
+++ b/apps/settings/l10n/de.json
@@ -70,6 +70,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast erreicht. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in deiner PHP-Konfiguration anzuwenden.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Puffer ist fast voll. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.memory_consumption</code> in deiner PHP-Konfiguration mit einem höheren Wert als <code>%s</code> anzuwenden.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, <code>opcache.interned_strings_buffer</code> mit einem Wert größer als <code>%s</code> in deiner PHP-Konfiguration anzuwenden.",
+ "Administrator documentation" : "Dokumentation für Administratoren",
+ "User documentation" : "Dokumentation für Benutzer",
"Invalid SMTP password." : "Ungültiges SMTP-Passwort",
"Email setting test" : "Test der E-Mail-Einstellungen",
"Well done, %s!" : "Gut gemacht, %s!",
@@ -165,7 +167,6 @@
"View in store" : "Im Store anzeigen",
"Visit website" : "Webseite besuchen",
"Report a bug" : "Einen technischen Fehler melden",
- "User documentation" : "Dokumentation für Benutzer",
"Admin documentation" : "Dokumentation für Administratoren",
"Developer documentation" : "Dokumentation für Entwickler",
"This app is supported via your current Nextcloud subscription." : "Diese App wird von deinem aktuellen Nextcloud-Abonnement unterstützt.",
@@ -296,6 +297,7 @@
"Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden",
"No email address set" : "Keine E-Mail-Adresse angegeben",
"Additional emails" : "Zusätzliche E-Mail-Adressen ",
+ "Your handle" : "Dein Online-Name",
"Your headline" : "Deine Überschrift",
"Language" : "Sprache",
"Help translate" : "Hilf bei der Übersetzung mit",
@@ -375,11 +377,6 @@
"The following devices are configured for your account:" : "Die folgenden Geräte sind für dein Konto eingerichtet:",
"Your browser does not support WebAuthn." : "Dein Browser unterstützt kein WebAuthn.",
"Your apps" : "Deine Apps",
- "Active apps" : "Aktive Apps",
- "Disabled apps" : "Deaktivierte Apps",
- "Updates" : "Aktualisierungen",
- "App bundles" : "App-Pakete",
- "Featured apps" : "Vorgestellte Apps",
"{license}-licensed" : "{license}-Lizenziert",
"Changelog" : "Liste der Veränderungen",
"by {author}\n{license}" : "von {author}\n{license}",
@@ -411,7 +408,13 @@
"Website" : "Webseite",
"Profile visibility" : "Sichtbarkeit deines Profils",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, da das Federation für dein Konto dekativiert ist. Wende dich an deinen Administratior, wenn du Fragen hast.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nicht verfügbar, da die Veröffentlichung benutzerspezifischer Daten auf dem Lookup-Server nicht zulässig ist. Wende dich bei Fragen an deinen Systemadministrator",
+ "Active apps" : "Aktive Apps",
+ "Disabled apps" : "Deaktivierte Apps",
+ "Updates" : "Aktualisierungen",
+ "App bundles" : "App-Pakete",
+ "Featured apps" : "Vorgestellte Apps",
"Show to everyone" : "Für jeden sichtbar",
"Show to logged in users only" : "Nur für angemeldete Benutzer sichtbar",
"Hide" : "Ausblenden",
@@ -423,7 +426,6 @@
"An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Die App wurde aktiviert, muss aber aktualisiert werden. Du wirst in 5 Sekunden zur Aktualisierungsseite weitergeleitet.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ",
- "Administrator documentation" : "Dokumentation für Administratoren",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
"Login" : "Anmelden",
diff --git a/apps/settings/l10n/de_DE.js b/apps/settings/l10n/de_DE.js
index 4ff035c97a8..0dd87783286 100644
--- a/apps/settings/l10n/de_DE.js
+++ b/apps/settings/l10n/de_DE.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast erreicht. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in Ihrer PHP-Konfiguration anzuwenden.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Puffer ist fast voll. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.memory_consumption</code> auf Ihre PHP-Konfiguration mit einem höheren Wert als <code>%s</code> anzuwenden. ",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, <code>opcache.interned_strings_buffer</code> mit einem Wert größer als <code>%s</code> auf Ihre PHP-Konfiguration anzuwenden.",
+ "Administrator documentation" : "Dokumentation für die Administration",
+ "User documentation" : "Dokumentation für Benutzer",
"Invalid SMTP password." : "Ungültiges SMTP-Passwort.",
"Email setting test" : "Test der E-Mail-Einstellungen",
"Well done, %s!" : "Gut gemacht, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Im Store anzeigen",
"Visit website" : "Webseite besuchen",
"Report a bug" : "Einen technischen Fehler melden",
- "User documentation" : "Dokumentation für Benutzer",
"Admin documentation" : "Dokumentation für die Administration",
"Developer documentation" : "Dokumentation für Entwickler",
"This app is supported via your current Nextcloud subscription." : "Diese App wird von Ihrem aktuellen Nextcloud-Abonnement unterstützt.",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden",
"No email address set" : "Keine E-Mail-Adresse angegeben",
"Additional emails" : "Zusätzliche E-Mail-Adressen",
+ "Your handle" : "Dein Online-Name",
"Your headline" : "Ihre Überschrift",
"Language" : "Sprache",
"Help translate" : "Helfen Sie bei der Übersetzung",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Die folgenden Geräte sind für Ihr Konto eingerichtet:",
"Your browser does not support WebAuthn." : "Ihr Browser unterstützt kein WebAuthn.",
"Your apps" : "Ihre Apps",
- "Active apps" : "Aktive Apps",
- "Disabled apps" : "Deaktivierte Apps",
- "Updates" : "Aktualisierungen",
- "App bundles" : "App-Pakete",
- "Featured apps" : "Vorgestellte Apps",
"{license}-licensed" : "{license}-Lizenziert",
"Changelog" : "Liste der Änderungen",
"by {author}\n{license}" : "von {author}\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "Telefonnummer",
"Role" : "Funktion",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (wie z.B. Mastodon)",
"Website" : "Webseite",
"Profile visibility" : "Sichtbarkeit des Profils",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.",
- "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, das Federation für Ihr Kionto dekativiert ist. Wenden Sie sich an Ihre Administration, wenn Sie Fragen haben",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, da Föderation für Ihr Konto deaktiviert ist. Bitte wenden Sie sich an Ihre Administration, wenn Sie Fragen haben",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nicht verfügbar, da die Veröffentlichung benutzerspezifischer Daten auf dem Lookup-Server nicht zulässig ist. Wenden Sie sich bei Fragen an Ihre Systemadministration.",
+ "Active apps" : "Aktive Apps",
+ "Disabled apps" : "Deaktivierte Apps",
+ "Updates" : "Aktualisierungen",
+ "App bundles" : "App-Pakete",
+ "Featured apps" : "Vorgestellte Apps",
"Show to everyone" : "Jedem anzeigen",
"Show to logged in users only" : "Nur angemeldeten Benutzern anzeigen",
"Hide" : "Ausblenden",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Die App wurde aktiviert, muss aber aktualisiert werden. Sie werden in 5 Sekunden zur Aktualisierungsseite weitergeleitet.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ",
- "Administrator documentation" : "Dokumentation für die Administration",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
"Login" : "Anmelden",
diff --git a/apps/settings/l10n/de_DE.json b/apps/settings/l10n/de_DE.json
index 31d56f027b6..ea065b383b0 100644
--- a/apps/settings/l10n/de_DE.json
+++ b/apps/settings/l10n/de_DE.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Die maximale Anzahl von OPcache-Schlüsseln ist fast erreicht. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.max_accelerated_files</code> mit einem höheren Wert als <code>%s</code> in Ihrer PHP-Konfiguration anzuwenden.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Puffer ist fast voll. Um sicherzustellen, dass alle Skripte im Cache gehalten werden können, wird empfohlen, <code>opcache.memory_consumption</code> auf Ihre PHP-Konfiguration mit einem höheren Wert als <code>%s</code> anzuwenden. ",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Der OPcache-Zwischenspeicher für interne Zeichenfolgen ist fast voll. Um sicherzustellen, dass sich wiederholende Zeichenfolgen effektiv zwischengespeichert werden können, wird empfohlen, <code>opcache.interned_strings_buffer</code> mit einem Wert größer als <code>%s</code> auf Ihre PHP-Konfiguration anzuwenden.",
+ "Administrator documentation" : "Dokumentation für die Administration",
+ "User documentation" : "Dokumentation für Benutzer",
"Invalid SMTP password." : "Ungültiges SMTP-Passwort.",
"Email setting test" : "Test der E-Mail-Einstellungen",
"Well done, %s!" : "Gut gemacht, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Im Store anzeigen",
"Visit website" : "Webseite besuchen",
"Report a bug" : "Einen technischen Fehler melden",
- "User documentation" : "Dokumentation für Benutzer",
"Admin documentation" : "Dokumentation für die Administration",
"Developer documentation" : "Dokumentation für Entwickler",
"This app is supported via your current Nextcloud subscription." : "Diese App wird von Ihrem aktuellen Nextcloud-Abonnement unterstützt.",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "Zusätzliche E-Mail-Adresse konnte nicht gelöscht werden",
"No email address set" : "Keine E-Mail-Adresse angegeben",
"Additional emails" : "Zusätzliche E-Mail-Adressen",
+ "Your handle" : "Dein Online-Name",
"Your headline" : "Ihre Überschrift",
"Language" : "Sprache",
"Help translate" : "Helfen Sie bei der Übersetzung",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "Die folgenden Geräte sind für Ihr Konto eingerichtet:",
"Your browser does not support WebAuthn." : "Ihr Browser unterstützt kein WebAuthn.",
"Your apps" : "Ihre Apps",
- "Active apps" : "Aktive Apps",
- "Disabled apps" : "Deaktivierte Apps",
- "Updates" : "Aktualisierungen",
- "App bundles" : "App-Pakete",
- "Featured apps" : "Vorgestellte Apps",
"{license}-licensed" : "{license}-Lizenziert",
"Changelog" : "Liste der Änderungen",
"by {author}\n{license}" : "von {author}\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "Telefonnummer",
"Role" : "Funktion",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (wie z.B. Mastodon)",
"Website" : "Webseite",
"Profile visibility" : "Sichtbarkeit des Profils",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nicht verfügbar, da diese Eigenschaft für Kernfunktionen wie Dateifreigabe und Kalendereinladungen erforderlich ist.",
- "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, das Federation für Ihr Kionto dekativiert ist. Wenden Sie sich an Ihre Administration, wenn Sie Fragen haben",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nicht verfügbar, da Föderation für Ihr Konto deaktiviert ist. Bitte wenden Sie sich an Ihre Administration, wenn Sie Fragen haben",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nicht verfügbar, da die Veröffentlichung benutzerspezifischer Daten auf dem Lookup-Server nicht zulässig ist. Wenden Sie sich bei Fragen an Ihre Systemadministration.",
+ "Active apps" : "Aktive Apps",
+ "Disabled apps" : "Deaktivierte Apps",
+ "Updates" : "Aktualisierungen",
+ "App bundles" : "App-Pakete",
+ "Featured apps" : "Vorgestellte Apps",
"Show to everyone" : "Jedem anzeigen",
"Show to logged in users only" : "Nur angemeldeten Benutzern anzeigen",
"Hide" : "Ausblenden",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "Es ist ein Fehler bei der Anfrage aufgetreten. Es kann nicht fortgefahren werden.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Die App wurde aktiviert, muss aber aktualisiert werden. Sie werden in 5 Sekunden zur Aktualisierungsseite weitergeleitet.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fehler: Diese App kann nicht aktiviert werden, da sie den Server instabil macht. ",
- "Administrator documentation" : "Dokumentation für die Administration",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
"Login" : "Anmelden",
diff --git a/apps/settings/l10n/el.js b/apps/settings/l10n/el.js
index a7cab43d86e..68a06e906e5 100644
--- a/apps/settings/l10n/el.js
+++ b/apps/settings/l10n/el.js
@@ -2,6 +2,7 @@ OC.L10N.register(
"settings",
{
"Private" : "Ιδιωτικά",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Ορατό μόνο σε άτομα που αντιστοιχίζονται μέσω ενσωμάτωσης αριθμού τηλεφώνου μέσω του Talk σε κινητά",
"Local" : "Τοπικά",
"Only visible to people on this instance and guests" : "Ορατό μόνο σε άτομα σε αυτήν την εγκατάσταση και σε επισκέπτες",
"Federated" : "Federated",
@@ -58,6 +59,8 @@ OC.L10N.register(
"installing and updating apps via the App Store or Federated Cloud Sharing" : "εγκατάσταση και ενημέρωση εφαρμογών μέσω του App Store ή του Federated Cloud Sharing",
"Federated Cloud Sharing" : "Διαμοιρασμός σε ομόσπονδα σύννεφα ",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "Το cURL χρησιμοποιεί μια παρωχημένη %1$s έκδοση (%2$s). Παρακαλούμε αναβαθμίστε το λειτουργικό σας σύστημα αλλιώς δυνατότητες όπως %3$s δεν θα δουλέψουν αξιόπιστα.",
+ "Administrator documentation" : "Τεκμηρίωση Διαχειριστή",
+ "User documentation" : "Τεκμηρίωση Χρήστη",
"Invalid SMTP password." : "Μη έγκυρο συνθηματικό SMTP.",
"Email setting test" : "Δοκιμή ρυθμίσεων email",
"Well done, %s!" : "Συγχαρητήρια, %s!",
@@ -149,7 +152,6 @@ OC.L10N.register(
"View in store" : "Προβολή στο κέντρο εφαρμογών",
"Visit website" : "Επισκεφθείτε την ιστοσελίδα",
"Report a bug" : "Αναφορά σφάλματος",
- "User documentation" : "Τεκμηρίωση Χρήστη",
"Admin documentation" : "Τεκμηρίωση Διαχειριστή",
"Developer documentation" : "Τεκμηρίωση προγραμματιστή",
"This app is supported via your current Nextcloud subscription." : "Αυτή η εφαρμογή υποστηρίζεται μέσω της τρέχουσας συνδρομής σας στο Nextcloud.",
@@ -206,7 +208,14 @@ OC.L10N.register(
"Copied!" : "Αντιγράφτηκε!",
"Copy" : "Αντιγραφή",
"Could not copy app password. Please copy it manually." : "Ο κωδικός εφαρμογής δεν μπορεί να αντιγραφεί. Παρακαλώ αντιγράψτε χειροκίνητα.",
+ "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Για να λειτουργεί σωστά ο διακομιστής, είναι σημαντικό να διαμορφώσετε σωστά τις εργασίες παρασκηνίου. Το Cron είναι η προτεινόμενη ρύθμιση. Δείτε την τεκμηρίωση για περισσότερες πληροφορίες.",
+ "Last job execution ran {time}. Something seems wrong." : "Η τελευταία εργασία εκτελέστηκε {time}. Κάτι φαίνεται λάθος.",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Εκτέλεση μιας εργασίας με κάθε σελίδα που φορτώνεται. Περίπτωση χρήσης: Εγκατάσταση με έναν χρήστη.",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "Το cron.php είναι εγγεγραμμένο σε μια υπηρεσία webcron για να καλεί το cron.php κάθε 5 λεπτά μέσω HTTP. Περίπτωση χρήσης: Πολύ μικρή εγκατάσταση (1–5 χρήστες ανάλογα με τη χρήση).",
+ "Cron (Recommended)" : "Cron (Συνιστάται)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Για να τρέξετε αυτό χρειάζεστε την επέκταση PHP POSIX. Δείτε {linkstart} PHP τεκμηρίωση {linked} για περισσότερες λεπτομέρειες.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Χρήση της υπηρεσίας cron του συστήματος για να καλεί το αρχείο cron.php κάθε 5 λεπτά. Συνιστάται για όλες τις περιπτώσεις.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος, \"{user}\".",
"Profile" : "Προφίλ",
"Enable or disable profile by default for new users." : "Ενεργοποίηση ή απενεργοποίηση προφίλ από προεπιλογή για νέους χρήστες.",
"Enable" : "Ενεργοποίηση",
@@ -231,9 +240,12 @@ OC.L10N.register(
"png or jpg, max. 20 MB" : "png ή jpg, μεγ. 20 MB",
"Picture provided by original account" : "Φωτογραφία που παρέχεται από τον πρωτότυπο λογαριασμό",
"Cancel" : "Άκυρο",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Λάβετε υπόψη ότι μπορεί να χρειαστούν έως και 24 ώρες για να ενημερωθεί παντού η εικόνα του προφίλ σας.",
"Your biography" : "Το βιογραφικό σας",
"Details" : "Λεπτομέρειες",
"You are a member of the following groups:" : "Είστε μέλος των ακόλουθων ομάδων:",
+ "You are using <strong>{usage}</strong>" : "Χρησιμοποιείτε <strong>{usage}</strong>",
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Χρησιμοποιείτε <strong>{usage}</strong> από <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
"Your full name" : "Το ονοματεπώνυμο σας",
"Email options" : "Επιλογές email",
"Primary email for password reset and notifications" : "Κύριο email για επαναφορά συνθηματικού και ειδοποιήσεις",
@@ -257,6 +269,8 @@ OC.L10N.register(
"Unable to update language" : "Δεν είναι δυνατή η ενημέρωση της γλώσσας",
"No language set" : "Δεν ορίστηκε γλώσσα",
"Locale" : "Ρυθμίσεις τοποθεσίας",
+ "Week starts on {firstDayOfWeek}" : "Η εβδομάδα ξεκινά την {firstDayOfWeek}",
+ "Your location" : "Η τοποθεσία σας",
"Your organisation" : "Ο οργανισμός σας",
"Your phone number" : "Ο αριθμός τηλεφώνου σας",
"Edit your Profile visibility" : "Επεξεργασία της ορατότητας του Προφίλ σας",
@@ -321,11 +335,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Οι ακόλουθες συσκευές ρυθμίστηκαν για τον λογαριασμό σας:",
"Your browser does not support WebAuthn." : "Ο περιηγητής σας δεν υποστηρίζει το WebAuthn.",
"Your apps" : "Οι εφαρμογές σας",
- "Active apps" : "Ενεργές εφαρμογές",
- "Disabled apps" : "Απενεργοποιημένες εφαρμογές",
- "Updates" : "Ενημερώσεις",
- "App bundles" : "Πακέτα εφαρμογών",
- "Featured apps" : "Προτεινόμενες εφαρμογές",
"{license}-licensed" : "{license}-αδειοδοτημένο",
"Changelog" : "Αρχείο καταγραφής αλλαγών",
"by {author}\n{license}" : "από {author}\n{license}",
@@ -357,7 +366,13 @@ OC.L10N.register(
"Website" : "Ιστοσελίδα",
"Profile visibility" : "Ορατότητα προφίλ",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Δεν είναι διαθέσιμη, καθώς αυτή η ιδιότητα απαιτείται για βασικές λειτουργίες, συμπεριλαμβανομένης της κοινής χρήσης αρχείων και των προσκλήσεων ημερολογίου",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Μη διαθέσιμο καθώς το Federation έχει απενεργοποιηθεί για τον λογαριασμό σας, επικοινωνήστε με τον διαχειριστή του συστήματός σας εάν έχετε οποιαδήποτε απορία",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Δεν είναι διαθέσιμο καθώς δεν επιτρέπεται η δημοσίευση δεδομένων χρήστη στον διακομιστή αναζήτησης. Επικοινωνήστε με τον διαχειριστή του συστήματός σας εάν έχετε οποιεσδήποτε ερωτήσεις",
+ "Active apps" : "Ενεργές εφαρμογές",
+ "Disabled apps" : "Απενεργοποιημένες εφαρμογές",
+ "Updates" : "Ενημερώσεις",
+ "App bundles" : "Πακέτα εφαρμογών",
+ "Featured apps" : "Προτεινόμενες εφαρμογές",
"Show to everyone" : "Εμφάνιση σε όλους",
"Show to logged in users only" : "Εμφάνιση μόνο σε συνδεδεμένους χρήστες",
"Hide" : "Απόκρυψη",
@@ -368,7 +383,6 @@ OC.L10N.register(
"Never" : "Ποτέ",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Η εφαρμογή έχει ενεργοποιηθεί αλλά χρειάζεται ενημέρωση. Θα μεταφερθείτε στη σελίδα ενημέρωσης σε 5 δευτερόλεπτα.",
"Error: This app cannot be enabled because it makes the server unstable" : "Σφάλμα: Αυτή η εφαρμογή δεν μπορεί να ενεργοποιηθεί γιατί θα καταστήσει ασταθή τον διακομιστή.",
- "Administrator documentation" : "Τεκμηρίωση Διαχειριστή",
"Documentation" : "Τεκμηρίωση",
"Forum" : "Φόρουμ",
"Login" : "Σύνδεση",
@@ -462,11 +476,12 @@ OC.L10N.register(
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Πρέπει να μεταφέρετε τα κλειδιά κρυπτογράφησής σας από την παλιά κρυπτογράφηση (ownCloud <= 8.0) στην καινούρια. Παρακαλούμε ενεργοποιήστε την \"Προεπιλεγμένη Μονάδα Κρυπτογράφησης\" και εκτελέστε την εντολή 'occ encryption:migrate'",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Πρέπει να μεταφέρετε τα κλειδιά σας κρυπτογράφησης από την παλιά κρυπτογράφηση (ownCloud <= 8.0) στην καινούρια.",
"Start migration" : "Έναρξη μετάβασης",
- "Last job execution ran %s. Something seems wrong." : "Η τελευταία εντολή έδειξε %s. Κάτι φαίνεται λάθος.",
+ "Last job execution ran %s. Something seems wrong." : "Η τελευταία εργασία εκτελέστηκε %s. Κάτι φαίνεται λάθος.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Ορισμένες εργασίες δεν εκτελέστηκαν από %s. Σκεφτείτε να αυξήσετε τη συχνότητα εκτέλεσης.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Ορισμένες εργασίες δεν εκτελέστηκαν από %s. Σκεφτείτε να μεταβείτε στο σύστημα cron.",
"Last job ran %s." : "Η τελευταία εργασία %s.",
"Background job didn’t run yet!" : "Η εργασία παρασκηνίου δεν εκτελέστηκε ακόμη!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Για να λειτουργεί σωστά ο διακομιστής, είναι σημαντικό να διαμορφώσετε σωστά τις εργασίες παρασκηνίου. Το \"Cron\" είναι η προτεινόμενη ρύθμιση. Δείτε την τεκμηρίωση για περισσότερες πληροφορίες.",
"Pick background job setting" : "Επιλέξτε τη ρύθμιση εργασίας παρασκηνίου",
"Recommended" : "Προτείνεται",
"The cron.php needs to be executed by the system user \"%s\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος \"%s\".",
@@ -474,7 +489,7 @@ OC.L10N.register(
"Upload new" : "Μεταφόρτωση νέας",
"Select from Files" : "Επιλογή από τα Αρχεία",
"Remove image" : "Αφαίρεση εικόνας",
- "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Λάβετε υπόψη ότι μπορεί να χρειαστούν έως και 24 ώρες για να ενημερωθεί το avatar παντού.",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Λάβετε υπόψη ότι μπορεί να χρειαστούν έως και 24 ώρες για να ενημερωθεί το άβαταρ παντού.",
"Choose as profile picture" : "Επιλέξτε εικόνα προφίλ",
"You are using <strong>%s</strong>" : "Χρησιμοποιείτε <strong>%s</strong>",
"You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Χρησιμοποιείτε <strong>%1$s</strong> του <strong>%2$s</strong>(<strong>%3$s%%</strong>)",
diff --git a/apps/settings/l10n/el.json b/apps/settings/l10n/el.json
index 23a9fd04fe9..48a1f5c3085 100644
--- a/apps/settings/l10n/el.json
+++ b/apps/settings/l10n/el.json
@@ -1,5 +1,6 @@
{ "translations": {
"Private" : "Ιδιωτικά",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Ορατό μόνο σε άτομα που αντιστοιχίζονται μέσω ενσωμάτωσης αριθμού τηλεφώνου μέσω του Talk σε κινητά",
"Local" : "Τοπικά",
"Only visible to people on this instance and guests" : "Ορατό μόνο σε άτομα σε αυτήν την εγκατάσταση και σε επισκέπτες",
"Federated" : "Federated",
@@ -56,6 +57,8 @@
"installing and updating apps via the App Store or Federated Cloud Sharing" : "εγκατάσταση και ενημέρωση εφαρμογών μέσω του App Store ή του Federated Cloud Sharing",
"Federated Cloud Sharing" : "Διαμοιρασμός σε ομόσπονδα σύννεφα ",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "Το cURL χρησιμοποιεί μια παρωχημένη %1$s έκδοση (%2$s). Παρακαλούμε αναβαθμίστε το λειτουργικό σας σύστημα αλλιώς δυνατότητες όπως %3$s δεν θα δουλέψουν αξιόπιστα.",
+ "Administrator documentation" : "Τεκμηρίωση Διαχειριστή",
+ "User documentation" : "Τεκμηρίωση Χρήστη",
"Invalid SMTP password." : "Μη έγκυρο συνθηματικό SMTP.",
"Email setting test" : "Δοκιμή ρυθμίσεων email",
"Well done, %s!" : "Συγχαρητήρια, %s!",
@@ -147,7 +150,6 @@
"View in store" : "Προβολή στο κέντρο εφαρμογών",
"Visit website" : "Επισκεφθείτε την ιστοσελίδα",
"Report a bug" : "Αναφορά σφάλματος",
- "User documentation" : "Τεκμηρίωση Χρήστη",
"Admin documentation" : "Τεκμηρίωση Διαχειριστή",
"Developer documentation" : "Τεκμηρίωση προγραμματιστή",
"This app is supported via your current Nextcloud subscription." : "Αυτή η εφαρμογή υποστηρίζεται μέσω της τρέχουσας συνδρομής σας στο Nextcloud.",
@@ -204,7 +206,14 @@
"Copied!" : "Αντιγράφτηκε!",
"Copy" : "Αντιγραφή",
"Could not copy app password. Please copy it manually." : "Ο κωδικός εφαρμογής δεν μπορεί να αντιγραφεί. Παρακαλώ αντιγράψτε χειροκίνητα.",
+ "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Για να λειτουργεί σωστά ο διακομιστής, είναι σημαντικό να διαμορφώσετε σωστά τις εργασίες παρασκηνίου. Το Cron είναι η προτεινόμενη ρύθμιση. Δείτε την τεκμηρίωση για περισσότερες πληροφορίες.",
+ "Last job execution ran {time}. Something seems wrong." : "Η τελευταία εργασία εκτελέστηκε {time}. Κάτι φαίνεται λάθος.",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Εκτέλεση μιας εργασίας με κάθε σελίδα που φορτώνεται. Περίπτωση χρήσης: Εγκατάσταση με έναν χρήστη.",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "Το cron.php είναι εγγεγραμμένο σε μια υπηρεσία webcron για να καλεί το cron.php κάθε 5 λεπτά μέσω HTTP. Περίπτωση χρήσης: Πολύ μικρή εγκατάσταση (1–5 χρήστες ανάλογα με τη χρήση).",
+ "Cron (Recommended)" : "Cron (Συνιστάται)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Για να τρέξετε αυτό χρειάζεστε την επέκταση PHP POSIX. Δείτε {linkstart} PHP τεκμηρίωση {linked} για περισσότερες λεπτομέρειες.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Χρήση της υπηρεσίας cron του συστήματος για να καλεί το αρχείο cron.php κάθε 5 λεπτά. Συνιστάται για όλες τις περιπτώσεις.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος, \"{user}\".",
"Profile" : "Προφίλ",
"Enable or disable profile by default for new users." : "Ενεργοποίηση ή απενεργοποίηση προφίλ από προεπιλογή για νέους χρήστες.",
"Enable" : "Ενεργοποίηση",
@@ -229,9 +238,12 @@
"png or jpg, max. 20 MB" : "png ή jpg, μεγ. 20 MB",
"Picture provided by original account" : "Φωτογραφία που παρέχεται από τον πρωτότυπο λογαριασμό",
"Cancel" : "Άκυρο",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Λάβετε υπόψη ότι μπορεί να χρειαστούν έως και 24 ώρες για να ενημερωθεί παντού η εικόνα του προφίλ σας.",
"Your biography" : "Το βιογραφικό σας",
"Details" : "Λεπτομέρειες",
"You are a member of the following groups:" : "Είστε μέλος των ακόλουθων ομάδων:",
+ "You are using <strong>{usage}</strong>" : "Χρησιμοποιείτε <strong>{usage}</strong>",
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Χρησιμοποιείτε <strong>{usage}</strong> από <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
"Your full name" : "Το ονοματεπώνυμο σας",
"Email options" : "Επιλογές email",
"Primary email for password reset and notifications" : "Κύριο email για επαναφορά συνθηματικού και ειδοποιήσεις",
@@ -255,6 +267,8 @@
"Unable to update language" : "Δεν είναι δυνατή η ενημέρωση της γλώσσας",
"No language set" : "Δεν ορίστηκε γλώσσα",
"Locale" : "Ρυθμίσεις τοποθεσίας",
+ "Week starts on {firstDayOfWeek}" : "Η εβδομάδα ξεκινά την {firstDayOfWeek}",
+ "Your location" : "Η τοποθεσία σας",
"Your organisation" : "Ο οργανισμός σας",
"Your phone number" : "Ο αριθμός τηλεφώνου σας",
"Edit your Profile visibility" : "Επεξεργασία της ορατότητας του Προφίλ σας",
@@ -319,11 +333,6 @@
"The following devices are configured for your account:" : "Οι ακόλουθες συσκευές ρυθμίστηκαν για τον λογαριασμό σας:",
"Your browser does not support WebAuthn." : "Ο περιηγητής σας δεν υποστηρίζει το WebAuthn.",
"Your apps" : "Οι εφαρμογές σας",
- "Active apps" : "Ενεργές εφαρμογές",
- "Disabled apps" : "Απενεργοποιημένες εφαρμογές",
- "Updates" : "Ενημερώσεις",
- "App bundles" : "Πακέτα εφαρμογών",
- "Featured apps" : "Προτεινόμενες εφαρμογές",
"{license}-licensed" : "{license}-αδειοδοτημένο",
"Changelog" : "Αρχείο καταγραφής αλλαγών",
"by {author}\n{license}" : "από {author}\n{license}",
@@ -355,7 +364,13 @@
"Website" : "Ιστοσελίδα",
"Profile visibility" : "Ορατότητα προφίλ",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Δεν είναι διαθέσιμη, καθώς αυτή η ιδιότητα απαιτείται για βασικές λειτουργίες, συμπεριλαμβανομένης της κοινής χρήσης αρχείων και των προσκλήσεων ημερολογίου",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Μη διαθέσιμο καθώς το Federation έχει απενεργοποιηθεί για τον λογαριασμό σας, επικοινωνήστε με τον διαχειριστή του συστήματός σας εάν έχετε οποιαδήποτε απορία",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Δεν είναι διαθέσιμο καθώς δεν επιτρέπεται η δημοσίευση δεδομένων χρήστη στον διακομιστή αναζήτησης. Επικοινωνήστε με τον διαχειριστή του συστήματός σας εάν έχετε οποιεσδήποτε ερωτήσεις",
+ "Active apps" : "Ενεργές εφαρμογές",
+ "Disabled apps" : "Απενεργοποιημένες εφαρμογές",
+ "Updates" : "Ενημερώσεις",
+ "App bundles" : "Πακέτα εφαρμογών",
+ "Featured apps" : "Προτεινόμενες εφαρμογές",
"Show to everyone" : "Εμφάνιση σε όλους",
"Show to logged in users only" : "Εμφάνιση μόνο σε συνδεδεμένους χρήστες",
"Hide" : "Απόκρυψη",
@@ -366,7 +381,6 @@
"Never" : "Ποτέ",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Η εφαρμογή έχει ενεργοποιηθεί αλλά χρειάζεται ενημέρωση. Θα μεταφερθείτε στη σελίδα ενημέρωσης σε 5 δευτερόλεπτα.",
"Error: This app cannot be enabled because it makes the server unstable" : "Σφάλμα: Αυτή η εφαρμογή δεν μπορεί να ενεργοποιηθεί γιατί θα καταστήσει ασταθή τον διακομιστή.",
- "Administrator documentation" : "Τεκμηρίωση Διαχειριστή",
"Documentation" : "Τεκμηρίωση",
"Forum" : "Φόρουμ",
"Login" : "Σύνδεση",
@@ -460,11 +474,12 @@
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run 'occ encryption:migrate'" : "Πρέπει να μεταφέρετε τα κλειδιά κρυπτογράφησής σας από την παλιά κρυπτογράφηση (ownCloud <= 8.0) στην καινούρια. Παρακαλούμε ενεργοποιήστε την \"Προεπιλεγμένη Μονάδα Κρυπτογράφησης\" και εκτελέστε την εντολή 'occ encryption:migrate'",
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "Πρέπει να μεταφέρετε τα κλειδιά σας κρυπτογράφησης από την παλιά κρυπτογράφηση (ownCloud <= 8.0) στην καινούρια.",
"Start migration" : "Έναρξη μετάβασης",
- "Last job execution ran %s. Something seems wrong." : "Η τελευταία εντολή έδειξε %s. Κάτι φαίνεται λάθος.",
+ "Last job execution ran %s. Something seems wrong." : "Η τελευταία εργασία εκτελέστηκε %s. Κάτι φαίνεται λάθος.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Ορισμένες εργασίες δεν εκτελέστηκαν από %s. Σκεφτείτε να αυξήσετε τη συχνότητα εκτέλεσης.",
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Ορισμένες εργασίες δεν εκτελέστηκαν από %s. Σκεφτείτε να μεταβείτε στο σύστημα cron.",
"Last job ran %s." : "Η τελευταία εργασία %s.",
"Background job didn’t run yet!" : "Η εργασία παρασκηνίου δεν εκτελέστηκε ακόμη!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Για να λειτουργεί σωστά ο διακομιστής, είναι σημαντικό να διαμορφώσετε σωστά τις εργασίες παρασκηνίου. Το \"Cron\" είναι η προτεινόμενη ρύθμιση. Δείτε την τεκμηρίωση για περισσότερες πληροφορίες.",
"Pick background job setting" : "Επιλέξτε τη ρύθμιση εργασίας παρασκηνίου",
"Recommended" : "Προτείνεται",
"The cron.php needs to be executed by the system user \"%s\"." : "Το cron.php πρέπει να εκτελεστεί από τον χρήστη του συστήματος \"%s\".",
@@ -472,7 +487,7 @@
"Upload new" : "Μεταφόρτωση νέας",
"Select from Files" : "Επιλογή από τα Αρχεία",
"Remove image" : "Αφαίρεση εικόνας",
- "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Λάβετε υπόψη ότι μπορεί να χρειαστούν έως και 24 ώρες για να ενημερωθεί το avatar παντού.",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Λάβετε υπόψη ότι μπορεί να χρειαστούν έως και 24 ώρες για να ενημερωθεί το άβαταρ παντού.",
"Choose as profile picture" : "Επιλέξτε εικόνα προφίλ",
"You are using <strong>%s</strong>" : "Χρησιμοποιείτε <strong>%s</strong>",
"You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Χρησιμοποιείτε <strong>%1$s</strong> του <strong>%2$s</strong>(<strong>%3$s%%</strong>)",
diff --git a/apps/settings/l10n/en_GB.js b/apps/settings/l10n/en_GB.js
index 059f0902796..e1db4145c31 100644
--- a/apps/settings/l10n/en_GB.js
+++ b/apps/settings/l10n/en_GB.js
@@ -2,8 +2,13 @@ OC.L10N.register(
"settings",
{
"Private" : "Private",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Only visible to people matched via phone number integration through Talk on mobile",
"Local" : "Local",
+ "Only visible to people on this instance and guests" : "Only visible to people on this instance and guests",
"Federated" : "Federated",
+ "Only synchronize to trusted servers" : "Only synchronize to trusted servers",
+ "Published" : "Published",
+ "Synchronize to trusted servers and the global and public address book" : "Synchronize to trusted servers and the global and public address book",
"Verify" : "Verify",
"Verifying …" : "Verifying …",
"Unable to change password" : "Unable to change password",
@@ -15,39 +20,82 @@ OC.L10N.register(
"Groups" : "Groups",
"Group list is empty" : "Group list is empty",
"Unable to retrieve the group list" : "Unable to retrieve the group list",
+ "{actor} added you to group {group}" : "{actor} added you to group {group}",
+ "You added {user} to group {group}" : "You added {user} to group {group}",
+ "{actor} added {user} to group {group}" : "{actor} added {user} to group {group}",
+ "An administrator added you to group {group}" : "An administrator added you to group {group}",
+ "An administrator added {user} to group {group}" : "An administrator added {user} to group {group}",
+ "{actor} removed you from group {group}" : "{actor} removed you from group {group}",
+ "You removed {user} from group {group}" : "You removed {user} from group {group}",
+ "{actor} removed {user} from group {group}" : "{actor} removed {user} from group {group}",
+ "An administrator removed you from group {group}" : "An administrator removed you from group {group}",
+ "An administrator removed {user} from group {group}" : "An administrator removed {user} from group {group}",
+ "Your <strong>group memberships</strong> were modified" : "Your <strong>group memberships</strong> were modified",
"{actor} changed your password" : "{actor} changed your password",
"You changed your password" : "You changed your password",
"Your password was reset by an administrator" : "Your password was reset by an administrator",
+ "Your password was reset" : "Your password was reset",
"{actor} changed your email address" : "{actor} changed your email address",
"You changed your email address" : "You changed your email address",
"Your email address was changed by an administrator" : "Your email address was changed by an administrator",
+ "You created app password \"{token}\"" : "You created app password \"{token}\"",
+ "An administrator created app password \"{token}\"" : "An administrator created app password \"{token}\"",
+ "You deleted app password \"{token}\"" : "You deleted app password \"{token}\"",
+ "You renamed app password \"{token}\" to \"{newToken}\"" : "You renamed app password \"{token}\" to \"{newToken}\"",
+ "You granted filesystem access to app password \"{token}\"" : "You granted filesystem access to app password \"{token}\"",
+ "You revoked filesystem access from app password \"{token}\"" : "You revoked filesystem access from app password \"{token}\"",
"Security" : "Security",
"You successfully logged in using two-factor authentication (%1$s)" : "You successfully logged in using two-factor authentication (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "A login attempt using two-factor authentication failed (%1$s)",
+ "Remote wipe was started on %1$s" : "Remote wipe was started on %1$s",
+ "Remote wipe has finished on %1$s" : "Remote wipe has finished on %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Your <strong>password</strong> or <strong>email</strong> was modified",
+ "Could not remove app." : "Could not remove app.",
+ "Could not update app." : "Could not update app.",
"Wrong password" : "Incorrect password",
+ "Unable to change personal password" : "Unable to change personal password",
"Saved" : "Saved",
"No user supplied" : "No user supplied",
+ "Unable to change password. Password too long." : "Unable to change password. Password too long.",
"Authentication error" : "Authentication error",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Please provide an admin recovery password; otherwise, all user data will be lost.",
"Wrong admin recovery password. Please check the password and try again." : "Incorrect admin recovery password. Please check the password and try again.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Backend does not support password change, but the user's encryption key was updated.",
+ "installing and updating apps via the App Store or Federated Cloud Sharing" : "installing and updating apps via the App Store or Federated Cloud Sharing",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
+ "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably.",
+ "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration.",
+ "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function.",
+ "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades.",
+ "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>.",
+ "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>.",
+ "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>.",
+ "Administrator documentation" : "Administrator documentation",
+ "User documentation" : "User documentation",
"Invalid SMTP password." : "Invalid SMTP password.",
"Email setting test" : "Email setting test",
"Well done, %s!" : "Well done, %s!",
"If you received this email, the email configuration seems to be correct." : "If you received this email, the email configuration seems to be correct.",
"Email could not be sent. Check your mail server log" : "Email could not be sent. Check your mail server log",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "A problem occurred while sending the email. Please revise your settings. (Error: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "You need to set your user email before being able to send test emails. Go to %s for that.",
"Invalid user" : "Invalid user",
"Invalid mail address" : "Invalid mail address",
"Settings saved" : "Settings saved",
"Unable to change full name" : "Unable to change full name",
"Unable to change email address" : "Unable to change email address",
+ "Unable to set invalid phone number" : "Unable to set invalid phone number",
+ "Unable to set invalid website" : "Unable to set invalid website",
+ "Some account data was invalid" : "Some account data was invalid",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):",
"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):" : "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):",
"%1$s changed your password on %2$s." : "%1$s changed your password on %2$s.",
"Your password on %s was changed." : "Your password on %s was changed.",
"Your password on %s was reset by an administrator." : "Your password on %s was reset by an administrator.",
+ "Your password on %s was reset." : "Your password on %s was reset.",
"Password for %1$s changed on %2$s" : "Password for %1$s changed on %2$s",
"Password changed for %s" : "Password changed for %s",
"If you did not request this, please contact an administrator." : "If you did not request this, please contact an administrator.",
@@ -70,9 +118,12 @@ OC.L10N.register(
"Personal" : "Personal",
"Administration" : "Administration",
"Additional settings" : "Additional settings",
+ "Administration privileges" : "Administration privileges",
+ "Groupware" : "Groupware",
"Overview" : "Overview",
"Basic settings" : "Basic settings",
"Sharing" : "Sharing",
+ "Availability" : "Availability",
"Calendar" : "Calendar",
"Personal info" : "Personal info",
"Mobile & desktop" : "Mobile & desktop",
@@ -82,12 +133,35 @@ OC.L10N.register(
"Create" : "Create",
"Change" : "Change",
"Delete" : "Delete",
+ "Reshare" : "Reshare",
"Unlimited" : "Unlimited",
"Verifying" : "Verifying",
+ "A background job is pending that checks for user imported SSL certificates. Please check back later." : "A background job is pending that checks for user imported SSL certificates. Please check back later.",
+ "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below.",
+ "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them." : "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them.",
+ "The old server-side-encryption format is enabled. We recommend disabling this." : "The old server-side-encryption format is enabled. We recommend disabling this.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher.",
+ "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher.",
+ "Profile information" : "Profile information",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled",
+ "Nextcloud settings" : "Nextcloud settings",
+ "Here you can decide which group can access certain sections of the administration settings." : "Here you can decide which group can access certain sections of the administration settings.",
"None" : "None",
+ "Unable to modify setting" : "Unable to modify setting",
+ "Two-Factor Authentication" : "Two-Factor Authentication",
+ "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.",
+ "Enforce two-factor authentication" : "Enforce two-factor authentication",
"Limit to groups" : "Limit to groups",
+ "Enforcement of two-factor authentication can be set for certain groups only." : "Enforcement of two-factor authentication can be set for certain groups only.",
+ "Two-factor authentication is enforced for all members of the following groups." : "Two-factor authentication is enforced for all members of the following groups.",
+ "Enforced groups" : "Enforced groups",
+ "Two-factor authentication is not enforced for members of the following groups." : "Two-factor authentication is not enforced for members of the following groups.",
+ "Excluded groups" : "Excluded groups",
+ "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced.",
"Save changes" : "Save changes",
"All" : "All",
+ "Limit app usage to groups" : "Limit app usage to groups",
"No results" : "No results",
"Update to {version}" : "Update to {version}",
"Remove" : "Remove",
@@ -98,30 +172,52 @@ OC.L10N.register(
"View in store" : "View in store",
"Visit website" : "Visit website",
"Report a bug" : "Report a bug",
- "User documentation" : "User documentation",
"Admin documentation" : "Admin documentation",
"Developer documentation" : "Developer documentation",
+ "This app is supported via your current Nextcloud subscription." : "This app is supported via your current Nextcloud subscription.",
+ "Supported" : "Supported",
+ "Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Featured apps are developed by and within the community. They offer central functionality and are ready for production use.",
"Featured" : "Featured",
+ "Update to {update}" : "Update to {update}",
+ "All apps are up-to-date." : "All apps are up-to-date.",
+ "Results from other categories" : "Results from other categories",
"No apps found for your version" : "No apps found for your version",
"Disable all" : "Disable all",
"Enable all" : "Enable all",
+ "_%n app has an update available_::_%n apps have an update available_" : ["%n app has an update available","%n apps have an update available"],
+ "_Update_::_Update all_" : ["Update","Update all"],
+ "Marked for remote wipe" : "Marked for remote wipe",
+ "Device settings" : "Device settings",
"Allow filesystem access" : "Allow filesystem access",
"Rename" : "Rename",
"Revoke" : "Revoke",
+ "Wipe device" : "Wipe device",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
"Google Chrome" : "Google Chrome",
"Safari" : "Safari",
"Google Chrome for Android" : "Google Chrome for Android",
+ "iPhone" : "iPhone",
+ "iPad" : "iPad",
+ "{productName} iOS app" : "{productName} iOS app",
+ "{productName} Android app" : "{productName} Android app",
+ "{productName} Talk for iOS" : "{productName} Talk for iOS",
+ "{productName} Talk for Android" : "{productName} Talk for Android",
"Sync client - {os}" : "Sync client - {os}",
"This session" : "This session",
"Device" : "Device",
"Last activity" : "Last activity",
"Devices & sessions" : "Devices & sessions",
"Web, desktop and mobile clients currently logged in to your account." : "Web, desktop and mobile clients currently logged in to your account.",
+ "Do you really want to wipe your data from this device?" : "Do you really want to wipe your data from this device?",
+ "Confirm wipe" : "Confirm wipe",
"Error while creating device token" : "Error while creating device token",
+ "Error while updating device token scope" : "Error while updating device token scope",
+ "Error while updating device token name" : "Error while updating device token name",
"Error while deleting the token" : "Error while deleting the token",
+ "Error while wiping the device with the token" : "Error while wiping the device with the token",
"App name" : "App name",
"Create new app password" : "Create new app password",
"Use the credentials below to configure your app or device." : "Use the credentials below to configure your app or device.",
@@ -129,13 +225,31 @@ OC.L10N.register(
"Username" : "Username",
"Password" : "Password",
"Done" : "Done",
+ "Show QR code for mobile apps" : "Show QR code for mobile apps",
"Copied!" : "Copied!",
"Copy" : "Copy",
+ "Could not copy app password. Please copy it manually." : "Could not copy app password. Please copy it manually.",
+ "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information.",
+ "Last job execution ran {time}. Something seems wrong." : "Last job execution ran {time}. Something seems wrong.",
+ "Last job ran {relativeTime}." : "Last job ran {relativeTime}.",
+ "Background job did not run yet!" : "Background job did not run yet!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Execute one task with each page loaded. Use case: Single user instance.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage).",
+ "Cron (Recommended)" : "Cron (Recommended)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "The cron.php needs to be executed by the system user \"{user}\".",
+ "Unable to update background job mode" : "Unable to update background job mode",
+ "Profile" : "Profile",
+ "Enable or disable profile by default for new users." : "Enable or disable profile by default for new users.",
"Enable" : "Enable",
+ "Unable to update profile default setting" : "Unable to update profile default setting",
"Server-side encryption" : "Server-side encryption",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed.",
"Enable server-side encryption" : "Enable server-side encryption",
+ "Please read carefully before activating server-side encryption:" : "Please read carefully before activating server-side encryption:",
"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." : "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.",
"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." : "Encryption alone does not guarantee complete security. Please read the documentation for information on how the encryption app works, and supported use cases.",
"Be aware that encryption always increases the file size." : "Be aware that encryption always increases the file size.",
@@ -143,56 +257,146 @@ OC.L10N.register(
"This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?",
"No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.",
"Select default encryption module:" : "Select default encryption module:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}",
+ "Unable to update server side encryption config" : "Unable to update server side encryption config",
+ "Rename group" : "Rename group",
"Remove group" : "Remove group",
"You are about to remove the group {group}. The users will NOT be deleted." : "You are about to remove the group {group}. The users will NOT be deleted.",
"Please confirm the group removal " : "Please confirm the group removal ",
"Current password" : "Current password",
"New password" : "New password",
"Change password" : "Change password",
+ "Your profile picture" : "Your profile picture",
+ "Upload profile picture" : "Upload profile picture",
+ "Choose profile picture from files" : "Choose profile picture from files",
+ "Remove profile picture" : "Remove profile picture",
"png or jpg, max. 20 MB" : "png or jpg, max. 20 MB",
"Picture provided by original account" : "Picture provided by original account",
"Cancel" : "Cancel",
+ "Set as profile picture" : "Set as profile picture",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Please note that it can take up to 24 hours for your profile picture to be updated everywhere.",
+ "Choose your profile picture" : "Choose your profile picture",
+ "Please select a valid png or jpg file" : "Please select a valid png or jpg file",
+ "Error setting profile picture" : "Error setting profile picture",
+ "Error cropping profile picture" : "Error cropping profile picture",
+ "Error saving profile picture" : "Error saving profile picture",
+ "Error removing profile picture" : "Error removing profile picture",
+ "Your biography" : "Your biography",
"Details" : "Details",
+ "You are a member of the following groups:" : "You are a member of the following groups:",
+ "You are using <strong>{usage}</strong>" : "You are using <strong>{usage}</strong>",
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
+ "Your full name" : "Your full name",
+ "Email options" : "Email options",
+ "Primary email for password reset and notifications" : "Primary email for password reset and notifications",
+ "Remove primary email" : "Remove primary email",
+ "Delete email" : "Delete email",
+ "Unset as primary email" : "Unset as primary email",
+ "This address is not confirmed" : "This address is not confirmed",
+ "Set as primary email" : "Set as primary email",
"Your email address" : "Your email address",
+ "Additional email address {index}" : "Additional email address {index}",
+ "Unable to delete primary email address" : "Unable to delete primary email address",
+ "Unable to update primary email address" : "Unable to update primary email address",
+ "Unable to add additional email address" : "Unable to add additional email address",
+ "Unable to update additional email address" : "Unable to update additional email address",
+ "Unable to delete additional email address" : "Unable to delete additional email address",
"No email address set" : "No email address set",
+ "Additional emails" : "Additional emails",
+ "Your handle" : "Your handle",
+ "Your headline" : "Your headline",
"Language" : "Language",
"Help translate" : "Help translate",
+ "Unable to update language" : "Unable to update language",
+ "No language set" : "No language set",
+ "Locale" : "Locale",
+ "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}",
+ "Unable to update locale" : "Unable to update locale",
+ "No locale set" : "No locale set",
+ "Your location" : "Your location",
+ "Your organisation" : "Your organisation",
"Your phone number" : "Your phone number",
+ "Edit your Profile visibility" : "Edit your Profile visibility",
+ "Enable Profile" : "Enable Profile",
+ "Unable to update profile enabled state" : "Unable to update profile enabled state",
+ "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.",
+ "{displayId}" : "{displayId}",
+ "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}",
+ "Your role" : "Your role",
"Your Twitter handle" : "Your Twitter handle",
"Your website" : "Your website",
+ "No {property} set" : "No {property} set",
+ "Unable to update {property}" : "Unable to update {property}",
+ "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}",
+ "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}",
+ "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}",
+ "Add additional email" : "Add additional email",
"Add" : "Add",
"You do not have permissions to see the details of this user" : "You do not have permissions to see the details of this user",
+ "Add new password" : "Add new password",
+ "Add new email address" : "Add new email address",
+ "Add user to group" : "Add user to group",
+ "Set user as admin for" : "Set user as admin for",
+ "Select user quota" : "Select user quota",
"Delete user" : "Delete user",
+ "Wipe all devices" : "Wipe all devices",
"Disable user" : "Disable user",
"Enable user" : "Enable user",
+ "Resend welcome email" : "Resend welcome email",
+ "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",
+ "Remote wipe of devices" : "Remote wipe of devices",
+ "Wipe {userid}'s devices" : "Wipe {userid}'s devices",
+ "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fully delete {userid}'s account including all their personal files, app data, etc.",
+ "Account deletion" : "Account deletion",
+ "Delete {userid}'s account" : "Delete {userid}'s account",
+ "Welcome mail sent!" : "Welcome mail sent!",
+ "Edit User" : "Edit User",
+ "Toggle user actions menu" : "Toggle user actions menu",
"{size} used" : "{size} used",
"New user" : "New user",
+ "Will be autogenerated" : "Will be autogenerated",
"Display name" : "Display name",
"Email" : "Email",
"Default language" : "Default language",
+ "Add a new user" : "Add a new user",
"Group admin for" : "Group admin for",
"Quota" : "Quota",
"User backend" : "User backend",
"Storage location" : "Storage location",
"Last login" : "Last login",
+ "No users in here" : "No users in here",
"Default quota" : "Default quota",
"Common languages" : "Common languages",
+ "Other languages" : "Other languages",
"Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled",
+ "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.",
+ "Add WebAuthn device" : "Add WebAuthn device",
+ "Please authorize your WebAuthn device." : "Please authorise your WebAuthn device.",
"Name your device" : "Name your device",
"Adding your device …" : "Adding your device …",
+ "Server error while trying to add WebAuthn device" : "Server error while trying to add WebAuthn device",
+ "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration",
"Unnamed device" : "Unnamed device",
+ "Passwordless Authentication" : "Passwordless Authentication",
+ "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.",
+ "No devices configured." : "No devices configured.",
+ "The following devices are configured for your account:" : "The following devices are configured for your account:",
+ "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.",
"Your apps" : "Your apps",
- "Active apps" : "Active apps",
- "Disabled apps" : "Disabled apps",
- "Updates" : "Updates",
- "App bundles" : "App bundles",
+ "{license}-licensed" : "{license}-licensed",
"Changelog" : "Changelog",
+ "by {author}\n{license}" : "by {author}\n{license}",
+ "Enter group name" : "Enter group name",
"Add group" : "Add group",
"Active users" : "Active users",
"Admins" : "Admins",
"Disabled users" : "Disabled users",
+ "Default quota:" : "Default quota:",
+ "Select default quota" : "Select default quota",
+ "Show Languages" : "Show Languages",
"Show last login" : "Show last login",
"Show user backend" : "Show user backend",
+ "Show storage path" : "Show storage path",
"Send email to new user" : "Send email to new user",
"Not saved" : "Not saved",
"Sending…" : "Sending…",
@@ -201,14 +405,34 @@ OC.L10N.register(
"Profile picture" : "Profile picture",
"About" : "About",
"Full name" : "Full name",
+ "Additional email" : "Additional email",
+ "Headline" : "Headline",
+ "Organisation" : "Organisation",
"Phone number" : "Phone number",
+ "Role" : "Role",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)",
"Website" : "Website",
+ "Profile visibility" : "Profile visibility",
+ "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Not available as federation has been disabled for your account, contact your system administrator if you have any questions",
+ "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions",
+ "Active apps" : "Active apps",
+ "Disabled apps" : "Disabled apps",
+ "Updates" : "Updates",
+ "App bundles" : "App bundles",
+ "Featured apps" : "Featured apps",
+ "Show to everyone" : "Show to everyone",
+ "Show to logged in users only" : "Show to logged in users only",
"Hide" : "Hide",
"Download and enable" : "Download and enable",
+ "Enable untested app" : "Enable untested app",
+ "The app will be downloaded from the App Store" : "The app will be downloaded from the App Store",
+ "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.",
"Never" : "Never",
+ "An error occurred during the request. Unable to proceed." : "An error occurred during the request. Unable to proceed.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.",
- "Administrator documentation" : "Administrator documentation",
+ "Error: This app cannot be enabled because it makes the server unstable" : "Error: This app cannot be enabled because it makes the server unstable",
"Documentation" : "Documentation",
"Forum" : "Forum",
"Login" : "Login",
@@ -220,6 +444,7 @@ OC.L10N.register(
"It is important to set up this server to be able to send emails, like for password reset and notifications." : "It is important to set up this server to be able to send emails, like for password reset and notifications.",
"Send mode" : "Send mode",
"Encryption" : "Encryption",
+ "Sendmail mode" : "Sendmail mode",
"From address" : "From address",
"Authentication method" : "Authentication method",
"Authentication required" : "Authentication required",
@@ -229,38 +454,76 @@ OC.L10N.register(
"SMTP Username" : "SMTP Username",
"SMTP Password" : "SMTP Password",
"Save" : "Save",
+ "Test and verify email settings" : "Test and verify email settings",
"Send email" : "Send email",
+ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.",
"All checks passed." : "All checks passed.",
"There are some errors regarding your setup." : "There are some errors regarding your setup.",
"There are some warnings regarding your setup." : "There are some warnings regarding your setup.",
"Checking for system and security issues." : "Checking for system and security issues.",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>.",
+ "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>.",
"Version" : "Version",
+ "You need to enable the File sharing App." : "You need to enable the File sharing App.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "As admin you can fine-tune the sharing behavior. Please see the documentation for more information.",
"Allow apps to use the Share API" : "Allow apps to use the Share API",
+ "Set default expiration date for shares" : "Set default expiration date for shares",
+ "Expire after" : "Expire after",
+ "day(s)" : "day(s)",
"Enforce expiration date" : "Enforce expiry date",
+ "Set default expiration date for shares to other servers" : "Set default expiration date for shares to other servers",
+ "Allow users to share via link and emails" : "Allow users to share via link and emails",
"Allow public uploads" : "Allow public uploads",
"Always ask for a password" : "Always ask for a password",
"Enforce password protection" : "Enforce password protection",
+ "Exclude groups from password requirements:" : "Exclude groups from password requirements:",
"Set default expiration date" : "Set default expiry date",
+ "Exclude groups from creating link shares:" : "Exclude groups from creating link shares:",
"Allow resharing" : "Allow resharing",
"Allow sharing with groups" : "Allow sharing with groups",
"Restrict users to only share with users in their groups" : "Restrict users to only share with users in their groups",
"Exclude groups from sharing" : "Exclude groups from sharing",
"These groups will still be able to receive shares, but not to initiate them." : "These groups will still be able to receive shares, but not to initiate them.",
+ "Allow username autocompletion in share dialog" : "Allow username autocompletion in share dialogue",
+ "Allow username autocompletion to users within the same groups" : "Allow username autocompletion to users within the same groups",
+ "Allow username autocompletion to users based on phone number integration" : "Allow username autocompletion to users based on phone number integration",
+ "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user.",
+ "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)",
+ "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Show disclaimer text on the public link upload page (only shown when the file list is hidden)",
"This text will be shown on the public link upload page when the file list is hidden." : "This text will be shown on the public link upload page when the file list is hidden.",
"Default share permissions" : "Default share permissions",
+ "Reasons to use Nextcloud in your organization" : "Reasons to use Nextcloud in your organization",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}.",
"Like our Facebook page" : "Like our Facebook page",
"Follow us on Twitter" : "Follow us on Twitter",
+ "Follow us on Mastodon" : "Follow us on Mastodon",
"Check out our blog" : "Check out our blog",
"Subscribe to our newsletter" : "Subscribe to our newsletter",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "This community release of Nextcloud is unsupported and instant notifications are unavailable.",
+ "Use a second factor besides your password to increase security for your account." : "Use a second factor besides your password to increase security for your account.",
+ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication.",
"Migration in progress. Please wait until the migration is finished" : "Migration in progress. Please wait until the migration is finished",
"Migration started …" : "Migration started …",
+ "An error occurred while changing your language. Please reload the page and try again." : "An error occurred while changing your language. Please reload the page and try again.",
+ "An error occurred while changing your locale. Please reload the page and try again." : "An error occurred while changing your locale. Please reload the page and try again.",
"Select a profile picture" : "Select a profile picture",
+ "Week starts on {fdow}" : "Week starts on {fdow}",
"Couldn't remove app." : "Couldn't remove app.",
"Couldn't update app." : "Couldn't update app.",
"Backend doesn't support password change, but the user's encryption key was updated." : "Backend doesn't support password change, but the user's encryption key was updated.",
+ "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>.",
+ "Admin privileges" : "Admin privileges",
+ "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet.",
+ "Unable to update biography" : "Unable to update biography",
+ "Unable to update full name" : "Unable to update full name",
+ "No full name set" : "No full name set",
+ "Unable to update headline" : "Unable to update headline",
+ "Unable to update organisation" : "Unable to update organisation",
+ "Unable to update role" : "Unable to update role",
+ "Change scope level of {accountProperty}" : "Change scope level of {accountProperty}",
+ "Unable to update federation scope of the primary {accountProperty}" : "Unable to update federation scope of the primary {accountProperty}",
+ "Unable to update federation scope of additional {accountProperty}" : "Unable to update federation scope of additional {accountProperty}",
"Address" : "Address",
"Avatar" : "Avatar",
"An error occured during the request. Unable to proceed." : "An error occured during the request. Unable to proceed.",
@@ -270,18 +533,30 @@ OC.L10N.register(
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.",
"Start migration" : "Start migration",
"Last job execution ran %s. Something seems wrong." : "Last job execution ran %s. Something seems wrong.",
+ "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency.",
+ "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Some jobs didn’t execute since %s. Please consider switching to system cron.",
"Last job ran %s." : "Last job ran %s.",
"Background job didn’t run yet!" : "Background job didn’t run yet!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information.",
+ "Pick background job setting" : "Pick background job setting",
"Recommended" : "Recommended",
"The cron.php needs to be executed by the system user \"%s\"." : "The cron.php needs to be executed by the system user \"%s\".",
+ "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)",
+ "Change privacy level of profile picture" : "Change privacy level of profile picture",
"Upload new" : "Upload new",
"Select from Files" : "Select from Files",
"Remove image" : "Remove image",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Please note that it can take up to 24 hours for the avatar to get updated everywhere.",
"Choose as profile picture" : "Choose as profile picture",
"You are using <strong>%s</strong>" : "You are using <strong>%s</strong>",
+ "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)",
+ "Change privacy level of phone number" : "Change privacy level of phone number",
+ "Change privacy level of address" : "Change privacy level of address",
"Your postal address" : "Your postal address",
+ "Change privacy level of website" : "Change privacy level of website",
"It can take up to 24 hours before the account is displayed as verified." : "It can take up to 24 hours before the account is displayed as verified.",
"Link https://…" : "Link https://…",
+ "Change privacy level of Twitter profile" : "Change privacy level of Twitter profile",
"Twitter handle @…" : "Twitter handle @…"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/en_GB.json b/apps/settings/l10n/en_GB.json
index 04f6c5c8c5d..c3fe6362d66 100644
--- a/apps/settings/l10n/en_GB.json
+++ b/apps/settings/l10n/en_GB.json
@@ -1,7 +1,12 @@
{ "translations": {
"Private" : "Private",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Only visible to people matched via phone number integration through Talk on mobile",
"Local" : "Local",
+ "Only visible to people on this instance and guests" : "Only visible to people on this instance and guests",
"Federated" : "Federated",
+ "Only synchronize to trusted servers" : "Only synchronize to trusted servers",
+ "Published" : "Published",
+ "Synchronize to trusted servers and the global and public address book" : "Synchronize to trusted servers and the global and public address book",
"Verify" : "Verify",
"Verifying …" : "Verifying …",
"Unable to change password" : "Unable to change password",
@@ -13,39 +18,82 @@
"Groups" : "Groups",
"Group list is empty" : "Group list is empty",
"Unable to retrieve the group list" : "Unable to retrieve the group list",
+ "{actor} added you to group {group}" : "{actor} added you to group {group}",
+ "You added {user} to group {group}" : "You added {user} to group {group}",
+ "{actor} added {user} to group {group}" : "{actor} added {user} to group {group}",
+ "An administrator added you to group {group}" : "An administrator added you to group {group}",
+ "An administrator added {user} to group {group}" : "An administrator added {user} to group {group}",
+ "{actor} removed you from group {group}" : "{actor} removed you from group {group}",
+ "You removed {user} from group {group}" : "You removed {user} from group {group}",
+ "{actor} removed {user} from group {group}" : "{actor} removed {user} from group {group}",
+ "An administrator removed you from group {group}" : "An administrator removed you from group {group}",
+ "An administrator removed {user} from group {group}" : "An administrator removed {user} from group {group}",
+ "Your <strong>group memberships</strong> were modified" : "Your <strong>group memberships</strong> were modified",
"{actor} changed your password" : "{actor} changed your password",
"You changed your password" : "You changed your password",
"Your password was reset by an administrator" : "Your password was reset by an administrator",
+ "Your password was reset" : "Your password was reset",
"{actor} changed your email address" : "{actor} changed your email address",
"You changed your email address" : "You changed your email address",
"Your email address was changed by an administrator" : "Your email address was changed by an administrator",
+ "You created app password \"{token}\"" : "You created app password \"{token}\"",
+ "An administrator created app password \"{token}\"" : "An administrator created app password \"{token}\"",
+ "You deleted app password \"{token}\"" : "You deleted app password \"{token}\"",
+ "You renamed app password \"{token}\" to \"{newToken}\"" : "You renamed app password \"{token}\" to \"{newToken}\"",
+ "You granted filesystem access to app password \"{token}\"" : "You granted filesystem access to app password \"{token}\"",
+ "You revoked filesystem access from app password \"{token}\"" : "You revoked filesystem access from app password \"{token}\"",
"Security" : "Security",
"You successfully logged in using two-factor authentication (%1$s)" : "You successfully logged in using two-factor authentication (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "A login attempt using two-factor authentication failed (%1$s)",
+ "Remote wipe was started on %1$s" : "Remote wipe was started on %1$s",
+ "Remote wipe has finished on %1$s" : "Remote wipe has finished on %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Your <strong>password</strong> or <strong>email</strong> was modified",
+ "Could not remove app." : "Could not remove app.",
+ "Could not update app." : "Could not update app.",
"Wrong password" : "Incorrect password",
+ "Unable to change personal password" : "Unable to change personal password",
"Saved" : "Saved",
"No user supplied" : "No user supplied",
+ "Unable to change password. Password too long." : "Unable to change password. Password too long.",
"Authentication error" : "Authentication error",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Please provide an admin recovery password; otherwise, all user data will be lost.",
"Wrong admin recovery password. Please check the password and try again." : "Incorrect admin recovery password. Please check the password and try again.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Backend does not support password change, but the user's encryption key was updated.",
+ "installing and updating apps via the App Store or Federated Cloud Sharing" : "installing and updating apps via the App Store or Federated Cloud Sharing",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
+ "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably.",
+ "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration.",
+ "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function.",
+ "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades.",
+ "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>.",
+ "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>.",
+ "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>.",
+ "Administrator documentation" : "Administrator documentation",
+ "User documentation" : "User documentation",
"Invalid SMTP password." : "Invalid SMTP password.",
"Email setting test" : "Email setting test",
"Well done, %s!" : "Well done, %s!",
"If you received this email, the email configuration seems to be correct." : "If you received this email, the email configuration seems to be correct.",
"Email could not be sent. Check your mail server log" : "Email could not be sent. Check your mail server log",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "A problem occurred while sending the email. Please revise your settings. (Error: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "You need to set your user email before being able to send test emails. Go to %s for that.",
"Invalid user" : "Invalid user",
"Invalid mail address" : "Invalid mail address",
"Settings saved" : "Settings saved",
"Unable to change full name" : "Unable to change full name",
"Unable to change email address" : "Unable to change email address",
+ "Unable to set invalid phone number" : "Unable to set invalid phone number",
+ "Unable to set invalid website" : "Unable to set invalid website",
+ "Some account data was invalid" : "Some account data was invalid",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):",
"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):" : "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):",
"%1$s changed your password on %2$s." : "%1$s changed your password on %2$s.",
"Your password on %s was changed." : "Your password on %s was changed.",
"Your password on %s was reset by an administrator." : "Your password on %s was reset by an administrator.",
+ "Your password on %s was reset." : "Your password on %s was reset.",
"Password for %1$s changed on %2$s" : "Password for %1$s changed on %2$s",
"Password changed for %s" : "Password changed for %s",
"If you did not request this, please contact an administrator." : "If you did not request this, please contact an administrator.",
@@ -68,9 +116,12 @@
"Personal" : "Personal",
"Administration" : "Administration",
"Additional settings" : "Additional settings",
+ "Administration privileges" : "Administration privileges",
+ "Groupware" : "Groupware",
"Overview" : "Overview",
"Basic settings" : "Basic settings",
"Sharing" : "Sharing",
+ "Availability" : "Availability",
"Calendar" : "Calendar",
"Personal info" : "Personal info",
"Mobile & desktop" : "Mobile & desktop",
@@ -80,12 +131,35 @@
"Create" : "Create",
"Change" : "Change",
"Delete" : "Delete",
+ "Reshare" : "Reshare",
"Unlimited" : "Unlimited",
"Verifying" : "Verifying",
+ "A background job is pending that checks for user imported SSL certificates. Please check back later." : "A background job is pending that checks for user imported SSL certificates. Please check back later.",
+ "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below.",
+ "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them." : "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them.",
+ "The old server-side-encryption format is enabled. We recommend disabling this." : "The old server-side-encryption format is enabled. We recommend disabling this.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher.",
+ "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher.",
+ "Profile information" : "Profile information",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled",
+ "Nextcloud settings" : "Nextcloud settings",
+ "Here you can decide which group can access certain sections of the administration settings." : "Here you can decide which group can access certain sections of the administration settings.",
"None" : "None",
+ "Unable to modify setting" : "Unable to modify setting",
+ "Two-Factor Authentication" : "Two-Factor Authentication",
+ "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system.",
+ "Enforce two-factor authentication" : "Enforce two-factor authentication",
"Limit to groups" : "Limit to groups",
+ "Enforcement of two-factor authentication can be set for certain groups only." : "Enforcement of two-factor authentication can be set for certain groups only.",
+ "Two-factor authentication is enforced for all members of the following groups." : "Two-factor authentication is enforced for all members of the following groups.",
+ "Enforced groups" : "Enforced groups",
+ "Two-factor authentication is not enforced for members of the following groups." : "Two-factor authentication is not enforced for members of the following groups.",
+ "Excluded groups" : "Excluded groups",
+ "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced.",
"Save changes" : "Save changes",
"All" : "All",
+ "Limit app usage to groups" : "Limit app usage to groups",
"No results" : "No results",
"Update to {version}" : "Update to {version}",
"Remove" : "Remove",
@@ -96,30 +170,52 @@
"View in store" : "View in store",
"Visit website" : "Visit website",
"Report a bug" : "Report a bug",
- "User documentation" : "User documentation",
"Admin documentation" : "Admin documentation",
"Developer documentation" : "Developer documentation",
+ "This app is supported via your current Nextcloud subscription." : "This app is supported via your current Nextcloud subscription.",
+ "Supported" : "Supported",
+ "Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Featured apps are developed by and within the community. They offer central functionality and are ready for production use.",
"Featured" : "Featured",
+ "Update to {update}" : "Update to {update}",
+ "All apps are up-to-date." : "All apps are up-to-date.",
+ "Results from other categories" : "Results from other categories",
"No apps found for your version" : "No apps found for your version",
"Disable all" : "Disable all",
"Enable all" : "Enable all",
+ "_%n app has an update available_::_%n apps have an update available_" : ["%n app has an update available","%n apps have an update available"],
+ "_Update_::_Update all_" : ["Update","Update all"],
+ "Marked for remote wipe" : "Marked for remote wipe",
+ "Device settings" : "Device settings",
"Allow filesystem access" : "Allow filesystem access",
"Rename" : "Rename",
"Revoke" : "Revoke",
+ "Wipe device" : "Wipe device",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Revoking this token might prevent the wiping of your device if it has not started the wipe yet.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
"Google Chrome" : "Google Chrome",
"Safari" : "Safari",
"Google Chrome for Android" : "Google Chrome for Android",
+ "iPhone" : "iPhone",
+ "iPad" : "iPad",
+ "{productName} iOS app" : "{productName} iOS app",
+ "{productName} Android app" : "{productName} Android app",
+ "{productName} Talk for iOS" : "{productName} Talk for iOS",
+ "{productName} Talk for Android" : "{productName} Talk for Android",
"Sync client - {os}" : "Sync client - {os}",
"This session" : "This session",
"Device" : "Device",
"Last activity" : "Last activity",
"Devices & sessions" : "Devices & sessions",
"Web, desktop and mobile clients currently logged in to your account." : "Web, desktop and mobile clients currently logged in to your account.",
+ "Do you really want to wipe your data from this device?" : "Do you really want to wipe your data from this device?",
+ "Confirm wipe" : "Confirm wipe",
"Error while creating device token" : "Error while creating device token",
+ "Error while updating device token scope" : "Error while updating device token scope",
+ "Error while updating device token name" : "Error while updating device token name",
"Error while deleting the token" : "Error while deleting the token",
+ "Error while wiping the device with the token" : "Error while wiping the device with the token",
"App name" : "App name",
"Create new app password" : "Create new app password",
"Use the credentials below to configure your app or device." : "Use the credentials below to configure your app or device.",
@@ -127,13 +223,31 @@
"Username" : "Username",
"Password" : "Password",
"Done" : "Done",
+ "Show QR code for mobile apps" : "Show QR code for mobile apps",
"Copied!" : "Copied!",
"Copy" : "Copy",
+ "Could not copy app password. Please copy it manually." : "Could not copy app password. Please copy it manually.",
+ "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information.",
+ "Last job execution ran {time}. Something seems wrong." : "Last job execution ran {time}. Something seems wrong.",
+ "Last job ran {relativeTime}." : "Last job ran {relativeTime}.",
+ "Background job did not run yet!" : "Background job did not run yet!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Execute one task with each page loaded. Use case: Single user instance.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage).",
+ "Cron (Recommended)" : "Cron (Recommended)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "The cron.php needs to be executed by the system user \"{user}\".",
+ "Unable to update background job mode" : "Unable to update background job mode",
+ "Profile" : "Profile",
+ "Enable or disable profile by default for new users." : "Enable or disable profile by default for new users.",
"Enable" : "Enable",
+ "Unable to update profile default setting" : "Unable to update profile default setting",
"Server-side encryption" : "Server-side encryption",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed.",
"Enable server-side encryption" : "Enable server-side encryption",
+ "Please read carefully before activating server-side encryption:" : "Please read carefully before activating server-side encryption:",
"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." : "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.",
"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." : "Encryption alone does not guarantee complete security. Please read the documentation for information on how the encryption app works, and supported use cases.",
"Be aware that encryption always increases the file size." : "Be aware that encryption always increases the file size.",
@@ -141,56 +255,146 @@
"This is the final warning: Do you really want to enable encryption?" : "This is the final warning: Do you really want to enable encryption?",
"No encryption module loaded, please enable an encryption module in the app menu." : "No encryption module loaded, please enable an encryption module in the app menu.",
"Select default encryption module:" : "Select default encryption module:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}",
+ "Unable to update server side encryption config" : "Unable to update server side encryption config",
+ "Rename group" : "Rename group",
"Remove group" : "Remove group",
"You are about to remove the group {group}. The users will NOT be deleted." : "You are about to remove the group {group}. The users will NOT be deleted.",
"Please confirm the group removal " : "Please confirm the group removal ",
"Current password" : "Current password",
"New password" : "New password",
"Change password" : "Change password",
+ "Your profile picture" : "Your profile picture",
+ "Upload profile picture" : "Upload profile picture",
+ "Choose profile picture from files" : "Choose profile picture from files",
+ "Remove profile picture" : "Remove profile picture",
"png or jpg, max. 20 MB" : "png or jpg, max. 20 MB",
"Picture provided by original account" : "Picture provided by original account",
"Cancel" : "Cancel",
+ "Set as profile picture" : "Set as profile picture",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Please note that it can take up to 24 hours for your profile picture to be updated everywhere.",
+ "Choose your profile picture" : "Choose your profile picture",
+ "Please select a valid png or jpg file" : "Please select a valid png or jpg file",
+ "Error setting profile picture" : "Error setting profile picture",
+ "Error cropping profile picture" : "Error cropping profile picture",
+ "Error saving profile picture" : "Error saving profile picture",
+ "Error removing profile picture" : "Error removing profile picture",
+ "Your biography" : "Your biography",
"Details" : "Details",
+ "You are a member of the following groups:" : "You are a member of the following groups:",
+ "You are using <strong>{usage}</strong>" : "You are using <strong>{usage}</strong>",
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
+ "Your full name" : "Your full name",
+ "Email options" : "Email options",
+ "Primary email for password reset and notifications" : "Primary email for password reset and notifications",
+ "Remove primary email" : "Remove primary email",
+ "Delete email" : "Delete email",
+ "Unset as primary email" : "Unset as primary email",
+ "This address is not confirmed" : "This address is not confirmed",
+ "Set as primary email" : "Set as primary email",
"Your email address" : "Your email address",
+ "Additional email address {index}" : "Additional email address {index}",
+ "Unable to delete primary email address" : "Unable to delete primary email address",
+ "Unable to update primary email address" : "Unable to update primary email address",
+ "Unable to add additional email address" : "Unable to add additional email address",
+ "Unable to update additional email address" : "Unable to update additional email address",
+ "Unable to delete additional email address" : "Unable to delete additional email address",
"No email address set" : "No email address set",
+ "Additional emails" : "Additional emails",
+ "Your handle" : "Your handle",
+ "Your headline" : "Your headline",
"Language" : "Language",
"Help translate" : "Help translate",
+ "Unable to update language" : "Unable to update language",
+ "No language set" : "No language set",
+ "Locale" : "Locale",
+ "Week starts on {firstDayOfWeek}" : "Week starts on {firstDayOfWeek}",
+ "Unable to update locale" : "Unable to update locale",
+ "No locale set" : "No locale set",
+ "Your location" : "Your location",
+ "Your organisation" : "Your organisation",
"Your phone number" : "Your phone number",
+ "Edit your Profile visibility" : "Edit your Profile visibility",
+ "Enable Profile" : "Enable Profile",
+ "Unable to update profile enabled state" : "Unable to update profile enabled state",
+ "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected.",
+ "{displayId}" : "{displayId}",
+ "Unable to update visibility of {displayId}" : "Unable to update visibility of {displayId}",
+ "Your role" : "Your role",
"Your Twitter handle" : "Your Twitter handle",
"Your website" : "Your website",
+ "No {property} set" : "No {property} set",
+ "Unable to update {property}" : "Unable to update {property}",
+ "Change scope level of {property}, current scope is {scope}" : "Change scope level of {property}, current scope is {scope}",
+ "Unable to update federation scope of the primary {property}" : "Unable to update federation scope of the primary {property}",
+ "Unable to update federation scope of additional {property}" : "Unable to update federation scope of additional {property}",
+ "Add additional email" : "Add additional email",
"Add" : "Add",
"You do not have permissions to see the details of this user" : "You do not have permissions to see the details of this user",
+ "Add new password" : "Add new password",
+ "Add new email address" : "Add new email address",
+ "Add user to group" : "Add user to group",
+ "Set user as admin for" : "Set user as admin for",
+ "Select user quota" : "Select user quota",
"Delete user" : "Delete user",
+ "Wipe all devices" : "Wipe all devices",
"Disable user" : "Disable user",
"Enable user" : "Enable user",
+ "Resend welcome email" : "Resend welcome email",
+ "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet." : "In case of lost device or exiting the organization, this can remotely wipe the Nextcloud data from all devices associated with {userid}. Only works if the devices are connected to the internet.",
+ "Remote wipe of devices" : "Remote wipe of devices",
+ "Wipe {userid}'s devices" : "Wipe {userid}'s devices",
+ "Fully delete {userid}'s account including all their personal files, app data, etc." : "Fully delete {userid}'s account including all their personal files, app data, etc.",
+ "Account deletion" : "Account deletion",
+ "Delete {userid}'s account" : "Delete {userid}'s account",
+ "Welcome mail sent!" : "Welcome mail sent!",
+ "Edit User" : "Edit User",
+ "Toggle user actions menu" : "Toggle user actions menu",
"{size} used" : "{size} used",
"New user" : "New user",
+ "Will be autogenerated" : "Will be autogenerated",
"Display name" : "Display name",
"Email" : "Email",
"Default language" : "Default language",
+ "Add a new user" : "Add a new user",
"Group admin for" : "Group admin for",
"Quota" : "Quota",
"User backend" : "User backend",
"Storage location" : "Storage location",
"Last login" : "Last login",
+ "No users in here" : "No users in here",
"Default quota" : "Default quota",
"Common languages" : "Common languages",
+ "Other languages" : "Other languages",
"Password change is disabled because the master key is disabled" : "Password change is disabled because the master key is disabled",
+ "Passwordless authentication requires a secure connection." : "Passwordless authentication requires a secure connection.",
+ "Add WebAuthn device" : "Add WebAuthn device",
+ "Please authorize your WebAuthn device." : "Please authorise your WebAuthn device.",
"Name your device" : "Name your device",
"Adding your device …" : "Adding your device …",
+ "Server error while trying to add WebAuthn device" : "Server error while trying to add WebAuthn device",
+ "Server error while trying to complete WebAuthn device registration" : "Server error while trying to complete WebAuthn device registration",
"Unnamed device" : "Unnamed device",
+ "Passwordless Authentication" : "Passwordless Authentication",
+ "Set up your account for passwordless authentication following the FIDO2 standard." : "Set up your account for passwordless authentication following the FIDO2 standard.",
+ "No devices configured." : "No devices configured.",
+ "The following devices are configured for your account:" : "The following devices are configured for your account:",
+ "Your browser does not support WebAuthn." : "Your browser does not support WebAuthn.",
"Your apps" : "Your apps",
- "Active apps" : "Active apps",
- "Disabled apps" : "Disabled apps",
- "Updates" : "Updates",
- "App bundles" : "App bundles",
+ "{license}-licensed" : "{license}-licensed",
"Changelog" : "Changelog",
+ "by {author}\n{license}" : "by {author}\n{license}",
+ "Enter group name" : "Enter group name",
"Add group" : "Add group",
"Active users" : "Active users",
"Admins" : "Admins",
"Disabled users" : "Disabled users",
+ "Default quota:" : "Default quota:",
+ "Select default quota" : "Select default quota",
+ "Show Languages" : "Show Languages",
"Show last login" : "Show last login",
"Show user backend" : "Show user backend",
+ "Show storage path" : "Show storage path",
"Send email to new user" : "Send email to new user",
"Not saved" : "Not saved",
"Sending…" : "Sending…",
@@ -199,14 +403,34 @@
"Profile picture" : "Profile picture",
"About" : "About",
"Full name" : "Full name",
+ "Additional email" : "Additional email",
+ "Headline" : "Headline",
+ "Organisation" : "Organisation",
"Phone number" : "Phone number",
+ "Role" : "Role",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (e.g. Mastodon)",
"Website" : "Website",
+ "Profile visibility" : "Profile visibility",
+ "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Not available as this property is required for core functionality including file sharing and calendar invitations",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Not available as federation has been disabled for your account, contact your system administrator if you have any questions",
+ "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions",
+ "Active apps" : "Active apps",
+ "Disabled apps" : "Disabled apps",
+ "Updates" : "Updates",
+ "App bundles" : "App bundles",
+ "Featured apps" : "Featured apps",
+ "Show to everyone" : "Show to everyone",
+ "Show to logged in users only" : "Show to logged in users only",
"Hide" : "Hide",
"Download and enable" : "Download and enable",
+ "Enable untested app" : "Enable untested app",
+ "The app will be downloaded from the App Store" : "The app will be downloaded from the App Store",
+ "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected.",
"Never" : "Never",
+ "An error occurred during the request. Unable to proceed." : "An error occurred during the request. Unable to proceed.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds.",
- "Administrator documentation" : "Administrator documentation",
+ "Error: This app cannot be enabled because it makes the server unstable" : "Error: This app cannot be enabled because it makes the server unstable",
"Documentation" : "Documentation",
"Forum" : "Forum",
"Login" : "Login",
@@ -218,6 +442,7 @@
"It is important to set up this server to be able to send emails, like for password reset and notifications." : "It is important to set up this server to be able to send emails, like for password reset and notifications.",
"Send mode" : "Send mode",
"Encryption" : "Encryption",
+ "Sendmail mode" : "Sendmail mode",
"From address" : "From address",
"Authentication method" : "Authentication method",
"Authentication required" : "Authentication required",
@@ -227,38 +452,76 @@
"SMTP Username" : "SMTP Username",
"SMTP Password" : "SMTP Password",
"Save" : "Save",
+ "Test and verify email settings" : "Test and verify email settings",
"Send email" : "Send email",
+ "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information.",
"All checks passed." : "All checks passed.",
"There are some errors regarding your setup." : "There are some errors regarding your setup.",
"There are some warnings regarding your setup." : "There are some warnings regarding your setup.",
"Checking for system and security issues." : "Checking for system and security issues.",
+ "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>.",
+ "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>.",
"Version" : "Version",
+ "You need to enable the File sharing App." : "You need to enable the File sharing App.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "As admin you can fine-tune the sharing behavior. Please see the documentation for more information.",
"Allow apps to use the Share API" : "Allow apps to use the Share API",
+ "Set default expiration date for shares" : "Set default expiration date for shares",
+ "Expire after" : "Expire after",
+ "day(s)" : "day(s)",
"Enforce expiration date" : "Enforce expiry date",
+ "Set default expiration date for shares to other servers" : "Set default expiration date for shares to other servers",
+ "Allow users to share via link and emails" : "Allow users to share via link and emails",
"Allow public uploads" : "Allow public uploads",
"Always ask for a password" : "Always ask for a password",
"Enforce password protection" : "Enforce password protection",
+ "Exclude groups from password requirements:" : "Exclude groups from password requirements:",
"Set default expiration date" : "Set default expiry date",
+ "Exclude groups from creating link shares:" : "Exclude groups from creating link shares:",
"Allow resharing" : "Allow resharing",
"Allow sharing with groups" : "Allow sharing with groups",
"Restrict users to only share with users in their groups" : "Restrict users to only share with users in their groups",
"Exclude groups from sharing" : "Exclude groups from sharing",
"These groups will still be able to receive shares, but not to initiate them." : "These groups will still be able to receive shares, but not to initiate them.",
+ "Allow username autocompletion in share dialog" : "Allow username autocompletion in share dialogue",
+ "Allow username autocompletion to users within the same groups" : "Allow username autocompletion to users within the same groups",
+ "Allow username autocompletion to users based on phone number integration" : "Allow username autocompletion to users based on phone number integration",
+ "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user.",
+ "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)",
+ "Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Show disclaimer text on the public link upload page (only shown when the file list is hidden)",
"This text will be shown on the public link upload page when the file list is hidden." : "This text will be shown on the public link upload page when the file list is hidden.",
"Default share permissions" : "Default share permissions",
+ "Reasons to use Nextcloud in your organization" : "Reasons to use Nextcloud in your organization",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}.",
"Like our Facebook page" : "Like our Facebook page",
"Follow us on Twitter" : "Follow us on Twitter",
+ "Follow us on Mastodon" : "Follow us on Mastodon",
"Check out our blog" : "Check out our blog",
"Subscribe to our newsletter" : "Subscribe to our newsletter",
"This community release of Nextcloud is unsupported and instant notifications are unavailable." : "This community release of Nextcloud is unsupported and instant notifications are unavailable.",
+ "Use a second factor besides your password to increase security for your account." : "Use a second factor besides your password to increase security for your account.",
+ "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : "If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication.",
"Migration in progress. Please wait until the migration is finished" : "Migration in progress. Please wait until the migration is finished",
"Migration started …" : "Migration started …",
+ "An error occurred while changing your language. Please reload the page and try again." : "An error occurred while changing your language. Please reload the page and try again.",
+ "An error occurred while changing your locale. Please reload the page and try again." : "An error occurred while changing your locale. Please reload the page and try again.",
"Select a profile picture" : "Select a profile picture",
+ "Week starts on {fdow}" : "Week starts on {fdow}",
"Couldn't remove app." : "Couldn't remove app.",
"Couldn't update app." : "Couldn't update app.",
"Backend doesn't support password change, but the user's encryption key was updated." : "Backend doesn't support password change, but the user's encryption key was updated.",
+ "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>.",
+ "Admin privileges" : "Admin privileges",
+ "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet.",
+ "Unable to update biography" : "Unable to update biography",
+ "Unable to update full name" : "Unable to update full name",
+ "No full name set" : "No full name set",
+ "Unable to update headline" : "Unable to update headline",
+ "Unable to update organisation" : "Unable to update organisation",
+ "Unable to update role" : "Unable to update role",
+ "Change scope level of {accountProperty}" : "Change scope level of {accountProperty}",
+ "Unable to update federation scope of the primary {accountProperty}" : "Unable to update federation scope of the primary {accountProperty}",
+ "Unable to update federation scope of additional {accountProperty}" : "Unable to update federation scope of additional {accountProperty}",
"Address" : "Address",
"Avatar" : "Avatar",
"An error occured during the request. Unable to proceed." : "An error occured during the request. Unable to proceed.",
@@ -268,18 +531,30 @@
"You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one." : "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one.",
"Start migration" : "Start migration",
"Last job execution ran %s. Something seems wrong." : "Last job execution ran %s. Something seems wrong.",
+ "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Some jobs haven’t been executed since %s. Please consider increasing the execution frequency.",
+ "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Some jobs didn’t execute since %s. Please consider switching to system cron.",
"Last job ran %s." : "Last job ran %s.",
"Background job didn’t run yet!" : "Background job didn’t run yet!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information.",
+ "Pick background job setting" : "Pick background job setting",
"Recommended" : "Recommended",
"The cron.php needs to be executed by the system user \"%s\"." : "The cron.php needs to be executed by the system user \"%s\".",
+ "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)",
+ "Change privacy level of profile picture" : "Change privacy level of profile picture",
"Upload new" : "Upload new",
"Select from Files" : "Select from Files",
"Remove image" : "Remove image",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Please note that it can take up to 24 hours for the avatar to get updated everywhere.",
"Choose as profile picture" : "Choose as profile picture",
"You are using <strong>%s</strong>" : "You are using <strong>%s</strong>",
+ "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)",
+ "Change privacy level of phone number" : "Change privacy level of phone number",
+ "Change privacy level of address" : "Change privacy level of address",
"Your postal address" : "Your postal address",
+ "Change privacy level of website" : "Change privacy level of website",
"It can take up to 24 hours before the account is displayed as verified." : "It can take up to 24 hours before the account is displayed as verified.",
"Link https://…" : "Link https://…",
+ "Change privacy level of Twitter profile" : "Change privacy level of Twitter profile",
"Twitter handle @…" : "Twitter handle @…"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/eo.js b/apps/settings/l10n/eo.js
index ba2054b1010..02928c931af 100644
--- a/apps/settings/l10n/eo.js
+++ b/apps/settings/l10n/eo.js
@@ -51,6 +51,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "Neĝusta reekhava pasvorto de administranto. Bv. kontroli la pasvorton kaj reprovi.",
"Federated Cloud Sharing" : "Federnuba kunhavado",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL uzas neĝisdatan version %1$s (%2$s). Bv. ĝisdatigi vian operaciumon aŭ programon, aŭ trajtoj kiel %3$s ne plu funkcios fidinde.",
+ "Administrator documentation" : "Dokumentaro por administranto",
+ "User documentation" : "Dokumentaro por uzanto",
"Invalid SMTP password." : "Nevalida SMTP-pasvorto.",
"Email setting test" : "Provo de retpoŝtagordo",
"Well done, %s!" : "Bonege, %s!",
@@ -126,7 +128,6 @@ OC.L10N.register(
"View in store" : "Vidi en butiko",
"Visit website" : "Viziti retejon",
"Report a bug" : "Raporti problemon",
- "User documentation" : "Dokumentaro por uzanto",
"Admin documentation" : "Dokumentaro por administranto",
"Developer documentation" : "Dokumentaro por programisto",
"This app is supported via your current Nextcloud subscription." : "Tiu aplikaĵo estas subtenita per via nuna Nextcloud-abono.",
@@ -239,10 +240,6 @@ OC.L10N.register(
"Common languages" : "Ordinaraj lingvoj",
"Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita",
"Your apps" : "Viaj aplikaĵoj",
- "Active apps" : "Aktivaj aplikaĵoj",
- "Disabled apps" : "Malŝaltitaj aplikaĵoj",
- "Updates" : "Ĝisdatigoj",
- "App bundles" : "Aplikaĵaj kuniĝoj",
"{license}-licensed" : "Permesilo: {license}",
"Changelog" : "Ŝanĝoprotokolo",
"Add group" : "Aldoni grupon",
@@ -266,13 +263,16 @@ OC.L10N.register(
"Phone number" : "Telefonnumero",
"Twitter" : "Twitter",
"Website" : "Retejo",
+ "Active apps" : "Aktivaj aplikaĵoj",
+ "Disabled apps" : "Malŝaltitaj aplikaĵoj",
+ "Updates" : "Ĝisdatigoj",
+ "App bundles" : "Aplikaĵaj kuniĝoj",
"Hide" : "Malmontri",
"Download and enable" : "Elŝuti kaj ŝalti",
"Enable untested app" : "Ŝalti netestitan aplikaĵon",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Tiu aplikaĵo ne kongruas kun via Nextcloud-versio. Se vi daŭrigas, vi tamen povos instali ĝin, sed eble tiu aplikaĵo ne funkcios bone.",
"Never" : "Neniam",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplikaĵo estis ŝaltita, sed ĝi bezonas ĝisdatiĝi. Vi estos direktita al ĝisdatiga paĝon post 5 sekundoj.",
- "Administrator documentation" : "Dokumentaro por administranto",
"Documentation" : "Dokumentaro",
"Forum" : "Forumo",
"Login" : "Ensaluti",
diff --git a/apps/settings/l10n/eo.json b/apps/settings/l10n/eo.json
index d9f6ad63d47..50ca2214221 100644
--- a/apps/settings/l10n/eo.json
+++ b/apps/settings/l10n/eo.json
@@ -49,6 +49,8 @@
"Wrong admin recovery password. Please check the password and try again." : "Neĝusta reekhava pasvorto de administranto. Bv. kontroli la pasvorton kaj reprovi.",
"Federated Cloud Sharing" : "Federnuba kunhavado",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL uzas neĝisdatan version %1$s (%2$s). Bv. ĝisdatigi vian operaciumon aŭ programon, aŭ trajtoj kiel %3$s ne plu funkcios fidinde.",
+ "Administrator documentation" : "Dokumentaro por administranto",
+ "User documentation" : "Dokumentaro por uzanto",
"Invalid SMTP password." : "Nevalida SMTP-pasvorto.",
"Email setting test" : "Provo de retpoŝtagordo",
"Well done, %s!" : "Bonege, %s!",
@@ -124,7 +126,6 @@
"View in store" : "Vidi en butiko",
"Visit website" : "Viziti retejon",
"Report a bug" : "Raporti problemon",
- "User documentation" : "Dokumentaro por uzanto",
"Admin documentation" : "Dokumentaro por administranto",
"Developer documentation" : "Dokumentaro por programisto",
"This app is supported via your current Nextcloud subscription." : "Tiu aplikaĵo estas subtenita per via nuna Nextcloud-abono.",
@@ -237,10 +238,6 @@
"Common languages" : "Ordinaraj lingvoj",
"Password change is disabled because the master key is disabled" : "Pasvorta ŝanĝo ne eblas, ĉar la ĉefa ŝlosilo estas neebligita",
"Your apps" : "Viaj aplikaĵoj",
- "Active apps" : "Aktivaj aplikaĵoj",
- "Disabled apps" : "Malŝaltitaj aplikaĵoj",
- "Updates" : "Ĝisdatigoj",
- "App bundles" : "Aplikaĵaj kuniĝoj",
"{license}-licensed" : "Permesilo: {license}",
"Changelog" : "Ŝanĝoprotokolo",
"Add group" : "Aldoni grupon",
@@ -264,13 +261,16 @@
"Phone number" : "Telefonnumero",
"Twitter" : "Twitter",
"Website" : "Retejo",
+ "Active apps" : "Aktivaj aplikaĵoj",
+ "Disabled apps" : "Malŝaltitaj aplikaĵoj",
+ "Updates" : "Ĝisdatigoj",
+ "App bundles" : "Aplikaĵaj kuniĝoj",
"Hide" : "Malmontri",
"Download and enable" : "Elŝuti kaj ŝalti",
"Enable untested app" : "Ŝalti netestitan aplikaĵon",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Tiu aplikaĵo ne kongruas kun via Nextcloud-versio. Se vi daŭrigas, vi tamen povos instali ĝin, sed eble tiu aplikaĵo ne funkcios bone.",
"Never" : "Neniam",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplikaĵo estis ŝaltita, sed ĝi bezonas ĝisdatiĝi. Vi estos direktita al ĝisdatiga paĝon post 5 sekundoj.",
- "Administrator documentation" : "Dokumentaro por administranto",
"Documentation" : "Dokumentaro",
"Forum" : "Forumo",
"Login" : "Ensaluti",
diff --git a/apps/settings/l10n/es.js b/apps/settings/l10n/es.js
index 1bfa0d71a6c..2ab6c219e58 100644
--- a/apps/settings/l10n/es.js
+++ b/apps/settings/l10n/es.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "El número máximo de claves de OPcache está casi superado. Para asegurar que todos los scripts puedan mantenerse en la caché, se recomienda aplicar <code>opcache.max_accelerated_files</code> a su configuración de PHP con un valor superior a <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "El buffer de OPcache está casi lleno. Para asegurar que todos los scripts puedan ser retenidos en la caché, se recomienda aplicar <code>opcache.memory_consumption</code> a su configuración de PHP con un valor superior a <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "El buffer de OPcache está casi lleno. Para asegurar que todos los scripts puedan ser retenidos en la caché, se recomienda aplicar <code>opcache.memory_consumption</code> a su configuración de PHP con un valor superior a <code>%s</code>.",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación de usuario",
"Invalid SMTP password." : "Contraseña SMTP inválida",
"Email setting test" : "Prueba de configuración de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visite el sitio web",
"Report a bug" : "Notificar un error",
- "User documentation" : "Documentación de usuario",
"Admin documentation" : "Documentación de administrador",
"Developer documentation" : "Documentación de desarrollador",
"This app is supported via your current Nextcloud subscription." : "Esta App está soportada a través de su suscripción actual de Nexcloud.",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "No se pudo borrar la dirección de email adicional",
"No email address set" : "No hay establecida ninguna dirección de correo",
"Additional emails" : "Direcciones de email adicionales",
+ "Your handle" : "Tu identificador",
"Your headline" : "Tu titular",
"Language" : "Idioma",
"Help translate" : "Ayúdanos a traducir",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Los siguientes dispositivos están configurados en su cuenta:",
"Your browser does not support WebAuthn." : "Tu navegador no soporta WebAuthn.",
"Your apps" : "Tus apps",
- "Active apps" : "Apps activas",
- "Disabled apps" : "Apps deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Lotes de apps",
- "Featured apps" : "Apps destacadas",
"{license}-licensed" : "licenciado bajo {license}",
"Changelog" : "Historial de cambios",
"by {author}\n{license}" : "por {author}\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Role" : "Cargo",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverso (p.e. Mastodon)",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No está disponible, ya que esta característica es necesaria para la funcionalidad principal, incluyendo el intercambio de archivos y las invitaciones de calendario",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "No está disponible ya que la federación ha sido deshabilitada para su cuenta, contacte a su administrador del sistema si tiene cualquier pregunta",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "No está disponible ya que la publicación de datos específicos del usuario en el servidor de búsqueda no está permitida, póngase en contacto con el administrador del sistema si tiene alguna duda",
+ "Active apps" : "Apps activas",
+ "Disabled apps" : "Apps deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Lotes de apps",
+ "Featured apps" : "Apps destacadas",
"Show to everyone" : "Mostrar a todos",
"Show to logged in users only" : "Mostrar solo a usuarios con inicio de sesión",
"Hide" : "Ocultar",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Ha ocurrido un error durante la solicitud. No se puede continuar.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La app ha sido activada pero tiene que actualizarse. Serás redirigido a la página de actualización en 5 segundos.",
"Error: This app cannot be enabled because it makes the server unstable" : "Error: Esta app no se puede activar porque hace inestable al servidor",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es.json b/apps/settings/l10n/es.json
index 8567f8841be..937ad488895 100644
--- a/apps/settings/l10n/es.json
+++ b/apps/settings/l10n/es.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "El número máximo de claves de OPcache está casi superado. Para asegurar que todos los scripts puedan mantenerse en la caché, se recomienda aplicar <code>opcache.max_accelerated_files</code> a su configuración de PHP con un valor superior a <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "El buffer de OPcache está casi lleno. Para asegurar que todos los scripts puedan ser retenidos en la caché, se recomienda aplicar <code>opcache.memory_consumption</code> a su configuración de PHP con un valor superior a <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "El buffer de OPcache está casi lleno. Para asegurar que todos los scripts puedan ser retenidos en la caché, se recomienda aplicar <code>opcache.memory_consumption</code> a su configuración de PHP con un valor superior a <code>%s</code>.",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación de usuario",
"Invalid SMTP password." : "Contraseña SMTP inválida",
"Email setting test" : "Prueba de configuración de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visite el sitio web",
"Report a bug" : "Notificar un error",
- "User documentation" : "Documentación de usuario",
"Admin documentation" : "Documentación de administrador",
"Developer documentation" : "Documentación de desarrollador",
"This app is supported via your current Nextcloud subscription." : "Esta App está soportada a través de su suscripción actual de Nexcloud.",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "No se pudo borrar la dirección de email adicional",
"No email address set" : "No hay establecida ninguna dirección de correo",
"Additional emails" : "Direcciones de email adicionales",
+ "Your handle" : "Tu identificador",
"Your headline" : "Tu titular",
"Language" : "Idioma",
"Help translate" : "Ayúdanos a traducir",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "Los siguientes dispositivos están configurados en su cuenta:",
"Your browser does not support WebAuthn." : "Tu navegador no soporta WebAuthn.",
"Your apps" : "Tus apps",
- "Active apps" : "Apps activas",
- "Disabled apps" : "Apps deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Lotes de apps",
- "Featured apps" : "Apps destacadas",
"{license}-licensed" : "licenciado bajo {license}",
"Changelog" : "Historial de cambios",
"by {author}\n{license}" : "por {author}\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "Número de teléfono",
"Role" : "Cargo",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverso (p.e. Mastodon)",
"Website" : "Sitio web",
"Profile visibility" : "Visibilidad del perfil",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "No está disponible, ya que esta característica es necesaria para la funcionalidad principal, incluyendo el intercambio de archivos y las invitaciones de calendario",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "No está disponible ya que la federación ha sido deshabilitada para su cuenta, contacte a su administrador del sistema si tiene cualquier pregunta",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "No está disponible ya que la publicación de datos específicos del usuario en el servidor de búsqueda no está permitida, póngase en contacto con el administrador del sistema si tiene alguna duda",
+ "Active apps" : "Apps activas",
+ "Disabled apps" : "Apps deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Lotes de apps",
+ "Featured apps" : "Apps destacadas",
"Show to everyone" : "Mostrar a todos",
"Show to logged in users only" : "Mostrar solo a usuarios con inicio de sesión",
"Hide" : "Ocultar",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "Ha ocurrido un error durante la solicitud. No se puede continuar.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La app ha sido activada pero tiene que actualizarse. Serás redirigido a la página de actualización en 5 segundos.",
"Error: This app cannot be enabled because it makes the server unstable" : "Error: Esta app no se puede activar porque hace inestable al servidor",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_419.js b/apps/settings/l10n/es_419.js
index 23e41110342..b6ab365c428 100644
--- a/apps/settings/l10n/es_419.js
+++ b/apps/settings/l10n/es_419.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -96,7 +98,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -168,9 +169,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -188,10 +186,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_419.json b/apps/settings/l10n/es_419.json
index cde36ba95eb..1fbc14c213a 100644
--- a/apps/settings/l10n/es_419.json
+++ b/apps/settings/l10n/es_419.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -94,7 +96,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -166,9 +167,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -186,10 +184,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_AR.js b/apps/settings/l10n/es_AR.js
index 457c6b0c265..31ac41b2470 100644
--- a/apps/settings/l10n/es_AR.js
+++ b/apps/settings/l10n/es_AR.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Favor de proporcionar una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Favor de verificarla e inténtelo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación de adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -91,7 +93,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visite el sitio web",
"Report a bug" : "Reporte un tema",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -159,9 +160,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Sus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicacion",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -179,10 +177,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicacion",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Usted será redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación de adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Inicio de sesión",
diff --git a/apps/settings/l10n/es_AR.json b/apps/settings/l10n/es_AR.json
index d656e835741..256a3edae8c 100644
--- a/apps/settings/l10n/es_AR.json
+++ b/apps/settings/l10n/es_AR.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Favor de proporcionar una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Favor de verificarla e inténtelo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación de adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -89,7 +91,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visite el sitio web",
"Report a bug" : "Reporte un tema",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -157,9 +158,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Sus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicacion",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -177,10 +175,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicacion",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Usted será redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación de adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Inicio de sesión",
diff --git a/apps/settings/l10n/es_CL.js b/apps/settings/l10n/es_CL.js
index f6d63a823c0..77906cebc5c 100644
--- a/apps/settings/l10n/es_CL.js
+++ b/apps/settings/l10n/es_CL.js
@@ -32,6 +32,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -97,7 +99,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -167,9 +168,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -187,10 +185,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_CL.json b/apps/settings/l10n/es_CL.json
index 53bd3f694ea..e20228310c4 100644
--- a/apps/settings/l10n/es_CL.json
+++ b/apps/settings/l10n/es_CL.json
@@ -30,6 +30,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -95,7 +97,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -165,9 +166,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -185,10 +183,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_CO.js b/apps/settings/l10n/es_CO.js
index f6d63a823c0..77906cebc5c 100644
--- a/apps/settings/l10n/es_CO.js
+++ b/apps/settings/l10n/es_CO.js
@@ -32,6 +32,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -97,7 +99,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -167,9 +168,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -187,10 +185,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_CO.json b/apps/settings/l10n/es_CO.json
index 53bd3f694ea..e20228310c4 100644
--- a/apps/settings/l10n/es_CO.json
+++ b/apps/settings/l10n/es_CO.json
@@ -30,6 +30,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -95,7 +97,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -165,9 +166,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -185,10 +183,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_CR.js b/apps/settings/l10n/es_CR.js
index f6d63a823c0..77906cebc5c 100644
--- a/apps/settings/l10n/es_CR.js
+++ b/apps/settings/l10n/es_CR.js
@@ -32,6 +32,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -97,7 +99,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -167,9 +168,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -187,10 +185,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_CR.json b/apps/settings/l10n/es_CR.json
index 53bd3f694ea..e20228310c4 100644
--- a/apps/settings/l10n/es_CR.json
+++ b/apps/settings/l10n/es_CR.json
@@ -30,6 +30,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -95,7 +97,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -165,9 +166,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -185,10 +183,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_DO.js b/apps/settings/l10n/es_DO.js
index f6d63a823c0..77906cebc5c 100644
--- a/apps/settings/l10n/es_DO.js
+++ b/apps/settings/l10n/es_DO.js
@@ -32,6 +32,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -97,7 +99,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -167,9 +168,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -187,10 +185,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_DO.json b/apps/settings/l10n/es_DO.json
index 53bd3f694ea..e20228310c4 100644
--- a/apps/settings/l10n/es_DO.json
+++ b/apps/settings/l10n/es_DO.json
@@ -30,6 +30,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -95,7 +97,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -165,9 +166,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -185,10 +183,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_EC.js b/apps/settings/l10n/es_EC.js
index f6d63a823c0..77906cebc5c 100644
--- a/apps/settings/l10n/es_EC.js
+++ b/apps/settings/l10n/es_EC.js
@@ -32,6 +32,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -97,7 +99,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -167,9 +168,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -187,10 +185,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_EC.json b/apps/settings/l10n/es_EC.json
index 53bd3f694ea..e20228310c4 100644
--- a/apps/settings/l10n/es_EC.json
+++ b/apps/settings/l10n/es_EC.json
@@ -30,6 +30,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -95,7 +97,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -165,9 +166,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -185,10 +183,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_GT.js b/apps/settings/l10n/es_GT.js
index f6d63a823c0..77906cebc5c 100644
--- a/apps/settings/l10n/es_GT.js
+++ b/apps/settings/l10n/es_GT.js
@@ -32,6 +32,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -97,7 +99,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -167,9 +168,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -187,10 +185,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_GT.json b/apps/settings/l10n/es_GT.json
index 53bd3f694ea..e20228310c4 100644
--- a/apps/settings/l10n/es_GT.json
+++ b/apps/settings/l10n/es_GT.json
@@ -30,6 +30,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -95,7 +97,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -165,9 +166,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -185,10 +183,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_HN.js b/apps/settings/l10n/es_HN.js
index cd234ab572b..f19acfde3f6 100644
--- a/apps/settings/l10n/es_HN.js
+++ b/apps/settings/l10n/es_HN.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -93,7 +95,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -162,9 +163,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -182,10 +180,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_HN.json b/apps/settings/l10n/es_HN.json
index 33aa9fee59b..76392db8896 100644
--- a/apps/settings/l10n/es_HN.json
+++ b/apps/settings/l10n/es_HN.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -91,7 +93,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -160,9 +161,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -180,10 +178,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_MX.js b/apps/settings/l10n/es_MX.js
index a66616a4b37..e0aa8efa525 100644
--- a/apps/settings/l10n/es_MX.js
+++ b/apps/settings/l10n/es_MX.js
@@ -42,6 +42,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -108,7 +110,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -189,9 +190,6 @@ OC.L10N.register(
"Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la llave maestra está deshabilitada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -210,10 +208,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_MX.json b/apps/settings/l10n/es_MX.json
index c559e3f9f73..b499b509465 100644
--- a/apps/settings/l10n/es_MX.json
+++ b/apps/settings/l10n/es_MX.json
@@ -40,6 +40,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -106,7 +108,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -187,9 +188,6 @@
"Password change is disabled because the master key is disabled" : "El cambio de contraseña está deshabilitado porque la llave maestra está deshabilitada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -208,10 +206,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_NI.js b/apps/settings/l10n/es_NI.js
index cd234ab572b..f19acfde3f6 100644
--- a/apps/settings/l10n/es_NI.js
+++ b/apps/settings/l10n/es_NI.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -93,7 +95,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -162,9 +163,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -182,10 +180,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_NI.json b/apps/settings/l10n/es_NI.json
index 33aa9fee59b..76392db8896 100644
--- a/apps/settings/l10n/es_NI.json
+++ b/apps/settings/l10n/es_NI.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -91,7 +93,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -160,9 +161,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -180,10 +178,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_PA.js b/apps/settings/l10n/es_PA.js
index cd234ab572b..f19acfde3f6 100644
--- a/apps/settings/l10n/es_PA.js
+++ b/apps/settings/l10n/es_PA.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -93,7 +95,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -162,9 +163,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -182,10 +180,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_PA.json b/apps/settings/l10n/es_PA.json
index 33aa9fee59b..76392db8896 100644
--- a/apps/settings/l10n/es_PA.json
+++ b/apps/settings/l10n/es_PA.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -91,7 +93,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -160,9 +161,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -180,10 +178,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_PE.js b/apps/settings/l10n/es_PE.js
index cd234ab572b..f19acfde3f6 100644
--- a/apps/settings/l10n/es_PE.js
+++ b/apps/settings/l10n/es_PE.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -93,7 +95,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -162,9 +163,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -182,10 +180,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_PE.json b/apps/settings/l10n/es_PE.json
index 33aa9fee59b..76392db8896 100644
--- a/apps/settings/l10n/es_PE.json
+++ b/apps/settings/l10n/es_PE.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -91,7 +93,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -160,9 +161,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -180,10 +178,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_PR.js b/apps/settings/l10n/es_PR.js
index cd234ab572b..f19acfde3f6 100644
--- a/apps/settings/l10n/es_PR.js
+++ b/apps/settings/l10n/es_PR.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -93,7 +95,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -162,9 +163,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -182,10 +180,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_PR.json b/apps/settings/l10n/es_PR.json
index 33aa9fee59b..76392db8896 100644
--- a/apps/settings/l10n/es_PR.json
+++ b/apps/settings/l10n/es_PR.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -91,7 +93,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -160,9 +161,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -180,10 +178,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_PY.js b/apps/settings/l10n/es_PY.js
index cd234ab572b..f19acfde3f6 100644
--- a/apps/settings/l10n/es_PY.js
+++ b/apps/settings/l10n/es_PY.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -93,7 +95,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -162,9 +163,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -182,10 +180,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_PY.json b/apps/settings/l10n/es_PY.json
index 33aa9fee59b..76392db8896 100644
--- a/apps/settings/l10n/es_PY.json
+++ b/apps/settings/l10n/es_PY.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -91,7 +93,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -160,9 +161,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -180,10 +178,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_SV.js b/apps/settings/l10n/es_SV.js
index f6d63a823c0..77906cebc5c 100644
--- a/apps/settings/l10n/es_SV.js
+++ b/apps/settings/l10n/es_SV.js
@@ -32,6 +32,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -97,7 +99,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -167,9 +168,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -187,10 +185,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_SV.json b/apps/settings/l10n/es_SV.json
index 53bd3f694ea..e20228310c4 100644
--- a/apps/settings/l10n/es_SV.json
+++ b/apps/settings/l10n/es_SV.json
@@ -30,6 +30,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -95,7 +97,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -165,9 +166,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -185,10 +183,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación ha sido habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_UY.js b/apps/settings/l10n/es_UY.js
index cd234ab572b..f19acfde3f6 100644
--- a/apps/settings/l10n/es_UY.js
+++ b/apps/settings/l10n/es_UY.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -93,7 +95,6 @@ OC.L10N.register(
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -162,9 +163,6 @@ OC.L10N.register(
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -182,10 +180,12 @@ OC.L10N.register(
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/es_UY.json b/apps/settings/l10n/es_UY.json
index 33aa9fee59b..76392db8896 100644
--- a/apps/settings/l10n/es_UY.json
+++ b/apps/settings/l10n/es_UY.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor proporciona una contraseña de recuperación de administrador; de lo contrario toda la información del usuario se perderá. ",
"Wrong admin recovery password. Please check the password and try again." : "Contraseña de recuperación de administrador incorrecta. Por favor verificala e inténtalo de nuevo.",
"Federated Cloud Sharing" : "Compartir en la Nube Federada",
+ "Administrator documentation" : "Documentación del adminsitrador",
+ "User documentation" : "Documentación del usuario",
"Invalid SMTP password." : "Constraseña SMTP inválida. ",
"Email setting test" : "Prueba de ajustes de correo",
"Well done, %s!" : "¡Bien hecho, %s!",
@@ -91,7 +93,6 @@
"View in store" : "Ver en la tienda",
"Visit website" : "Visita el sitio web",
"Report a bug" : "Reporta un detalle",
- "User documentation" : "Documentación del usuario",
"Admin documentation" : "Documentación del administrador",
"Developer documentation" : "Documentación del desarrollador",
"Featured" : "Destacado",
@@ -160,9 +161,6 @@
"Default quota" : "Cuota predeterminada",
"Unnamed device" : "Dispositivo sin nombre",
"Your apps" : "Tus aplicaciones",
- "Disabled apps" : "Aplicaciones deshabilitadas",
- "Updates" : "Actualizaciones",
- "App bundles" : "Paquetes de aplicación",
"Changelog" : "Bitácora de cambios",
"Add group" : "Agregar grupo",
"Active users" : "Usuarios activos",
@@ -180,10 +178,12 @@
"Phone number" : "Número de teléfono",
"Twitter" : "Twitter",
"Website" : "Sitio web",
+ "Disabled apps" : "Aplicaciones deshabilitadas",
+ "Updates" : "Actualizaciones",
+ "App bundles" : "Paquetes de aplicación",
"Hide" : "Ocultar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "La aplicación está habilitada pero necesita ser actualizada. Serás redireccionado a la página de actualización en 5 segundos. ",
- "Administrator documentation" : "Documentación del adminsitrador",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Iniciar sesión",
diff --git a/apps/settings/l10n/et_EE.js b/apps/settings/l10n/et_EE.js
index 2324c479e8a..aa1527bcbd4 100644
--- a/apps/settings/l10n/et_EE.js
+++ b/apps/settings/l10n/et_EE.js
@@ -32,6 +32,8 @@ OC.L10N.register(
"Authentication error" : "Autentimise viga",
"Wrong admin recovery password. Please check the password and try again." : "Vale administraatori taasteparool. Palun kontrolli parooli ning proovi uuesti.",
"Federated Cloud Sharing" : "Jagamine liitpilves",
+ "Administrator documentation" : "Administraatori dokumentatsioon",
+ "User documentation" : "Kasutaja dokumentatsioon",
"Invalid SMTP password." : "Vale SMTP parool.",
"Email setting test" : "E-posti sätete kontroll",
"Well done, %s!" : "Suurepärane, %s!",
@@ -92,7 +94,6 @@ OC.L10N.register(
"Disable" : "Lülita välja",
"Visit website" : "Külasta veebisaiti",
"Report a bug" : "Teata veast",
- "User documentation" : "Kasutaja dokumentatsioon",
"Admin documentation" : "Administraatori dokumentatsioon",
"Developer documentation" : "Arendaja dokumentatsioon",
"Featured" : "Esile tõstetud",
@@ -166,9 +167,6 @@ OC.L10N.register(
"Common languages" : "Levinud keeled",
"Unnamed device" : "Nimetu seade",
"Your apps" : "Sinu rakendused",
- "Disabled apps" : "Keelatud rakendused",
- "Updates" : "Uuendused",
- "App bundles" : "Rakenduste kogumikud",
"{license}-licensed" : "{license} litsents",
"Changelog" : "Muudatuste logi",
"Add group" : "Lisa grupp",
@@ -188,10 +186,12 @@ OC.L10N.register(
"Phone number" : "Telefoninumber",
"Twitter" : "Twitter",
"Website" : "Veebileht",
+ "Disabled apps" : "Keelatud rakendused",
+ "Updates" : "Uuendused",
+ "App bundles" : "Rakenduste kogumikud",
"Hide" : "Peida",
"Never" : "Mitte kunagi",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Rakendus on lubatud, aga see vajab uuendamist. Sind suunatakse 5 sekundi pärast uuendamise lehele.",
- "Administrator documentation" : "Administraatori dokumentatsioon",
"Documentation" : "Dokumentatsioon",
"Forum" : "Foorum",
"Login" : "Logi sisse",
diff --git a/apps/settings/l10n/et_EE.json b/apps/settings/l10n/et_EE.json
index 6c8b428b59f..648bf9ca692 100644
--- a/apps/settings/l10n/et_EE.json
+++ b/apps/settings/l10n/et_EE.json
@@ -30,6 +30,8 @@
"Authentication error" : "Autentimise viga",
"Wrong admin recovery password. Please check the password and try again." : "Vale administraatori taasteparool. Palun kontrolli parooli ning proovi uuesti.",
"Federated Cloud Sharing" : "Jagamine liitpilves",
+ "Administrator documentation" : "Administraatori dokumentatsioon",
+ "User documentation" : "Kasutaja dokumentatsioon",
"Invalid SMTP password." : "Vale SMTP parool.",
"Email setting test" : "E-posti sätete kontroll",
"Well done, %s!" : "Suurepärane, %s!",
@@ -90,7 +92,6 @@
"Disable" : "Lülita välja",
"Visit website" : "Külasta veebisaiti",
"Report a bug" : "Teata veast",
- "User documentation" : "Kasutaja dokumentatsioon",
"Admin documentation" : "Administraatori dokumentatsioon",
"Developer documentation" : "Arendaja dokumentatsioon",
"Featured" : "Esile tõstetud",
@@ -164,9 +165,6 @@
"Common languages" : "Levinud keeled",
"Unnamed device" : "Nimetu seade",
"Your apps" : "Sinu rakendused",
- "Disabled apps" : "Keelatud rakendused",
- "Updates" : "Uuendused",
- "App bundles" : "Rakenduste kogumikud",
"{license}-licensed" : "{license} litsents",
"Changelog" : "Muudatuste logi",
"Add group" : "Lisa grupp",
@@ -186,10 +184,12 @@
"Phone number" : "Telefoninumber",
"Twitter" : "Twitter",
"Website" : "Veebileht",
+ "Disabled apps" : "Keelatud rakendused",
+ "Updates" : "Uuendused",
+ "App bundles" : "Rakenduste kogumikud",
"Hide" : "Peida",
"Never" : "Mitte kunagi",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Rakendus on lubatud, aga see vajab uuendamist. Sind suunatakse 5 sekundi pärast uuendamise lehele.",
- "Administrator documentation" : "Administraatori dokumentatsioon",
"Documentation" : "Dokumentatsioon",
"Forum" : "Foorum",
"Login" : "Logi sisse",
diff --git a/apps/settings/l10n/eu.js b/apps/settings/l10n/eu.js
index bdc24763336..d7b4ddc9a19 100644
--- a/apps/settings/l10n/eu.js
+++ b/apps/settings/l10n/eu.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache gakoen gehienezko kopurua ia gainditzen da. Script guztiak cachean gorde daitezkeela ziurtatzeko,<code>opcache.max_accelerated_files</code>zure PHP konfigurazioan <code> %s </code> baino balio handiagoarekin aplikatzea gomendatzen da.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache buffer-a ia beteta dago. Script guztiak cachean gorde daitezkeela ziurtatzeko, gomendatzen da <code> opcache.memory_consumption </code> aplikatzea zure PHP konfigurazioan <code> %s </code> baino balio handiagoarekin.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache barneratutako kateen buffer-a ia beteta dago. Errepikatzen diren kateak modu eraginkorrean gorde daitezkeela ziurtatzeko, gomendatzen da <code> aplikatzea opcache.interned_strings_buffer </code> zure PHP konfigurazioan <code> %s</code>baino balio handiagoarekin.",
+ "Administrator documentation" : "Administratzaile dokumentazioa",
+ "User documentation" : "Erabiltzailearen dokumentazioa",
"Invalid SMTP password." : "SMTP pasahitza baliogabea",
"Email setting test" : "E-postaren ezarpenen proba",
"Well done, %s!" : "Ongi egina, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Dendan ikusi",
"Visit website" : "Web orria ikusi",
"Report a bug" : "Eman akats baten berri ",
- "User documentation" : "Erabiltzailearen dokumentazioa",
"Admin documentation" : "Administratzailearen dokumentazioa",
"Developer documentation" : "Garatzailearen dokumentazioa",
"This app is supported via your current Nextcloud subscription." : "Aplikazio hau zure Nextcloud harpidetzaren bitartez ahalbidetua dago.",
@@ -207,7 +208,7 @@ OC.L10N.register(
"Sync client - {os}" : "Sinkronizatu bezeroaren - {os}",
"This session" : "Saio hau",
"Device" : "Gailua",
- "Last activity" : "Azken jarduera",
+ "Last activity" : "Azken jarduerak",
"Devices & sessions" : "Gailuak eta saioak",
"Web, desktop and mobile clients currently logged in to your account." : "Webgunean edota mahaigaineko zein mugikorreko bezero hauetan saioa hasita duzu.",
"Do you really want to wipe your data from this device?" : "Ziur zaude gailu honetatik zure datu guztiak ezabatu nahi dituzula?",
@@ -381,11 +382,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Hurrengo gailuak zure konturako konfiguratuta daude:",
"Your browser does not support WebAuthn." : "Zure nabigatzaileak ez du WebAuthn onartzen.",
"Your apps" : "Zure aplikazioak",
- "Active apps" : "Aplikazio aktiboak",
- "Disabled apps" : "Gaitu gabeko aplikazioak",
- "Updates" : "Eguneraketak",
- "App bundles" : "Aplikazio sortak",
- "Featured apps" : "App aipagarriak",
"{license}-licensed" : "{license}-lizentziaduna",
"Changelog" : "Aldaketak",
"by {author}\n{license}" : "{autor}-(e)k egina\n{license}",
@@ -418,6 +414,11 @@ OC.L10N.register(
"Profile visibility" : "Profilaren ikusgarritasuna",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ez dago eskuragarri propietate hau oinarrizko funtzionaltasunentzako beharrezkoa delako, fitxategien partekatze eta egutegien gonbidapenak barne",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Ez dago eskuragarri bilaketa zerbitzarira erabiltzaileen datu zehatzak argitaratzea ez dagoelako baimenduta, jarri harremanetan sistemaren administratzailearekin galderarik baduzu",
+ "Active apps" : "Aplikazio aktiboak",
+ "Disabled apps" : "Gaitu gabeko aplikazioak",
+ "Updates" : "Eguneraketak",
+ "App bundles" : "Aplikazio sortak",
+ "Featured apps" : "App aipagarriak",
"Show to everyone" : "Erakutsi denei",
"Show to logged in users only" : "Erakutsi saioa hasi duten erabiltzaileei soilik",
"Hide" : "Ezkutatu",
@@ -429,7 +430,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Errorea gertatu da eskaeran. Ezin da jarraitu.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikazioa gaitu da baina eguneratu behar da. Eguneratze orrira joango zara 5 segundotan.",
"Error: This app cannot be enabled because it makes the server unstable" : "Errorea: aplikazio hau ezin da gaitu zerbitzaria ezegonkorra izatea eragiten duelako",
- "Administrator documentation" : "Administratzaile dokumentazioa",
"Documentation" : "Dokumentazioa",
"Forum" : "Foroa",
"Login" : "Saio hasiera",
diff --git a/apps/settings/l10n/eu.json b/apps/settings/l10n/eu.json
index ba4ff989f8f..3b7b9a5edb5 100644
--- a/apps/settings/l10n/eu.json
+++ b/apps/settings/l10n/eu.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache gakoen gehienezko kopurua ia gainditzen da. Script guztiak cachean gorde daitezkeela ziurtatzeko,<code>opcache.max_accelerated_files</code>zure PHP konfigurazioan <code> %s </code> baino balio handiagoarekin aplikatzea gomendatzen da.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache buffer-a ia beteta dago. Script guztiak cachean gorde daitezkeela ziurtatzeko, gomendatzen da <code> opcache.memory_consumption </code> aplikatzea zure PHP konfigurazioan <code> %s </code> baino balio handiagoarekin.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache barneratutako kateen buffer-a ia beteta dago. Errepikatzen diren kateak modu eraginkorrean gorde daitezkeela ziurtatzeko, gomendatzen da <code> aplikatzea opcache.interned_strings_buffer </code> zure PHP konfigurazioan <code> %s</code>baino balio handiagoarekin.",
+ "Administrator documentation" : "Administratzaile dokumentazioa",
+ "User documentation" : "Erabiltzailearen dokumentazioa",
"Invalid SMTP password." : "SMTP pasahitza baliogabea",
"Email setting test" : "E-postaren ezarpenen proba",
"Well done, %s!" : "Ongi egina, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Dendan ikusi",
"Visit website" : "Web orria ikusi",
"Report a bug" : "Eman akats baten berri ",
- "User documentation" : "Erabiltzailearen dokumentazioa",
"Admin documentation" : "Administratzailearen dokumentazioa",
"Developer documentation" : "Garatzailearen dokumentazioa",
"This app is supported via your current Nextcloud subscription." : "Aplikazio hau zure Nextcloud harpidetzaren bitartez ahalbidetua dago.",
@@ -205,7 +206,7 @@
"Sync client - {os}" : "Sinkronizatu bezeroaren - {os}",
"This session" : "Saio hau",
"Device" : "Gailua",
- "Last activity" : "Azken jarduera",
+ "Last activity" : "Azken jarduerak",
"Devices & sessions" : "Gailuak eta saioak",
"Web, desktop and mobile clients currently logged in to your account." : "Webgunean edota mahaigaineko zein mugikorreko bezero hauetan saioa hasita duzu.",
"Do you really want to wipe your data from this device?" : "Ziur zaude gailu honetatik zure datu guztiak ezabatu nahi dituzula?",
@@ -379,11 +380,6 @@
"The following devices are configured for your account:" : "Hurrengo gailuak zure konturako konfiguratuta daude:",
"Your browser does not support WebAuthn." : "Zure nabigatzaileak ez du WebAuthn onartzen.",
"Your apps" : "Zure aplikazioak",
- "Active apps" : "Aplikazio aktiboak",
- "Disabled apps" : "Gaitu gabeko aplikazioak",
- "Updates" : "Eguneraketak",
- "App bundles" : "Aplikazio sortak",
- "Featured apps" : "App aipagarriak",
"{license}-licensed" : "{license}-lizentziaduna",
"Changelog" : "Aldaketak",
"by {author}\n{license}" : "{autor}-(e)k egina\n{license}",
@@ -416,6 +412,11 @@
"Profile visibility" : "Profilaren ikusgarritasuna",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Ez dago eskuragarri propietate hau oinarrizko funtzionaltasunentzako beharrezkoa delako, fitxategien partekatze eta egutegien gonbidapenak barne",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Ez dago eskuragarri bilaketa zerbitzarira erabiltzaileen datu zehatzak argitaratzea ez dagoelako baimenduta, jarri harremanetan sistemaren administratzailearekin galderarik baduzu",
+ "Active apps" : "Aplikazio aktiboak",
+ "Disabled apps" : "Gaitu gabeko aplikazioak",
+ "Updates" : "Eguneraketak",
+ "App bundles" : "Aplikazio sortak",
+ "Featured apps" : "App aipagarriak",
"Show to everyone" : "Erakutsi denei",
"Show to logged in users only" : "Erakutsi saioa hasi duten erabiltzaileei soilik",
"Hide" : "Ezkutatu",
@@ -427,7 +428,6 @@
"An error occurred during the request. Unable to proceed." : "Errorea gertatu da eskaeran. Ezin da jarraitu.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikazioa gaitu da baina eguneratu behar da. Eguneratze orrira joango zara 5 segundotan.",
"Error: This app cannot be enabled because it makes the server unstable" : "Errorea: aplikazio hau ezin da gaitu zerbitzaria ezegonkorra izatea eragiten duelako",
- "Administrator documentation" : "Administratzaile dokumentazioa",
"Documentation" : "Dokumentazioa",
"Forum" : "Foroa",
"Login" : "Saio hasiera",
diff --git a/apps/settings/l10n/fa.js b/apps/settings/l10n/fa.js
index 515dd4a7b4a..867735033c1 100644
--- a/apps/settings/l10n/fa.js
+++ b/apps/settings/l10n/fa.js
@@ -2,15 +2,15 @@ OC.L10N.register(
"settings",
{
"Private" : "خصوصی",
- "Only visible to people matched via phone number integration through Talk on mobile" : "فقط برای کاربرانی فعال است که از طریق یکپارچه سازی شماره تلفن در برنامه Talk روی تلفن همراه مطابقت داشته باشند",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "نمایان تنها برای افرادی که با یکپارچگی شماره تلفن از طریق Talk روی تلفن همراه مطابقند",
"Local" : "محلی",
- "Only visible to people on this instance and guests" : "فقط برای کاربران این نسخه و مهمانان قابل مشاهده است",
- "Federated" : "فدرال",
- "Only synchronize to trusted servers" : "فقط با سرورهای قابل اعتماد همگام سازی شود",
+ "Only visible to people on this instance and guests" : "نمایان تنها برای افراد روی این نمونه و میهانان",
+ "Federated" : "همگانی",
+ "Only synchronize to trusted servers" : "هم‌گام سازی تنها با کارسازهای مورد اعتماد",
"Published" : "منتشر شده",
- "Synchronize to trusted servers and the global and public address book" : "با سرورهای قابل اعتماد و دفترچه آدرس عمومی و همگانی همگام سازی شود",
- "Verify" : "تأیید کنید",
- "Verifying …" : "در حال تایید ...",
+ "Synchronize to trusted servers and the global and public address book" : "هم‌گام سازی با کارسازهای مورد اعتماد و دفترچه نشانی‌های عمومی",
+ "Verify" : "تأیید",
+ "Verifying …" : "تأیید کردن…",
"Unable to change password" : "نمی‌توان رمز را تغییر داد",
"Very weak password" : "رمز عبور بسیار ضعیف",
"Weak password" : "رمز عبور ضعیف",
@@ -18,32 +18,32 @@ OC.L10N.register(
"Good password" : "رمز عبور خوب",
"Strong password" : "رمز عبور قوی",
"Groups" : "گروه ها",
- "Group list is empty" : "لیست گروه ها خالی است.",
- "Unable to retrieve the group list" : "بازیابی لیست گروه امکان پذیر نیست",
- "{actor} added you to group {group}" : "{actor} شما را به گروه {group} اضافه کرد",
- "You added {user} to group {group}" : "شما {user} را به گروه {group} اضافه کردید.",
- "{actor} added {user} to group {group}" : "{actor} کاربر {user} را به گروه {group} اضافه کرد",
- "An administrator added you to group {group}" : "یک مدیر شما را به گروه {group} اضافه کرد.",
- "An administrator added {user} to group {group}" : "یک مدیر {user} را به گروه {group} اضافه کرد.",
- "{actor} removed you from group {group}" : "{actor} شما را از گروه {group} حذف کرد",
- "You removed {user} from group {group}" : "شما {user} را از گروه {group} حذف کردید.",
- "{actor} removed {user} from group {group}" : "{actor} کاربر {user} را از گروه {group} حذف کرد",
- "An administrator removed you from group {group}" : "یک مدیر شما را از گروه {group} حذف کرد.",
- "An administrator removed {user} from group {group}" : "یک مدیر {user} را از گروه {group} حذف کرد.",
- "Your <strong>group memberships</strong> were modified" : "عضویت در<strong> گروه شما </strong>تغییر یافت",
- "{actor} changed your password" : "{actor} رمز عبور خود را تغییر داد",
- "You changed your password" : "رمزعبور خود را تغییر دادید",
- "Your password was reset by an administrator" : "رمز عبور شما توسط یه مدیر تنظیم مجدد شد.",
- "Your password was reset" : "رمز عبور شما رمز عبور شما بازنشانی شد",
- "{actor} changed your email address" : "{actor} پست الکترونیک خود را تغییر داد",
- "You changed your email address" : "پست الکترونیک خود را تغییر دادید",
- "Your email address was changed by an administrator" : "پست الکترونیک شما توسط یه مدیر تنظیم مجدد شد.",
- "You created app password \"{token}\"" : "رمز عبور برنامه توسط شما ایجاد شده است \"{token}\"",
- "An administrator created app password \"{token}\"" : "یک مدیر \"{token}\" گذرواژه برنامه را ایجاد کرد",
- "You deleted app password \"{token}\"" : "رمز عبور برنامه توسط شما حذف شده است \"{token}\"",
- "You renamed app password \"{token}\" to \"{newToken}\"" : "شما رمزعبور برنامه را از \"{token}\" به {newToken} تغییر دادید ",
- "You granted filesystem access to app password \"{token}\"" : "دسترسی شما به فایل سیستم به رمز ورود برنامه اعطا گردید \"{token}\"",
- "You revoked filesystem access from app password \"{token}\"" : "دسترسی شما به فایل سیستم از طریق رمز ورود برنامه باطل گردید \"{token}\"",
+ "Group list is empty" : "سیاههٔ گروه‌ها خالیست",
+ "Unable to retrieve the group list" : "ناتوان در گرفتن سیاهٔ گروه‌ها",
+ "{actor} added you to group {group}" : "{actor} به گروه {group} افزودتان",
+ "You added {user} to group {group}" : "{user} را به گروه {group} افزودید",
+ "{actor} added {user} to group {group}" : "{actor} کاربر {user} را به گروه {group} افزود",
+ "An administrator added you to group {group}" : "مدیری به گروه {group} افزودتان",
+ "An administrator added {user} to group {group}" : "مدیری {user} را به گروه {group} افزود",
+ "{actor} removed you from group {group}" : "{actor} از گروه {group} برداشتتان",
+ "You removed {user} from group {group}" : "{user} را از گروه {group} برداشتید",
+ "{actor} removed {user} from group {group}" : "{actor} کاربر {user} را از گروه {group} برداشت",
+ "An administrator removed you from group {group}" : "مدیری از گروه {group} برداشتتان",
+ "An administrator removed {user} from group {group}" : "مدیری {user} را از گروه {group} برداشت",
+ "Your <strong>group memberships</strong> were modified" : "<strong>عضویتتان در گروه</strong> تغییر یافت",
+ "{actor} changed your password" : "{actor} گذرواژه‌تان را تغییر داد",
+ "You changed your password" : "گذرواژه‌تان را تغییر دادید",
+ "Your password was reset by an administrator" : "گذرواژه‌تان به دست مدیری بازنشانی شد",
+ "Your password was reset" : "گذرواژه‌تان بازنشانی شد",
+ "{actor} changed your email address" : "{actor} نشانی رایانامه‌تان را تغییر داد",
+ "You changed your email address" : "نشانی رایانامه‌تان را تغییر دادید",
+ "Your email address was changed by an administrator" : "نشانی رایانامه‌تان به دست مدیری عوض شد",
+ "You created app password \"{token}\"" : "گذرواژهٔ کارهٔ «{token}» را ایجاد کردید",
+ "An administrator created app password \"{token}\"" : "مدیری گذرواژهٔ کارهٔ «{token}» را ایجاد کرد",
+ "You deleted app password \"{token}\"" : "گذرواژهٔ کارهٔ «{token}» را حذف کردید",
+ "You renamed app password \"{token}\" to \"{newToken}\"" : "نام گذرواژهٔ کارهٔ «{token}» را به «{newToken}» تغییر دادید",
+ "You granted filesystem access to app password \"{token}\"" : "دسترسی به سامانه‌پرونده را به گذرواژهٔ کارهٔ «{token}» اعطا کردید",
+ "You revoked filesystem access from app password \"{token}\"" : "دسترسی به سامانه‌پرونده را از گذرواژهٔ کارهٔ «{token}» گرفتید",
"Security" : "امنیت",
"You successfully logged in using two-factor authentication (%1$s)" : "شما با موفقیت با استفاده از تأیید هویت دو عاملی وارد سیستم شدید(%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "تلاش برای ورود به سیستم با استفاده از تأیید هویت دو عاملی انجام نشد (%1$s)",
@@ -63,6 +63,8 @@ OC.L10N.register(
"Federated Cloud Sharing" : "اشتراک گذاری ابر فدرال",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL از نسخه (%2$s) منسوخ شده %1$s استفاده می کند. لطفا سیستم عامل خود را به روز کنید یا ویژگی هایی از قبیل %3$s قابل اعتماد کار نمی کنند.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "نمی توان تعیین کرد که آیا نسخه TLS متعلق به cURL قدیمی است یا خیر. زیرا خطایی در طول درخواست HTTPS به https://nextcloud.com رخ داده است. لطفاً فایل گزارش نکست‌کلود را برای جزئیات بیشتر بررسی کنید.",
+ "Administrator documentation" : "مستندات مدیر",
+ "User documentation" : "مستندات کاربر",
"Invalid SMTP password." : "گذرواژه SMTP نامعتبر است.",
"Email setting test" : "تست تنظیم پست الکترونیک",
"Well done, %s!" : "انجام شد،%s!",
@@ -101,78 +103,86 @@ OC.L10N.register(
"Personal" : "شخصی",
"Administration" : "مدیریت",
"Additional settings" : "تنظیمات اضافی",
- "Groupware" : "گروه های نرم افزاری",
- "Overview" : "بررسی اجمالی",
+ "Administration privileges" : "اجازه‌های مدیریتی",
+ "Groupware" : "کار گروهی",
+ "Overview" : "نمای کلّی",
"Basic settings" : "تنظیمات پایه",
"Sharing" : "اشتراک گذاری",
+ "Availability" : "موجود بودن",
"Calendar" : "تقویم",
- "Personal info" : "مشخصات شخصی",
- "Mobile & desktop" : "موبایل و دسک تاپ",
+ "Personal info" : "اطّلاعات شخصی",
+ "Mobile & desktop" : "همراه و میزکار",
"Email server" : "سرور ایمیل",
"Security & setup warnings" : "اخطارهای نصب و امنیتی",
- "Background jobs" : "کارهای پس زمینه",
- "Create" : "ساختن",
- "Change" : "تغییرات",
+ "Background jobs" : "کارهای پس‌زمینه",
+ "Create" : "ایجاد",
+ "Change" : "تغییر",
"Delete" : "حذف",
- "Reshare" : "دوباره به اشتراک گذاشتن",
+ "Reshare" : "بازهم‌رسانی",
"Unlimited" : "نامحدود",
- "Verifying" : "تایید شدن",
+ "Verifying" : "تآیید کردن",
"Nextcloud settings" : "تنظیمات نکست کلود",
"None" : "هیچ‌کدام",
"Two-Factor Authentication" : "احراز هویت دو عاملی",
"Enforce two-factor authentication" : "احراز هویت دو عاملی",
- "Limit to groups" : "محدود کردن به گروه ها",
- "Enforcement of two-factor authentication can be set for certain groups only." : "اجرای احراز هویت دو عاملی فقط برای گروههای خاص قابل تنظیم است.",
- "Enforced groups" : "گروههای اجباری",
- "Excluded groups" : "گروه های مستثنی",
+ "Limit to groups" : "محدود کردن به گروه‌ها",
+ "Enforcement of two-factor authentication can be set for certain groups only." : "اجبار به احراز هویت دو عاملی فقط می‌تواند برای گروه‌هایی خاص تنظیم شود.",
+ "Enforced groups" : "گروه‌های اجباری",
+ "Excluded groups" : "گروه‌های مستثنی",
"When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "هنگامی که گروه ها انتخاب و حذف شدند ، از این منطق استفاده می کنند تا مشخص شود آیا کاربر 2FA اجباری دارد: اگر هیچ گروه انتخاب نشده باشند ، 2FA برای همه غیر از اعضای گروه های محروم امکان پذیر است. در صورت انتخاب گروه ها ، 2FA برای همه اعضای این گروه فعال است. اگر کاربر هر دو در یک گروه منتخب و مستثنی باشد ، انتخاب شده دارای اولویت است و 2FA اجرا می شود.",
- "Save changes" : "ذخیره تغییرات",
+ "Save changes" : "ذخیرهٔ تغییرات",
"All" : "همه",
- "Limit app usage to groups" : "استفاده از برنامه را به گروهها محدود کنید",
- "No results" : "نتیجه ای یافت نشد",
- "Update to {version}" : "بروزرسانی به {version}",
+ "Limit app usage to groups" : "محدودیت استفاده از کاره به گروه‌ها",
+ "No results" : "بدون نتیجه",
+ "Update to {version}" : "به‌روز رسانی به {version}",
"Remove" : "برداشتن",
"Disable" : "غیرفعال",
"This app has no minimum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداقل دارای نسخه بعدی نکست کلود است. این یک خطا در آینده خواهد بود.",
"This app has no maximum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداکثر نسخه نکست کلود اختصاصی ندارد. این یک خطا در آینده خواهد بود.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "امکان نصب این برنامه وجود ندارد، این پیش‌نیازها انجام نشده‌اند:",
"View in store" : "نمایش در فروشگاه",
- "Visit website" : "مشاهده وب‌سایت",
+ "Visit website" : "سر زدن به پایگاه وب",
"Report a bug" : "گزارش یک خطا",
- "User documentation" : "مستندات کاربر",
"Admin documentation" : "مستندات مدیر",
"Developer documentation" : "مستندات توسعه‌دهندگان",
- "This app is supported via your current Nextcloud subscription." : "این برنامه از طریق اشتراک فعلی نکست کلوذ شما پشتیبانی می شود.",
- "Supported" : "پشتیبانی",
+ "This app is supported via your current Nextcloud subscription." : "این کاره از طریق اشتراک فعلی نکست کلودتان پشتیبانی می شود.",
+ "Supported" : "پشتیبانی شده",
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "برنامه های ویژه توسط و در داخل جامعه توسعه داده می شوند. آنها عملکردهای مرکزی را ارائه می دهند و برای استفاده در تولید آماده هستند.",
- "Featured" : "ویژه",
- "Update to {update}" : "بروزرسانی به {update} ",
- "Results from other categories" : "نتایج از دسته های دیگر",
+ "Featured" : "معرّفی شده",
+ "Update to {update}" : "به‌روز رسانی به {update} ",
+ "All apps are up-to-date." : "تمامی کاره‌ها به‌روزند.",
+ "Results from other categories" : "نتایج از دیگر دسته‌ها",
"No apps found for your version" : "هیچ برنامه‌ای برای نسخه‌ی شما یافت نشد",
- "Disable all" : "غیرفعال کردن همه",
- "Enable all" : "فعال کردن همه",
- "Marked for remote wipe" : "برای پاک کردن از راه دور علامت گذاری شده است",
- "Device settings" : "تنظیمات وسیله",
- "Allow filesystem access" : "دسترسی به سیستم فایل را مجاز کنید",
+ "Disable all" : "از کار انداختن همه",
+ "Enable all" : "به کار انداختن همه",
+ "_%n app has an update available_::_%n apps have an update available_" : ["۱ کاره به‌روز رسانی دارد","%n کاره به‌روز رسانی دارند"],
+ "_Update_::_Update all_" : ["به‌روز رسانی","به‌روز رسانی همه"],
+ "Marked for remote wipe" : "علامت خورده برای زودون دوردست",
+ "Device settings" : "تنظیمات افزاره",
+ "Allow filesystem access" : "اجازهٔ دسترسی به سامانه‌پرونده",
"Rename" : "تغییرنام",
"Revoke" : "لغو",
- "Wipe device" : "وسیله را پاک کنید",
+ "Wipe device" : "زدودن افزاره",
"Internet Explorer" : "اینترنت اکسپلور",
- "Edge" : "مرورگر Edge",
+ "Edge" : "اج",
"Firefox" : "فایرفاکس",
- "Google Chrome" : "گوگل کروم",
+ "Google Chrome" : "کروم گوگل",
"Safari" : "سافاری",
- "Google Chrome for Android" : "گوگل کروم برای اندروید",
- "iPhone" : "آیفون",
- "iPad" : "آیپد",
- "Sync client - {os}" : "همگام سازی مشتری {os}",
- "This session" : "این جلسه",
- "Device" : "وسیله",
+ "Google Chrome for Android" : "کروم گوگل برای اندروید",
+ "iPhone" : "آی‌فون",
+ "iPad" : "آی‌پد",
+ "{productName} iOS app" : "کارهٔ iOS {productName}",
+ "{productName} Android app" : "کارهٔ اندرویدی {productName}",
+ "{productName} Talk for iOS" : "صحبت {productName} برای iOS",
+ "{productName} Talk for Android" : "صحبت {productName} برای اندروید",
+ "Sync client - {os}" : "کارخواه هم‌گام سازی - {os}",
+ "This session" : "این نشست",
+ "Device" : "افزاره",
"Last activity" : "آخرین فعّالیت",
- "Devices & sessions" : "وسایل و جلسه ها",
- "Web, desktop and mobile clients currently logged in to your account." : "مشتریان ، وب ، دسکتاپ و تلفن همراه در حال حاضر به حساب شما وارد شده اند.",
- "Do you really want to wipe your data from this device?" : "آیا واقعاً می خواهید داده های خود را از این وسیله پاک کنید؟",
- "Confirm wipe" : "تائید کردن پاکسازی",
+ "Devices & sessions" : "افزاره‌ها و نشست‌ها",
+ "Web, desktop and mobile clients currently logged in to your account." : "کارخواه‌های وب، میزکار و همراهی که اکنون به حسابتان وارد شده‌اند.",
+ "Do you really want to wipe your data from this device?" : "واقعاً می خواهید داده‌هایتان را از این افزاره بزدایید؟",
+ "Confirm wipe" : "تأیید زودن",
"Error while creating device token" : "هنگام ایجاد نشانه وسیله خطایی رخ داد",
"Error while updating device token scope" : "هنگام بروزرسانی دامنه توکن وسیله خطایی رخ داد",
"Error while updating device token name" : "هنگام بروزرسانی نام کد وسیله خطایی رخ داد",
@@ -186,12 +196,25 @@ OC.L10N.register(
"Password" : "گذرواژه",
"Done" : "انجام شد",
"Show QR code for mobile apps" : "نمایش کد QR برای برنامه های تلفن همراه",
- "Copied!" : "کپی انجام شد!",
- "Copy" : "کپی",
+ "Copied!" : "رونوشت شد!",
+ "Copy" : "رونوشت",
"Could not copy app password. Please copy it manually." : "نمی توان رمزعبور برنامه را کپی کرد. لطفاً آن را به صورت دستی کپی کنید.",
- "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار شما نیاز به پسوند PHP POSIX دارید. دیدن {linkstart} مستندات PHP {linkend} برای اطلاعات بیشتر .",
- "Profile" : "مشخصات",
+ "Last job execution ran {time}. Something seems wrong." : "آخرین کار در {time} اجرا شد. به نظر چیزی اشتباه است.",
+ "Last job ran {relativeTime}." : "آخرین کار در {time} اجرا شد.",
+ "Background job did not run yet!" : "هنوز کار پس‌زمینه‌ای اجار نشده!",
+ "AJAX" : "ای‌جکس",
+ "Execute one task with each page loaded. Use case: Single user instance." : "اجرای یک وظیفه با هر بار شدن صفحه. مناسب نمونه‌های تک کاربره.",
+ "Webcron" : "وب‌کرون",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "پروندهٔ cron.php ثبت شده در یک خدمت webcron برای فراخوانی هر ۵ دقیقه یک بار روی HTTP. مناسب بار ینمونه‌های بسیار کوچک ( تا ۵ کاربر بسته به استفاده).",
+ "Cron (Recommended)" : "کرون (پیشنهادی)",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار نیاز به افزونهٔ PHP POSIX دارید. برای جزییات بیش‌تر، {linkstart}مستندات پی‌اچ‌پی{linkend} را ببینید.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "استفاده از خدمت کرون سامانه برای فراخوانی cron.php هر ۵ دقیقه یک بار. مناسب تمامی نمونه‌ها.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "پروندهٔ cron.php باید به دست کاربر سامانه‌ای {user} قابل اجرا باشد.",
+ "Unable to update background job mode" : "ناتوان در به‌روز رسانی حالت کار پس‌زمینه",
+ "Profile" : "نمایه",
+ "Enable or disable profile by default for new users." : "به یا از کار انداختن نمایه برای کاربران جدید به صورت پیش‌گزیده.",
"Enable" : "فعال",
+ "Unable to update profile default setting" : "ناتوان در به‌روز رسانی تنظیمات پیش‌گزیدهٔ نمایه",
"Server-side encryption" : "رمزگذاری سمت سرور",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "\"رمزگذاری سمت سرور\" امکان رمزگذاری پرونده های آپلود شده در این سرور را امکان پذیر می کند. که با محدودیت هایی مانند مجازات عملکرد همراه است ، بنابراین در صورت لزوم فعال کنید.",
"Enable server-side encryption" : "فعال‌سازی رمزگذاری سمت-سرور",
@@ -202,17 +225,21 @@ OC.L10N.register(
"This is the final warning: Do you really want to enable encryption?" : "این آخرین اخطار است: آیا می‌خواهید رمزگذاری را فعال کنید ؟",
"No encryption module loaded, please enable an encryption module in the app menu." : "هیچ ماژول رمزگذاری‌ای بارگذاری نشده است، لطفا ماژول رمز‌گذاری را در منو برنامه فعال کنید.",
"Select default encryption module:" : "انتخاب ماژول پیش‌فرض رمزگذاری:",
- "Remove group" : "حذف گروه",
- "You are about to remove the group {group}. The users will NOT be deleted." : "شما در حال حذف گروه {group} هستید. کاربران حذف نخواهند شد.",
- "Please confirm the group removal " : "لطفاً حذف گروه را تأیید کنید",
+ "Remove group" : "برداشتن گروه",
+ "You are about to remove the group {group}. The users will NOT be deleted." : "در حال برداشتن گروه {group} هستید. کاربران حذف نخواهند شد.",
+ "Please confirm the group removal " : "لطفاً برداشتن گروه را تأیید کنید",
"Current password" : "گذرواژه کنونی",
"New password" : "گذرواژه جدید",
"Change password" : "تغییر گذر واژه",
- "png or jpg, max. 20 MB" : "png یا jpg, حداکثر. 20 MB",
- "Picture provided by original account" : "تصویر ارائه شده توسط حساب اصلی",
+ "Your profile picture" : "نگارهٔ نمایه‌تان",
+ "Upload profile picture" : "بارگذاری نگارهٔ نمایه",
+ "Choose profile picture from files" : "گزینش نگارهٔ نمایه از پرونده‌ها",
+ "Remove profile picture" : "برداشتن نگارهٔ نمایه",
+ "png or jpg, max. 20 MB" : "png یا jpg. بیشینه ۲۰ م‌ب",
+ "Picture provided by original account" : "نگاره فراهم شده به دست حساب اصلی",
"Cancel" : "منصرف شدن",
- "Details" : "جزئیات",
- "You are a member of the following groups:" : "شما عضو گروههای زیر هستید:",
+ "Details" : "جزییات",
+ "You are a member of the following groups:" : "عضوی از گروه‌های زیر هستید:",
"Your email address" : "پست الکترونیکی شما",
"No email address set" : "آدرس‌ایمیلی تنظیم نشده است",
"Language" : "زبان",
@@ -256,10 +283,6 @@ OC.L10N.register(
"Common languages" : "زبانهای رایج",
"Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است",
"Your apps" : "برنامه های شما",
- "Active apps" : "برنامه های فعال",
- "Disabled apps" : "برنامه های غیرفعال شده است",
- "Updates" : "به روز رسانی ها",
- "App bundles" : "بسته های برنامه",
"{license}-licensed" : "دارای مجوز- {license}",
"Changelog" : "تغییر",
"Add group" : "افزودن گروه",
@@ -281,17 +304,21 @@ OC.L10N.register(
"About" : "درباره",
"Full name" : "نام کامل",
"Headline" : "عنوان",
+ "Organisation" : "سازمان",
"Phone number" : "شماره تلفن",
"Role" : "نقش",
"Twitter" : "توییتر",
"Website" : "وب‌ سایت",
+ "Active apps" : "برنامه های فعال",
+ "Disabled apps" : "برنامه های غیرفعال شده است",
+ "Updates" : "به روز رسانی ها",
+ "App bundles" : "بسته های برنامه",
"Hide" : "پنهان کردن",
"Download and enable" : "بارگیری و فعال سازی",
"Enable untested app" : "برنامه آزمایش نشده را فعال کنید",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "این برنامه مطابق با نسخه نکست کلود شما مشخص نشده است. اگر ادامه بدهید همچنان می توانید برنامه را نصب کنید. توجه داشته باشید که برنامه ممکن است مطابق آنچه انتظار می رود کار نکند.",
"Never" : "هرگز",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "برنامه فعال شده است اما باید به روز شود. شما پس از 5 ثانیه به صفحه بروزرسانی هدایت می شوید.",
- "Administrator documentation" : "مستندات مدیر",
"Documentation" : "مستندسازی",
"Forum" : "انجمن",
"Login" : "ورود",
diff --git a/apps/settings/l10n/fa.json b/apps/settings/l10n/fa.json
index 884cfa85442..b1baa29dbca 100644
--- a/apps/settings/l10n/fa.json
+++ b/apps/settings/l10n/fa.json
@@ -1,14 +1,14 @@
{ "translations": {
"Private" : "خصوصی",
- "Only visible to people matched via phone number integration through Talk on mobile" : "فقط برای کاربرانی فعال است که از طریق یکپارچه سازی شماره تلفن در برنامه Talk روی تلفن همراه مطابقت داشته باشند",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "نمایان تنها برای افرادی که با یکپارچگی شماره تلفن از طریق Talk روی تلفن همراه مطابقند",
"Local" : "محلی",
- "Only visible to people on this instance and guests" : "فقط برای کاربران این نسخه و مهمانان قابل مشاهده است",
- "Federated" : "فدرال",
- "Only synchronize to trusted servers" : "فقط با سرورهای قابل اعتماد همگام سازی شود",
+ "Only visible to people on this instance and guests" : "نمایان تنها برای افراد روی این نمونه و میهانان",
+ "Federated" : "همگانی",
+ "Only synchronize to trusted servers" : "هم‌گام سازی تنها با کارسازهای مورد اعتماد",
"Published" : "منتشر شده",
- "Synchronize to trusted servers and the global and public address book" : "با سرورهای قابل اعتماد و دفترچه آدرس عمومی و همگانی همگام سازی شود",
- "Verify" : "تأیید کنید",
- "Verifying …" : "در حال تایید ...",
+ "Synchronize to trusted servers and the global and public address book" : "هم‌گام سازی با کارسازهای مورد اعتماد و دفترچه نشانی‌های عمومی",
+ "Verify" : "تأیید",
+ "Verifying …" : "تأیید کردن…",
"Unable to change password" : "نمی‌توان رمز را تغییر داد",
"Very weak password" : "رمز عبور بسیار ضعیف",
"Weak password" : "رمز عبور ضعیف",
@@ -16,32 +16,32 @@
"Good password" : "رمز عبور خوب",
"Strong password" : "رمز عبور قوی",
"Groups" : "گروه ها",
- "Group list is empty" : "لیست گروه ها خالی است.",
- "Unable to retrieve the group list" : "بازیابی لیست گروه امکان پذیر نیست",
- "{actor} added you to group {group}" : "{actor} شما را به گروه {group} اضافه کرد",
- "You added {user} to group {group}" : "شما {user} را به گروه {group} اضافه کردید.",
- "{actor} added {user} to group {group}" : "{actor} کاربر {user} را به گروه {group} اضافه کرد",
- "An administrator added you to group {group}" : "یک مدیر شما را به گروه {group} اضافه کرد.",
- "An administrator added {user} to group {group}" : "یک مدیر {user} را به گروه {group} اضافه کرد.",
- "{actor} removed you from group {group}" : "{actor} شما را از گروه {group} حذف کرد",
- "You removed {user} from group {group}" : "شما {user} را از گروه {group} حذف کردید.",
- "{actor} removed {user} from group {group}" : "{actor} کاربر {user} را از گروه {group} حذف کرد",
- "An administrator removed you from group {group}" : "یک مدیر شما را از گروه {group} حذف کرد.",
- "An administrator removed {user} from group {group}" : "یک مدیر {user} را از گروه {group} حذف کرد.",
- "Your <strong>group memberships</strong> were modified" : "عضویت در<strong> گروه شما </strong>تغییر یافت",
- "{actor} changed your password" : "{actor} رمز عبور خود را تغییر داد",
- "You changed your password" : "رمزعبور خود را تغییر دادید",
- "Your password was reset by an administrator" : "رمز عبور شما توسط یه مدیر تنظیم مجدد شد.",
- "Your password was reset" : "رمز عبور شما رمز عبور شما بازنشانی شد",
- "{actor} changed your email address" : "{actor} پست الکترونیک خود را تغییر داد",
- "You changed your email address" : "پست الکترونیک خود را تغییر دادید",
- "Your email address was changed by an administrator" : "پست الکترونیک شما توسط یه مدیر تنظیم مجدد شد.",
- "You created app password \"{token}\"" : "رمز عبور برنامه توسط شما ایجاد شده است \"{token}\"",
- "An administrator created app password \"{token}\"" : "یک مدیر \"{token}\" گذرواژه برنامه را ایجاد کرد",
- "You deleted app password \"{token}\"" : "رمز عبور برنامه توسط شما حذف شده است \"{token}\"",
- "You renamed app password \"{token}\" to \"{newToken}\"" : "شما رمزعبور برنامه را از \"{token}\" به {newToken} تغییر دادید ",
- "You granted filesystem access to app password \"{token}\"" : "دسترسی شما به فایل سیستم به رمز ورود برنامه اعطا گردید \"{token}\"",
- "You revoked filesystem access from app password \"{token}\"" : "دسترسی شما به فایل سیستم از طریق رمز ورود برنامه باطل گردید \"{token}\"",
+ "Group list is empty" : "سیاههٔ گروه‌ها خالیست",
+ "Unable to retrieve the group list" : "ناتوان در گرفتن سیاهٔ گروه‌ها",
+ "{actor} added you to group {group}" : "{actor} به گروه {group} افزودتان",
+ "You added {user} to group {group}" : "{user} را به گروه {group} افزودید",
+ "{actor} added {user} to group {group}" : "{actor} کاربر {user} را به گروه {group} افزود",
+ "An administrator added you to group {group}" : "مدیری به گروه {group} افزودتان",
+ "An administrator added {user} to group {group}" : "مدیری {user} را به گروه {group} افزود",
+ "{actor} removed you from group {group}" : "{actor} از گروه {group} برداشتتان",
+ "You removed {user} from group {group}" : "{user} را از گروه {group} برداشتید",
+ "{actor} removed {user} from group {group}" : "{actor} کاربر {user} را از گروه {group} برداشت",
+ "An administrator removed you from group {group}" : "مدیری از گروه {group} برداشتتان",
+ "An administrator removed {user} from group {group}" : "مدیری {user} را از گروه {group} برداشت",
+ "Your <strong>group memberships</strong> were modified" : "<strong>عضویتتان در گروه</strong> تغییر یافت",
+ "{actor} changed your password" : "{actor} گذرواژه‌تان را تغییر داد",
+ "You changed your password" : "گذرواژه‌تان را تغییر دادید",
+ "Your password was reset by an administrator" : "گذرواژه‌تان به دست مدیری بازنشانی شد",
+ "Your password was reset" : "گذرواژه‌تان بازنشانی شد",
+ "{actor} changed your email address" : "{actor} نشانی رایانامه‌تان را تغییر داد",
+ "You changed your email address" : "نشانی رایانامه‌تان را تغییر دادید",
+ "Your email address was changed by an administrator" : "نشانی رایانامه‌تان به دست مدیری عوض شد",
+ "You created app password \"{token}\"" : "گذرواژهٔ کارهٔ «{token}» را ایجاد کردید",
+ "An administrator created app password \"{token}\"" : "مدیری گذرواژهٔ کارهٔ «{token}» را ایجاد کرد",
+ "You deleted app password \"{token}\"" : "گذرواژهٔ کارهٔ «{token}» را حذف کردید",
+ "You renamed app password \"{token}\" to \"{newToken}\"" : "نام گذرواژهٔ کارهٔ «{token}» را به «{newToken}» تغییر دادید",
+ "You granted filesystem access to app password \"{token}\"" : "دسترسی به سامانه‌پرونده را به گذرواژهٔ کارهٔ «{token}» اعطا کردید",
+ "You revoked filesystem access from app password \"{token}\"" : "دسترسی به سامانه‌پرونده را از گذرواژهٔ کارهٔ «{token}» گرفتید",
"Security" : "امنیت",
"You successfully logged in using two-factor authentication (%1$s)" : "شما با موفقیت با استفاده از تأیید هویت دو عاملی وارد سیستم شدید(%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "تلاش برای ورود به سیستم با استفاده از تأیید هویت دو عاملی انجام نشد (%1$s)",
@@ -61,6 +61,8 @@
"Federated Cloud Sharing" : "اشتراک گذاری ابر فدرال",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL از نسخه (%2$s) منسوخ شده %1$s استفاده می کند. لطفا سیستم عامل خود را به روز کنید یا ویژگی هایی از قبیل %3$s قابل اعتماد کار نمی کنند.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "نمی توان تعیین کرد که آیا نسخه TLS متعلق به cURL قدیمی است یا خیر. زیرا خطایی در طول درخواست HTTPS به https://nextcloud.com رخ داده است. لطفاً فایل گزارش نکست‌کلود را برای جزئیات بیشتر بررسی کنید.",
+ "Administrator documentation" : "مستندات مدیر",
+ "User documentation" : "مستندات کاربر",
"Invalid SMTP password." : "گذرواژه SMTP نامعتبر است.",
"Email setting test" : "تست تنظیم پست الکترونیک",
"Well done, %s!" : "انجام شد،%s!",
@@ -99,78 +101,86 @@
"Personal" : "شخصی",
"Administration" : "مدیریت",
"Additional settings" : "تنظیمات اضافی",
- "Groupware" : "گروه های نرم افزاری",
- "Overview" : "بررسی اجمالی",
+ "Administration privileges" : "اجازه‌های مدیریتی",
+ "Groupware" : "کار گروهی",
+ "Overview" : "نمای کلّی",
"Basic settings" : "تنظیمات پایه",
"Sharing" : "اشتراک گذاری",
+ "Availability" : "موجود بودن",
"Calendar" : "تقویم",
- "Personal info" : "مشخصات شخصی",
- "Mobile & desktop" : "موبایل و دسک تاپ",
+ "Personal info" : "اطّلاعات شخصی",
+ "Mobile & desktop" : "همراه و میزکار",
"Email server" : "سرور ایمیل",
"Security & setup warnings" : "اخطارهای نصب و امنیتی",
- "Background jobs" : "کارهای پس زمینه",
- "Create" : "ساختن",
- "Change" : "تغییرات",
+ "Background jobs" : "کارهای پس‌زمینه",
+ "Create" : "ایجاد",
+ "Change" : "تغییر",
"Delete" : "حذف",
- "Reshare" : "دوباره به اشتراک گذاشتن",
+ "Reshare" : "بازهم‌رسانی",
"Unlimited" : "نامحدود",
- "Verifying" : "تایید شدن",
+ "Verifying" : "تآیید کردن",
"Nextcloud settings" : "تنظیمات نکست کلود",
"None" : "هیچ‌کدام",
"Two-Factor Authentication" : "احراز هویت دو عاملی",
"Enforce two-factor authentication" : "احراز هویت دو عاملی",
- "Limit to groups" : "محدود کردن به گروه ها",
- "Enforcement of two-factor authentication can be set for certain groups only." : "اجرای احراز هویت دو عاملی فقط برای گروههای خاص قابل تنظیم است.",
- "Enforced groups" : "گروههای اجباری",
- "Excluded groups" : "گروه های مستثنی",
+ "Limit to groups" : "محدود کردن به گروه‌ها",
+ "Enforcement of two-factor authentication can be set for certain groups only." : "اجبار به احراز هویت دو عاملی فقط می‌تواند برای گروه‌هایی خاص تنظیم شود.",
+ "Enforced groups" : "گروه‌های اجباری",
+ "Excluded groups" : "گروه‌های مستثنی",
"When groups are selected/excluded, they use the following logic to determine if a user has 2FA enforced: If no groups are selected, 2FA is enabled for everyone except members of the excluded groups. If groups are selected, 2FA is enabled for all members of these. If a user is both in a selected and excluded group, the selected takes precedence and 2FA is enforced." : "هنگامی که گروه ها انتخاب و حذف شدند ، از این منطق استفاده می کنند تا مشخص شود آیا کاربر 2FA اجباری دارد: اگر هیچ گروه انتخاب نشده باشند ، 2FA برای همه غیر از اعضای گروه های محروم امکان پذیر است. در صورت انتخاب گروه ها ، 2FA برای همه اعضای این گروه فعال است. اگر کاربر هر دو در یک گروه منتخب و مستثنی باشد ، انتخاب شده دارای اولویت است و 2FA اجرا می شود.",
- "Save changes" : "ذخیره تغییرات",
+ "Save changes" : "ذخیرهٔ تغییرات",
"All" : "همه",
- "Limit app usage to groups" : "استفاده از برنامه را به گروهها محدود کنید",
- "No results" : "نتیجه ای یافت نشد",
- "Update to {version}" : "بروزرسانی به {version}",
+ "Limit app usage to groups" : "محدودیت استفاده از کاره به گروه‌ها",
+ "No results" : "بدون نتیجه",
+ "Update to {version}" : "به‌روز رسانی به {version}",
"Remove" : "برداشتن",
"Disable" : "غیرفعال",
"This app has no minimum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداقل دارای نسخه بعدی نکست کلود است. این یک خطا در آینده خواهد بود.",
"This app has no maximum Nextcloud version assigned. This will be an error in the future." : "این برنامه حداکثر نسخه نکست کلود اختصاصی ندارد. این یک خطا در آینده خواهد بود.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "امکان نصب این برنامه وجود ندارد، این پیش‌نیازها انجام نشده‌اند:",
"View in store" : "نمایش در فروشگاه",
- "Visit website" : "مشاهده وب‌سایت",
+ "Visit website" : "سر زدن به پایگاه وب",
"Report a bug" : "گزارش یک خطا",
- "User documentation" : "مستندات کاربر",
"Admin documentation" : "مستندات مدیر",
"Developer documentation" : "مستندات توسعه‌دهندگان",
- "This app is supported via your current Nextcloud subscription." : "این برنامه از طریق اشتراک فعلی نکست کلوذ شما پشتیبانی می شود.",
- "Supported" : "پشتیبانی",
+ "This app is supported via your current Nextcloud subscription." : "این کاره از طریق اشتراک فعلی نکست کلودتان پشتیبانی می شود.",
+ "Supported" : "پشتیبانی شده",
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "برنامه های ویژه توسط و در داخل جامعه توسعه داده می شوند. آنها عملکردهای مرکزی را ارائه می دهند و برای استفاده در تولید آماده هستند.",
- "Featured" : "ویژه",
- "Update to {update}" : "بروزرسانی به {update} ",
- "Results from other categories" : "نتایج از دسته های دیگر",
+ "Featured" : "معرّفی شده",
+ "Update to {update}" : "به‌روز رسانی به {update} ",
+ "All apps are up-to-date." : "تمامی کاره‌ها به‌روزند.",
+ "Results from other categories" : "نتایج از دیگر دسته‌ها",
"No apps found for your version" : "هیچ برنامه‌ای برای نسخه‌ی شما یافت نشد",
- "Disable all" : "غیرفعال کردن همه",
- "Enable all" : "فعال کردن همه",
- "Marked for remote wipe" : "برای پاک کردن از راه دور علامت گذاری شده است",
- "Device settings" : "تنظیمات وسیله",
- "Allow filesystem access" : "دسترسی به سیستم فایل را مجاز کنید",
+ "Disable all" : "از کار انداختن همه",
+ "Enable all" : "به کار انداختن همه",
+ "_%n app has an update available_::_%n apps have an update available_" : ["۱ کاره به‌روز رسانی دارد","%n کاره به‌روز رسانی دارند"],
+ "_Update_::_Update all_" : ["به‌روز رسانی","به‌روز رسانی همه"],
+ "Marked for remote wipe" : "علامت خورده برای زودون دوردست",
+ "Device settings" : "تنظیمات افزاره",
+ "Allow filesystem access" : "اجازهٔ دسترسی به سامانه‌پرونده",
"Rename" : "تغییرنام",
"Revoke" : "لغو",
- "Wipe device" : "وسیله را پاک کنید",
+ "Wipe device" : "زدودن افزاره",
"Internet Explorer" : "اینترنت اکسپلور",
- "Edge" : "مرورگر Edge",
+ "Edge" : "اج",
"Firefox" : "فایرفاکس",
- "Google Chrome" : "گوگل کروم",
+ "Google Chrome" : "کروم گوگل",
"Safari" : "سافاری",
- "Google Chrome for Android" : "گوگل کروم برای اندروید",
- "iPhone" : "آیفون",
- "iPad" : "آیپد",
- "Sync client - {os}" : "همگام سازی مشتری {os}",
- "This session" : "این جلسه",
- "Device" : "وسیله",
+ "Google Chrome for Android" : "کروم گوگل برای اندروید",
+ "iPhone" : "آی‌فون",
+ "iPad" : "آی‌پد",
+ "{productName} iOS app" : "کارهٔ iOS {productName}",
+ "{productName} Android app" : "کارهٔ اندرویدی {productName}",
+ "{productName} Talk for iOS" : "صحبت {productName} برای iOS",
+ "{productName} Talk for Android" : "صحبت {productName} برای اندروید",
+ "Sync client - {os}" : "کارخواه هم‌گام سازی - {os}",
+ "This session" : "این نشست",
+ "Device" : "افزاره",
"Last activity" : "آخرین فعّالیت",
- "Devices & sessions" : "وسایل و جلسه ها",
- "Web, desktop and mobile clients currently logged in to your account." : "مشتریان ، وب ، دسکتاپ و تلفن همراه در حال حاضر به حساب شما وارد شده اند.",
- "Do you really want to wipe your data from this device?" : "آیا واقعاً می خواهید داده های خود را از این وسیله پاک کنید؟",
- "Confirm wipe" : "تائید کردن پاکسازی",
+ "Devices & sessions" : "افزاره‌ها و نشست‌ها",
+ "Web, desktop and mobile clients currently logged in to your account." : "کارخواه‌های وب، میزکار و همراهی که اکنون به حسابتان وارد شده‌اند.",
+ "Do you really want to wipe your data from this device?" : "واقعاً می خواهید داده‌هایتان را از این افزاره بزدایید؟",
+ "Confirm wipe" : "تأیید زودن",
"Error while creating device token" : "هنگام ایجاد نشانه وسیله خطایی رخ داد",
"Error while updating device token scope" : "هنگام بروزرسانی دامنه توکن وسیله خطایی رخ داد",
"Error while updating device token name" : "هنگام بروزرسانی نام کد وسیله خطایی رخ داد",
@@ -184,12 +194,25 @@
"Password" : "گذرواژه",
"Done" : "انجام شد",
"Show QR code for mobile apps" : "نمایش کد QR برای برنامه های تلفن همراه",
- "Copied!" : "کپی انجام شد!",
- "Copy" : "کپی",
+ "Copied!" : "رونوشت شد!",
+ "Copy" : "رونوشت",
"Could not copy app password. Please copy it manually." : "نمی توان رمزعبور برنامه را کپی کرد. لطفاً آن را به صورت دستی کپی کنید.",
- "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار شما نیاز به پسوند PHP POSIX دارید. دیدن {linkstart} مستندات PHP {linkend} برای اطلاعات بیشتر .",
- "Profile" : "مشخصات",
+ "Last job execution ran {time}. Something seems wrong." : "آخرین کار در {time} اجرا شد. به نظر چیزی اشتباه است.",
+ "Last job ran {relativeTime}." : "آخرین کار در {time} اجرا شد.",
+ "Background job did not run yet!" : "هنوز کار پس‌زمینه‌ای اجار نشده!",
+ "AJAX" : "ای‌جکس",
+ "Execute one task with each page loaded. Use case: Single user instance." : "اجرای یک وظیفه با هر بار شدن صفحه. مناسب نمونه‌های تک کاربره.",
+ "Webcron" : "وب‌کرون",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "پروندهٔ cron.php ثبت شده در یک خدمت webcron برای فراخوانی هر ۵ دقیقه یک بار روی HTTP. مناسب بار ینمونه‌های بسیار کوچک ( تا ۵ کاربر بسته به استفاده).",
+ "Cron (Recommended)" : "کرون (پیشنهادی)",
+ "To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "برای اجرای این کار نیاز به افزونهٔ PHP POSIX دارید. برای جزییات بیش‌تر، {linkstart}مستندات پی‌اچ‌پی{linkend} را ببینید.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "استفاده از خدمت کرون سامانه برای فراخوانی cron.php هر ۵ دقیقه یک بار. مناسب تمامی نمونه‌ها.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "پروندهٔ cron.php باید به دست کاربر سامانه‌ای {user} قابل اجرا باشد.",
+ "Unable to update background job mode" : "ناتوان در به‌روز رسانی حالت کار پس‌زمینه",
+ "Profile" : "نمایه",
+ "Enable or disable profile by default for new users." : "به یا از کار انداختن نمایه برای کاربران جدید به صورت پیش‌گزیده.",
"Enable" : "فعال",
+ "Unable to update profile default setting" : "ناتوان در به‌روز رسانی تنظیمات پیش‌گزیدهٔ نمایه",
"Server-side encryption" : "رمزگذاری سمت سرور",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "\"رمزگذاری سمت سرور\" امکان رمزگذاری پرونده های آپلود شده در این سرور را امکان پذیر می کند. که با محدودیت هایی مانند مجازات عملکرد همراه است ، بنابراین در صورت لزوم فعال کنید.",
"Enable server-side encryption" : "فعال‌سازی رمزگذاری سمت-سرور",
@@ -200,17 +223,21 @@
"This is the final warning: Do you really want to enable encryption?" : "این آخرین اخطار است: آیا می‌خواهید رمزگذاری را فعال کنید ؟",
"No encryption module loaded, please enable an encryption module in the app menu." : "هیچ ماژول رمزگذاری‌ای بارگذاری نشده است، لطفا ماژول رمز‌گذاری را در منو برنامه فعال کنید.",
"Select default encryption module:" : "انتخاب ماژول پیش‌فرض رمزگذاری:",
- "Remove group" : "حذف گروه",
- "You are about to remove the group {group}. The users will NOT be deleted." : "شما در حال حذف گروه {group} هستید. کاربران حذف نخواهند شد.",
- "Please confirm the group removal " : "لطفاً حذف گروه را تأیید کنید",
+ "Remove group" : "برداشتن گروه",
+ "You are about to remove the group {group}. The users will NOT be deleted." : "در حال برداشتن گروه {group} هستید. کاربران حذف نخواهند شد.",
+ "Please confirm the group removal " : "لطفاً برداشتن گروه را تأیید کنید",
"Current password" : "گذرواژه کنونی",
"New password" : "گذرواژه جدید",
"Change password" : "تغییر گذر واژه",
- "png or jpg, max. 20 MB" : "png یا jpg, حداکثر. 20 MB",
- "Picture provided by original account" : "تصویر ارائه شده توسط حساب اصلی",
+ "Your profile picture" : "نگارهٔ نمایه‌تان",
+ "Upload profile picture" : "بارگذاری نگارهٔ نمایه",
+ "Choose profile picture from files" : "گزینش نگارهٔ نمایه از پرونده‌ها",
+ "Remove profile picture" : "برداشتن نگارهٔ نمایه",
+ "png or jpg, max. 20 MB" : "png یا jpg. بیشینه ۲۰ م‌ب",
+ "Picture provided by original account" : "نگاره فراهم شده به دست حساب اصلی",
"Cancel" : "منصرف شدن",
- "Details" : "جزئیات",
- "You are a member of the following groups:" : "شما عضو گروههای زیر هستید:",
+ "Details" : "جزییات",
+ "You are a member of the following groups:" : "عضوی از گروه‌های زیر هستید:",
"Your email address" : "پست الکترونیکی شما",
"No email address set" : "آدرس‌ایمیلی تنظیم نشده است",
"Language" : "زبان",
@@ -254,10 +281,6 @@
"Common languages" : "زبانهای رایج",
"Password change is disabled because the master key is disabled" : "تغییر رمز غیرفعال شده است زیرا کلید اصلی غیرفعال شده است",
"Your apps" : "برنامه های شما",
- "Active apps" : "برنامه های فعال",
- "Disabled apps" : "برنامه های غیرفعال شده است",
- "Updates" : "به روز رسانی ها",
- "App bundles" : "بسته های برنامه",
"{license}-licensed" : "دارای مجوز- {license}",
"Changelog" : "تغییر",
"Add group" : "افزودن گروه",
@@ -279,17 +302,21 @@
"About" : "درباره",
"Full name" : "نام کامل",
"Headline" : "عنوان",
+ "Organisation" : "سازمان",
"Phone number" : "شماره تلفن",
"Role" : "نقش",
"Twitter" : "توییتر",
"Website" : "وب‌ سایت",
+ "Active apps" : "برنامه های فعال",
+ "Disabled apps" : "برنامه های غیرفعال شده است",
+ "Updates" : "به روز رسانی ها",
+ "App bundles" : "بسته های برنامه",
"Hide" : "پنهان کردن",
"Download and enable" : "بارگیری و فعال سازی",
"Enable untested app" : "برنامه آزمایش نشده را فعال کنید",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "این برنامه مطابق با نسخه نکست کلود شما مشخص نشده است. اگر ادامه بدهید همچنان می توانید برنامه را نصب کنید. توجه داشته باشید که برنامه ممکن است مطابق آنچه انتظار می رود کار نکند.",
"Never" : "هرگز",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "برنامه فعال شده است اما باید به روز شود. شما پس از 5 ثانیه به صفحه بروزرسانی هدایت می شوید.",
- "Administrator documentation" : "مستندات مدیر",
"Documentation" : "مستندسازی",
"Forum" : "انجمن",
"Login" : "ورود",
diff --git a/apps/settings/l10n/fi.js b/apps/settings/l10n/fi.js
index 0eacc11583e..73bc618e91b 100644
--- a/apps/settings/l10n/fi.js
+++ b/apps/settings/l10n/fi.js
@@ -60,6 +60,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "Väärä ylläpitäjän salasana. Tarkista salasana ja yritä uudelleen.",
"Federated Cloud Sharing" : "Federoitu pilvijakaminen",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL käyttää vanhentunutta %1$s versiota (%2$s). Päivitä käyttöjärjestelmäsi tai toiminnot, kuten %3$s, eivät toimi luotettavasti.",
+ "Administrator documentation" : "Ylläpidon dokumentaatio",
+ "User documentation" : "Käyttäjädokumentaatio",
"Invalid SMTP password." : "Virheellinen SMTP-salasana.",
"Email setting test" : "Sähköpostiasetusten testaus",
"Well done, %s!" : "Hyvin tehty, %s!",
@@ -147,7 +149,6 @@ OC.L10N.register(
"View in store" : "Näytä kaupassa",
"Visit website" : "Käy verkkosivustolla",
"Report a bug" : "Ilmoita viasta",
- "User documentation" : "Käyttäjädokumentaatio",
"Admin documentation" : "Ylläpitäjän ohjeistus",
"Developer documentation" : "Kehittäjädokumentaatio",
"This app is supported via your current Nextcloud subscription." : "Tämä sovellus on tuettu nykyisen Nextcloud-tilauksesi kautta.",
@@ -328,11 +329,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Seuraavat laitteet on määritetty tilillesi:",
"Your browser does not support WebAuthn." : "Selaimesi ei tue WebAuthn-standardia.",
"Your apps" : "Sovelluksesi",
- "Active apps" : "Aktiiviset sovellukset",
- "Disabled apps" : "Käytöstä poistetut sovellukset",
- "Updates" : "Päivitykset",
- "App bundles" : "Sovelluskokoelmat",
- "Featured apps" : "Esitellyt sovellukset",
"{license}-licensed" : "{license}-lisensoitu",
"Changelog" : "Muutosloki",
"by {author}\n{license}" : "tekijä {author}\n{license}",
@@ -362,6 +358,11 @@ OC.L10N.register(
"Twitter" : "Twitter",
"Website" : "Verkkosivusto",
"Profile visibility" : "Profiilin näkyvyys",
+ "Active apps" : "Aktiiviset sovellukset",
+ "Disabled apps" : "Käytöstä poistetut sovellukset",
+ "Updates" : "Päivitykset",
+ "App bundles" : "Sovelluskokoelmat",
+ "Featured apps" : "Esitellyt sovellukset",
"Show to everyone" : "Näytä kaikille",
"Show to logged in users only" : "Näytä vain sisäänkirjautuneille käyttäjille",
"Hide" : "Piilota",
@@ -373,7 +374,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Pyynnön aikana tapahtui virhe. Jatkaminen ei onnistu.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Sovellus on käytössä, mutta se tulee päivittää. Sinut ohjataan sovelluksen päivityssivulle viiden sekunnin kuluttua.",
"Error: This app cannot be enabled because it makes the server unstable" : "Virhe: Sovellusta ei voida ottaa käyttöön, koska se aiheuttaa palvelimen epävakauden",
- "Administrator documentation" : "Ylläpidon dokumentaatio",
"Documentation" : "Dokumentaatio",
"Forum" : "Keskustelupalsta",
"Login" : "Kirjaudu",
diff --git a/apps/settings/l10n/fi.json b/apps/settings/l10n/fi.json
index 417c55fb656..d2a6c34581b 100644
--- a/apps/settings/l10n/fi.json
+++ b/apps/settings/l10n/fi.json
@@ -58,6 +58,8 @@
"Wrong admin recovery password. Please check the password and try again." : "Väärä ylläpitäjän salasana. Tarkista salasana ja yritä uudelleen.",
"Federated Cloud Sharing" : "Federoitu pilvijakaminen",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL käyttää vanhentunutta %1$s versiota (%2$s). Päivitä käyttöjärjestelmäsi tai toiminnot, kuten %3$s, eivät toimi luotettavasti.",
+ "Administrator documentation" : "Ylläpidon dokumentaatio",
+ "User documentation" : "Käyttäjädokumentaatio",
"Invalid SMTP password." : "Virheellinen SMTP-salasana.",
"Email setting test" : "Sähköpostiasetusten testaus",
"Well done, %s!" : "Hyvin tehty, %s!",
@@ -145,7 +147,6 @@
"View in store" : "Näytä kaupassa",
"Visit website" : "Käy verkkosivustolla",
"Report a bug" : "Ilmoita viasta",
- "User documentation" : "Käyttäjädokumentaatio",
"Admin documentation" : "Ylläpitäjän ohjeistus",
"Developer documentation" : "Kehittäjädokumentaatio",
"This app is supported via your current Nextcloud subscription." : "Tämä sovellus on tuettu nykyisen Nextcloud-tilauksesi kautta.",
@@ -326,11 +327,6 @@
"The following devices are configured for your account:" : "Seuraavat laitteet on määritetty tilillesi:",
"Your browser does not support WebAuthn." : "Selaimesi ei tue WebAuthn-standardia.",
"Your apps" : "Sovelluksesi",
- "Active apps" : "Aktiiviset sovellukset",
- "Disabled apps" : "Käytöstä poistetut sovellukset",
- "Updates" : "Päivitykset",
- "App bundles" : "Sovelluskokoelmat",
- "Featured apps" : "Esitellyt sovellukset",
"{license}-licensed" : "{license}-lisensoitu",
"Changelog" : "Muutosloki",
"by {author}\n{license}" : "tekijä {author}\n{license}",
@@ -360,6 +356,11 @@
"Twitter" : "Twitter",
"Website" : "Verkkosivusto",
"Profile visibility" : "Profiilin näkyvyys",
+ "Active apps" : "Aktiiviset sovellukset",
+ "Disabled apps" : "Käytöstä poistetut sovellukset",
+ "Updates" : "Päivitykset",
+ "App bundles" : "Sovelluskokoelmat",
+ "Featured apps" : "Esitellyt sovellukset",
"Show to everyone" : "Näytä kaikille",
"Show to logged in users only" : "Näytä vain sisäänkirjautuneille käyttäjille",
"Hide" : "Piilota",
@@ -371,7 +372,6 @@
"An error occurred during the request. Unable to proceed." : "Pyynnön aikana tapahtui virhe. Jatkaminen ei onnistu.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Sovellus on käytössä, mutta se tulee päivittää. Sinut ohjataan sovelluksen päivityssivulle viiden sekunnin kuluttua.",
"Error: This app cannot be enabled because it makes the server unstable" : "Virhe: Sovellusta ei voida ottaa käyttöön, koska se aiheuttaa palvelimen epävakauden",
- "Administrator documentation" : "Ylläpidon dokumentaatio",
"Documentation" : "Dokumentaatio",
"Forum" : "Keskustelupalsta",
"Login" : "Kirjaudu",
diff --git a/apps/settings/l10n/fr.js b/apps/settings/l10n/fr.js
index b9d8a95a4d7..13d9c879f69 100644
--- a/apps/settings/l10n/fr.js
+++ b/apps/settings/l10n/fr.js
@@ -4,7 +4,7 @@ OC.L10N.register(
"Private" : "Privé",
"Only visible to people matched via phone number integration through Talk on mobile" : "Visible uniquement pour les utilisateurs correspondants via l'intégration du numéro de téléphone dans Talk pour mobile",
"Local" : "Local",
- "Only visible to people on this instance and guests" : "Visible uniquement aux personnes dans l'instance et aux invités",
+ "Only visible to people on this instance and guests" : "Visible uniquement par les personnes dans cette instance et par les invités",
"Federated" : "Fédéré",
"Only synchronize to trusted servers" : "Synchronisation avec les serveurs de confiance uniquement",
"Published" : "Publié",
@@ -12,11 +12,11 @@ OC.L10N.register(
"Verify" : "Vérifier",
"Verifying …" : "Vérification en cours...",
"Unable to change password" : "Impossible de modifier le mot de passe",
- "Very weak password" : "Mot de passe de très faible sécurité",
- "Weak password" : "Mot de passe de faible sécurité",
- "So-so password" : "Mot de passe de sécurité tout juste acceptable",
- "Good password" : "Mot de passe de sécurité suffisante",
- "Strong password" : "Mot de passe de forte sécurité",
+ "Very weak password" : "Mot de passe très faible",
+ "Weak password" : "Mot de passe faible",
+ "So-so password" : "Mot de passe tout juste acceptable",
+ "Good password" : "Mot de passe satisfaisant",
+ "Strong password" : "Mot de passe fort",
"Groups" : "Groupes",
"Group list is empty" : "La liste des groupes est vide",
"Unable to retrieve the group list" : "Impossible de récupérer la liste des groupes",
@@ -47,8 +47,8 @@ OC.L10N.register(
"Security" : "Sécurité",
"You successfully logged in using two-factor authentication (%1$s)" : "Vous avez réussi à vous connecter en utilisant l'authentification à deux facteurs (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Une tentative de connexion utilisant l'authentification à deux facteurs a échoué (%1$s)",
- "Remote wipe was started on %1$s" : "Effaçage distant démarré pour%1$s",
- "Remote wipe has finished on %1$s" : "Effaçage distant terminé pour %1$s",
+ "Remote wipe was started on %1$s" : "Effacement distant démarré pour%1$s",
+ "Remote wipe has finished on %1$s" : "Effacement distant terminé pour %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Votre <strong>mot de passe</strong> ou <strong>adresse e-mail</strong> a été modifié⋅e",
"Could not remove app." : "Impossible de supprimer l'app.",
"Could not update app." : "Impossible de mettre à jour l'app.",
@@ -73,8 +73,10 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le nombre maximum de clés OPcache est presque dépassé. Pour vous assurer que tous les scripts puissent être conservés en cache, il est recommandé de définir la variable <code>opcache.max_accelerated_files</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le tampon mémoire OPcache est presque plein. Pour vous assurer que tous les scripts peuvent être conservés en cache, il est recommandé de définir la variable <code>opcache.memory_consumption</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le tampon mémoire des chaînes internes OPcache est presque plein. Pour vous assurer que les chaînes répétitives peuvent être mise en cache, il est recommandé de définir la variable <code>opcache.interned_strings_buffer</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.",
+ "Administrator documentation" : "Documentation administrateur",
+ "User documentation" : "Documentation utilisateur",
"Invalid SMTP password." : "Mot de passe SMTP incorrect.",
- "Email setting test" : "Test des paramètres e-mail",
+ "Email setting test" : "Test des paramètres de messagerie",
"Well done, %s!" : "Bien joué, %s !",
"If you received this email, the email configuration seems to be correct." : "Si vous avez reçu cet e-mail, la configuration de l'adresse e-mail semble être correcte.",
"Email could not be sent. Check your mail server log" : "L'e-mail n'a pu être envoyé. Vérifiez le journal du serveur de messagerie",
@@ -125,7 +127,7 @@ OC.L10N.register(
"Calendar" : "Agenda",
"Personal info" : "Informations personnelles",
"Mobile & desktop" : "Mobile & bureau",
- "Email server" : "Serveur e-mail",
+ "Email server" : "Serveur de messagerie",
"Security & setup warnings" : "Avertissements de sécurité & configuration",
"Background jobs" : "Tâches de fond",
"Create" : "Créer",
@@ -167,10 +169,9 @@ OC.L10N.register(
"This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Cette application n'a pas de version minimum Nextcloud exigée. Ce sera considéré comme une erreur à l'avenir.",
"This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Cette application n'a pas de version maximum Nextcloud exigée. Ce sera considéré comme une erreur à l'avenir.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Cette application ne peut être installée à cause de ces dépendances non satisfaites :",
- "View in store" : "Afficher dans le magasin d'application",
+ "View in store" : "Afficher dans le magasin d'applications",
"Visit website" : "Visiter le site web",
"Report a bug" : "Signaler un bogue",
- "User documentation" : "Documentation utilisateur",
"Admin documentation" : "Documentation administrateur",
"Developer documentation" : "Documentation pour développeurs",
"This app is supported via your current Nextcloud subscription." : "Cette application bénéficie d'un support grâce à votre abonnement Nextcloud.",
@@ -211,7 +212,7 @@ OC.L10N.register(
"Devices & sessions" : "Appareils & sessions",
"Web, desktop and mobile clients currently logged in to your account." : "Clients web, applications de bureau et mobiles actuellement connectés avec votre compte.",
"Do you really want to wipe your data from this device?" : "Voulez-vous vraiment supprimer vos données de cet appareil ?",
- "Confirm wipe" : "Confirmer la supression",
+ "Confirm wipe" : "Confirmer la suppression",
"Error while creating device token" : "Erreur lors de la création du jeton de l'appareil",
"Error while updating device token scope" : "Erreur lors de la mise à jour de la visibilité du jeton de l'appareil",
"Error while updating device token name" : "Erreur lors de la mise à jour du nom du jeton",
@@ -248,7 +249,7 @@ OC.L10N.register(
"Server-side encryption" : "Chiffrement côté serveur",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Le chiffrement côté serveur permet de chiffrer les fichiers qui sont téléversés sur ce serveur. Cela implique des limitations comme une performance moindre, donc activez-le seulement si nécessaire.",
"Enable server-side encryption" : "Activer le chiffrement côté serveur",
- "Please read carefully before activating server-side encryption:" : "Veuillez lire attentivement avant d’activer le chiffrement côté serveur :",
+ "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 clef de récupération).",
"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.",
@@ -266,27 +267,27 @@ OC.L10N.register(
"New password" : "Nouveau mot de passe",
"Change password" : "Changer de mot de passe",
"Your profile picture" : "Votre photo de profil",
- "Upload profile picture" : "Télécharger une photo de profil",
- "Choose profile picture from files" : "Choisir une photo de profil dans les fichiers de Nextcloud",
- "Remove profile picture" : "Supprimer la photo de profil",
+ "Upload profile picture" : "Téléverser une photo de profil",
+ "Choose profile picture from files" : "Choisir une image parmi les fichiers",
+ "Remove profile picture" : "Retirer la photo de profil",
"png or jpg, max. 20 MB" : "png ou jpg, max. 20 Mo",
"Picture provided by original account" : "Photo fournie par le compte original",
"Cancel" : "Annuler",
- "Set as profile picture" : "Définir comme photo de profil",
+ "Set as profile picture" : "Définir comme image de profil",
"Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Veuillez noter que cela peut prendre jusqu'à 24 heures pour que votre image de profil soit mise à jour partout.",
- "Choose your profile picture" : "Choisir votre photo de profil",
+ "Choose your profile picture" : "Choisir votre image de profil",
"Please select a valid png or jpg file" : "Merci de sélectionner un fichier jpg ou png valide",
- "Error setting profile picture" : "Erreur en définissant la photo de profil",
- "Error cropping profile picture" : "Erreur au retaillage de la photo de profil",
- "Error saving profile picture" : "Erreur à la sauvegarde de la photo de profil",
- "Error removing profile picture" : "Erreur à la suppression de la photo de profil",
+ "Error setting profile picture" : "Erreur lors de la redéfinition de l'image de profil",
+ "Error cropping profile picture" : "Erreur lors du recadrage d'image de profil",
+ "Error saving profile picture" : "Erreur lors de la sauvegarde de l'image de profil",
+ "Error removing profile picture" : "Erreur lors de la suppression de l'image de profil",
"Your biography" : "Votre biographie",
"Details" : "Détails",
"You are a member of the following groups:" : "Vous êtes membre des groupes suivants :",
"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>)",
"Your full name" : "Votre nom complet",
- "Email options" : "Options de mail",
+ "Email options" : "Options de messagerie",
"Primary email for password reset and notifications" : "Adresse e-mail principale pour la réinitialisation du mot de passe et les notifications",
"Remove primary email" : "Supprimer l'adresse e-mail principale",
"Delete email" : "Supprimer l'adresse e-mail",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "Impossible de supprimer l'adresse e-mail supplémentaire",
"No email address set" : "Aucune adresse e-mail configurée",
"Additional emails" : "E-mails suplémentaires",
+ "Your handle" : "Votre identifiant",
"Your headline" : "Votre titre",
"Language" : "Langue",
"Help translate" : "Aidez à traduire",
@@ -309,8 +311,8 @@ OC.L10N.register(
"No language set" : "Aucune langue définie",
"Locale" : "Paramètres régionaux",
"Week starts on {firstDayOfWeek}" : "Les semaines commencent le {firstDayOfWeek}",
- "Unable to update locale" : "Impossible de mettre à jour la localisation",
- "No locale set" : "Pas de localisation définie",
+ "Unable to update locale" : "Impossible de mettre à jour les paramètres régionaux",
+ "No locale set" : "Paramètres régionaux non définis",
"Your location" : "Votre localisation",
"Your organisation" : "Votre organisation",
"Your phone number" : "Votre numéro de téléphone",
@@ -349,7 +351,7 @@ OC.L10N.register(
"Delete {userid}'s account" : "Supprimer le compte {userid}",
"Welcome mail sent!" : "E-mail de bienvenue envoyé !",
"Edit User" : "Modifier l'utilisateur",
- "Toggle user actions menu" : "Basculer le menu des actions de l'utilisateur",
+ "Toggle user actions menu" : "Afficher / Masquer le menu des actions de l'utilisateur",
"{size} used" : "{size} utilisés",
"New user" : "Nouvel utilisateur",
"Will be autogenerated" : "Sera généré automatiquement",
@@ -370,7 +372,7 @@ OC.L10N.register(
"Passwordless authentication requires a secure connection." : "L'authentification sans mot de passe requiert une connexion sécurisée.",
"Add WebAuthn device" : "Ajouter un appareil WebAuthn",
"Please authorize your WebAuthn device." : "Veuillez autoriser votre appareil WebAuthn.",
- "Name your device" : "Nom de votre appareil",
+ "Name your device" : "Nommez votre appareil",
"Adding your device …" : "Ajout de votre appareil…",
"Server error while trying to add WebAuthn device" : "Erreur du serveur lors de l'ajout du périphérique WebAuthn",
"Server error while trying to complete WebAuthn device registration" : "Erreur du serveur lors de l'enregistrement de l'appareil WebAuthn",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Les appareils suivants sont paramétrés pour votre compte :",
"Your browser does not support WebAuthn." : "Votre navigateur ne prend pas en charge WebAuthn.",
"Your apps" : "Vos applications",
- "Active apps" : "Applications actives",
- "Disabled apps" : "Applications désactivées",
- "Updates" : "Mises à jour",
- "App bundles" : "Pack d'applications",
- "Featured apps" : "Apps mises en avant",
"{license}-licensed" : "Sous licence {license}",
"Changelog" : "Journal des modifications",
"by {author}\n{license}" : "par {author}\n{license}",
@@ -400,12 +397,12 @@ OC.L10N.register(
"Show last login" : "Afficher la dernière connexion",
"Show user backend" : "Afficher l'origine du compte",
"Show storage path" : "Afficher l'emplacement du stockage",
- "Send email to new user" : "Envoyer un e-mail aux utilisateurs créés",
+ "Send email to new user" : "Envoyer un e-mail aux nouveaux utilisateurs",
"Not saved" : "Non sauvegardé",
"Sending…" : "Envoi en cours...",
"Email sent" : "E-mail envoyé",
"Location" : "Emplacement",
- "Profile picture" : "Photo de profil",
+ "Profile picture" : "Image de profil",
"About" : "À propos",
"Full name" : "Nom complet",
"Additional email" : "Adresse e-mail supplémentaire",
@@ -414,23 +411,28 @@ OC.L10N.register(
"Phone number" : "Numéro de téléphone",
"Role" : "Fonction",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (ex. Mastodon)",
"Website" : "Site web",
"Profile visibility" : "Visibilité du profil",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponible car cette propriété est requise pour les fonctionnalités essentielles comme le partage de fichiers et les invitations de l'agenda.",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Non disponible car la fédération a été désactivée pour votre compte, contactez votre administrateur système si vous avez des questions.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non disponible car la publication de données spécifiques d'un utilisateur au serveur de recherche est interdit, contacter votre administrateur système si vous avez des questions",
+ "Active apps" : "Applications actives",
+ "Disabled apps" : "Applications désactivées",
+ "Updates" : "Mises à jour",
+ "App bundles" : "Packs d'applications",
+ "Featured apps" : "Applications mises en avant",
"Show to everyone" : "Montrer à tout le monde",
- "Show to logged in users only" : "Montrer seulement aux utilisateurs enregistrés",
+ "Show to logged in users only" : "Montrer seulement aux utilisateurs connectés",
"Hide" : "Cacher",
"Download and enable" : "Télécharger et activer",
- "Enable untested app" : "Activer les app non-testées",
+ "Enable untested app" : "Activer les applications non testées",
"The app will be downloaded from the App Store" : "L'application sera téléchargée depuis le magasin d'applications",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Cette application n'est pas indiquée comme étant compatible avec votre version de Nextcloud. Si vous continuez vous pourrez toujours installer l'app. Notez cependant qu'elle pourrait ne pas fonctionner comme prévu.",
"Never" : "Jamais",
"An error occurred during the request. Unable to proceed." : "Une erreur s'est produite pendant la demande. Impossible de poursuivre.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'application a été activée mais doit être mise à jour. Vous allez être redirigé vers la page des mises à jour dans 5 secondes.",
"Error: This app cannot be enabled because it makes the server unstable" : "Erreur : cette application ne peut être activée car elle rend le serveur instable",
- "Administrator documentation" : "Documentation administrateur",
"Documentation" : "Documentation",
"Forum" : "Forum",
"Login" : "Login",
@@ -438,11 +440,11 @@ OC.L10N.register(
"NT LAN Manager" : "Gestionnaire du réseau NT",
"SSL/TLS" : "SSL/TLS",
"STARTTLS" : "STARTTLS",
- "Open documentation" : "Voir la documentation",
+ "Open documentation" : "Ouvrir la documentation",
"It is important to set up this server to be able to send emails, like for password reset and notifications." : "Il est important d'indiquer un serveur afin de pouvoir envoyer des mails en cas de perte de mot de passe et pour d'autres notifications.",
"Send mode" : "Mode d'envoi",
"Encryption" : "Chiffrement",
- "Sendmail mode" : "mode Sendmail",
+ "Sendmail mode" : "Mode Sendmail",
"From address" : "Adresse source",
"Authentication method" : "Méthode d'authentification",
"Authentication required" : "Authentification requise",
@@ -452,7 +454,7 @@ OC.L10N.register(
"SMTP Username" : "Nom d'utilisateur SMTP",
"SMTP Password" : "Mot de passe SMTP",
"Save" : "Enregistrer",
- "Test and verify email settings" : "Tester les paramètres e-mail",
+ "Test and verify email settings" : "Tester les paramètres de messagerie",
"Send email" : "Envoyer un e-mail",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance Nextcloud effectue des vérifications automatiques. Pour de plus amples informations, veuillez consulter la documentation liée.",
"All checks passed." : "Tous les tests ont réussi.",
@@ -479,7 +481,7 @@ OC.L10N.register(
"Exclude groups from creating link shares:" : "Interdire la création de liens de partage à certains groupes",
"Allow resharing" : "Autoriser le repartage",
"Allow sharing with groups" : "Autoriser le partage avec les groupes",
- "Restrict users to only share with users in their groups" : "N'autoriser les partages qu'entre membres de mêmes groupes",
+ "Restrict users to only share with users in their groups" : "Guests will still be able to see accounts from any group they are added to",
"Exclude groups from sharing" : "Empêcher certains groupes de partager",
"These groups will still be able to receive shares, but not to initiate them." : "Ces groupes ne pourront plus initier de partage, mais ils pourront toujours rejoindre les partages faits par d'autres. ",
"Allow username autocompletion in share dialog" : "Autoriser l'autocomplétion du nom d'utilisateur dans la boite de dialogue de partage",
@@ -490,7 +492,7 @@ OC.L10N.register(
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Afficher les conditions d'utilisation sur la page publique de téléversement (seulement lorsque la liste des fichiers est masquée).",
"This text will be shown on the public link upload page when the file list is hidden." : "Ce texte sera affiché sur la page publique de téléversement lorsque la liste des fichiers est masquée.",
"Default share permissions" : "Autorisations de partage par défaut",
- "Reasons to use Nextcloud in your organization" : "Pourquoi utiliser Nextcloud dans votre organisation ?",
+ "Reasons to use Nextcloud in your organization" : "Raisons d'utiliser Nextcloud dans votre organisation",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Développé par la {communityopen}communauté Nextcloud{linkclose}, le {githubopen}code source{linkclose} est sous licence {licenseopen}AGPL{linkclose}.",
"Like our Facebook page" : "Aimez notre page Facebook",
"Follow us on Twitter" : "Suivez-nous sur Twitter",
@@ -517,7 +519,7 @@ OC.L10N.register(
"Unable to update full name" : "Impossible de mettre à jour le nom complet",
"No full name set" : "Aucun nom complet configuré",
"Unable to update headline" : "Impossible de mettre à jour le titre",
- "Unable to update organisation" : "Impossible de modifier l'organisation",
+ "Unable to update organisation" : "Impossible de mettre à jour l'organisation",
"Unable to update role" : "Impossible de modifier la fonction",
"Change scope level of {accountProperty}" : "Changer le niveau de confidentialité de {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Impossible de mettre à jour la confidentialité de fédération du {accountProperty} primaire",
@@ -532,7 +534,7 @@ OC.L10N.register(
"Start migration" : "Démarrer la migration",
"Last job execution ran %s. Something seems wrong." : "Quelque chose s'est mal passé lors de l'exécution de la dernière tâche %s.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Certaines tâches n'ont pas été exécutées depuis %s. Vous pourriez augmenter la fréquence d'exécution.",
- "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Certaines tâches n’ont pas été exécutées depuis 1%s. Veuillez envisager de passer à un système cron.",
+ "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Certaines tâches n’ont pas été exécutées depuis %s. Veuillez envisager de passer à un système de cron.",
"Last job ran %s." : "Dernière tâche exécutée %s.",
"Background job didn’t run yet!" : "La tâche de fond n'a pas encore été exécutée !",
"For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Pour que le serveur fonctionne correctement, il est important de configurer correctement les tâches d'arrière-plan. \"Cron\" est le règlage recommandé. Veuillez vous référer à la documentation Nextcloud pour plus d'informations.",
@@ -541,8 +543,8 @@ OC.L10N.register(
"The cron.php needs to be executed by the system user \"%s\"." : "Le cron.php doit être exécuté par l'utilisateur système \"%s\".",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Autoriser l'autocomplétion quand le nom complet ou l'adresse e-mail sont saisis (en ignorant la recherche du numéro de téléphone et le fait d'être dans le même groupe)",
"Change privacy level of profile picture" : "Changer le niveau de confidentialité de la photo de profil",
- "Upload new" : "Nouvelle depuis votre ordinateur",
- "Select from Files" : "Sélectionner depuis les Fichiers",
+ "Upload new" : "Téléverser une nouvelle image",
+ "Select from Files" : "Sélectionner depuis Fichiers",
"Remove image" : "Supprimer la photo",
"Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Veuillez noter que cela peut prendre jusqu'à 24 heures pour que l'avatar soit mis à jour partout.",
"Choose as profile picture" : "Définir comme image de profil",
diff --git a/apps/settings/l10n/fr.json b/apps/settings/l10n/fr.json
index 96e5807dc40..1b4554f6c11 100644
--- a/apps/settings/l10n/fr.json
+++ b/apps/settings/l10n/fr.json
@@ -2,7 +2,7 @@
"Private" : "Privé",
"Only visible to people matched via phone number integration through Talk on mobile" : "Visible uniquement pour les utilisateurs correspondants via l'intégration du numéro de téléphone dans Talk pour mobile",
"Local" : "Local",
- "Only visible to people on this instance and guests" : "Visible uniquement aux personnes dans l'instance et aux invités",
+ "Only visible to people on this instance and guests" : "Visible uniquement par les personnes dans cette instance et par les invités",
"Federated" : "Fédéré",
"Only synchronize to trusted servers" : "Synchronisation avec les serveurs de confiance uniquement",
"Published" : "Publié",
@@ -10,11 +10,11 @@
"Verify" : "Vérifier",
"Verifying …" : "Vérification en cours...",
"Unable to change password" : "Impossible de modifier le mot de passe",
- "Very weak password" : "Mot de passe de très faible sécurité",
- "Weak password" : "Mot de passe de faible sécurité",
- "So-so password" : "Mot de passe de sécurité tout juste acceptable",
- "Good password" : "Mot de passe de sécurité suffisante",
- "Strong password" : "Mot de passe de forte sécurité",
+ "Very weak password" : "Mot de passe très faible",
+ "Weak password" : "Mot de passe faible",
+ "So-so password" : "Mot de passe tout juste acceptable",
+ "Good password" : "Mot de passe satisfaisant",
+ "Strong password" : "Mot de passe fort",
"Groups" : "Groupes",
"Group list is empty" : "La liste des groupes est vide",
"Unable to retrieve the group list" : "Impossible de récupérer la liste des groupes",
@@ -45,8 +45,8 @@
"Security" : "Sécurité",
"You successfully logged in using two-factor authentication (%1$s)" : "Vous avez réussi à vous connecter en utilisant l'authentification à deux facteurs (%1$s)",
"A login attempt using two-factor authentication failed (%1$s)" : "Une tentative de connexion utilisant l'authentification à deux facteurs a échoué (%1$s)",
- "Remote wipe was started on %1$s" : "Effaçage distant démarré pour%1$s",
- "Remote wipe has finished on %1$s" : "Effaçage distant terminé pour %1$s",
+ "Remote wipe was started on %1$s" : "Effacement distant démarré pour%1$s",
+ "Remote wipe has finished on %1$s" : "Effacement distant terminé pour %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Votre <strong>mot de passe</strong> ou <strong>adresse e-mail</strong> a été modifié⋅e",
"Could not remove app." : "Impossible de supprimer l'app.",
"Could not update app." : "Impossible de mettre à jour l'app.",
@@ -71,8 +71,10 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le nombre maximum de clés OPcache est presque dépassé. Pour vous assurer que tous les scripts puissent être conservés en cache, il est recommandé de définir la variable <code>opcache.max_accelerated_files</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le tampon mémoire OPcache est presque plein. Pour vous assurer que tous les scripts peuvent être conservés en cache, il est recommandé de définir la variable <code>opcache.memory_consumption</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Le tampon mémoire des chaînes internes OPcache est presque plein. Pour vous assurer que les chaînes répétitives peuvent être mise en cache, il est recommandé de définir la variable <code>opcache.interned_strings_buffer</code> de votre fichier de configuration PHP à une valeur supérieure à <code>%s</code>.",
+ "Administrator documentation" : "Documentation administrateur",
+ "User documentation" : "Documentation utilisateur",
"Invalid SMTP password." : "Mot de passe SMTP incorrect.",
- "Email setting test" : "Test des paramètres e-mail",
+ "Email setting test" : "Test des paramètres de messagerie",
"Well done, %s!" : "Bien joué, %s !",
"If you received this email, the email configuration seems to be correct." : "Si vous avez reçu cet e-mail, la configuration de l'adresse e-mail semble être correcte.",
"Email could not be sent. Check your mail server log" : "L'e-mail n'a pu être envoyé. Vérifiez le journal du serveur de messagerie",
@@ -123,7 +125,7 @@
"Calendar" : "Agenda",
"Personal info" : "Informations personnelles",
"Mobile & desktop" : "Mobile & bureau",
- "Email server" : "Serveur e-mail",
+ "Email server" : "Serveur de messagerie",
"Security & setup warnings" : "Avertissements de sécurité & configuration",
"Background jobs" : "Tâches de fond",
"Create" : "Créer",
@@ -165,10 +167,9 @@
"This app has no minimum Nextcloud version assigned. This will be an error in the future." : "Cette application n'a pas de version minimum Nextcloud exigée. Ce sera considéré comme une erreur à l'avenir.",
"This app has no maximum Nextcloud version assigned. This will be an error in the future." : "Cette application n'a pas de version maximum Nextcloud exigée. Ce sera considéré comme une erreur à l'avenir.",
"This app cannot be installed because the following dependencies are not fulfilled:" : "Cette application ne peut être installée à cause de ces dépendances non satisfaites :",
- "View in store" : "Afficher dans le magasin d'application",
+ "View in store" : "Afficher dans le magasin d'applications",
"Visit website" : "Visiter le site web",
"Report a bug" : "Signaler un bogue",
- "User documentation" : "Documentation utilisateur",
"Admin documentation" : "Documentation administrateur",
"Developer documentation" : "Documentation pour développeurs",
"This app is supported via your current Nextcloud subscription." : "Cette application bénéficie d'un support grâce à votre abonnement Nextcloud.",
@@ -209,7 +210,7 @@
"Devices & sessions" : "Appareils & sessions",
"Web, desktop and mobile clients currently logged in to your account." : "Clients web, applications de bureau et mobiles actuellement connectés avec votre compte.",
"Do you really want to wipe your data from this device?" : "Voulez-vous vraiment supprimer vos données de cet appareil ?",
- "Confirm wipe" : "Confirmer la supression",
+ "Confirm wipe" : "Confirmer la suppression",
"Error while creating device token" : "Erreur lors de la création du jeton de l'appareil",
"Error while updating device token scope" : "Erreur lors de la mise à jour de la visibilité du jeton de l'appareil",
"Error while updating device token name" : "Erreur lors de la mise à jour du nom du jeton",
@@ -246,7 +247,7 @@
"Server-side encryption" : "Chiffrement côté serveur",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Le chiffrement côté serveur permet de chiffrer les fichiers qui sont téléversés sur ce serveur. Cela implique des limitations comme une performance moindre, donc activez-le seulement si nécessaire.",
"Enable server-side encryption" : "Activer le chiffrement côté serveur",
- "Please read carefully before activating server-side encryption:" : "Veuillez lire attentivement avant d’activer le chiffrement côté serveur :",
+ "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 clef de récupération).",
"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.",
@@ -264,27 +265,27 @@
"New password" : "Nouveau mot de passe",
"Change password" : "Changer de mot de passe",
"Your profile picture" : "Votre photo de profil",
- "Upload profile picture" : "Télécharger une photo de profil",
- "Choose profile picture from files" : "Choisir une photo de profil dans les fichiers de Nextcloud",
- "Remove profile picture" : "Supprimer la photo de profil",
+ "Upload profile picture" : "Téléverser une photo de profil",
+ "Choose profile picture from files" : "Choisir une image parmi les fichiers",
+ "Remove profile picture" : "Retirer la photo de profil",
"png or jpg, max. 20 MB" : "png ou jpg, max. 20 Mo",
"Picture provided by original account" : "Photo fournie par le compte original",
"Cancel" : "Annuler",
- "Set as profile picture" : "Définir comme photo de profil",
+ "Set as profile picture" : "Définir comme image de profil",
"Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Veuillez noter que cela peut prendre jusqu'à 24 heures pour que votre image de profil soit mise à jour partout.",
- "Choose your profile picture" : "Choisir votre photo de profil",
+ "Choose your profile picture" : "Choisir votre image de profil",
"Please select a valid png or jpg file" : "Merci de sélectionner un fichier jpg ou png valide",
- "Error setting profile picture" : "Erreur en définissant la photo de profil",
- "Error cropping profile picture" : "Erreur au retaillage de la photo de profil",
- "Error saving profile picture" : "Erreur à la sauvegarde de la photo de profil",
- "Error removing profile picture" : "Erreur à la suppression de la photo de profil",
+ "Error setting profile picture" : "Erreur lors de la redéfinition de l'image de profil",
+ "Error cropping profile picture" : "Erreur lors du recadrage d'image de profil",
+ "Error saving profile picture" : "Erreur lors de la sauvegarde de l'image de profil",
+ "Error removing profile picture" : "Erreur lors de la suppression de l'image de profil",
"Your biography" : "Votre biographie",
"Details" : "Détails",
"You are a member of the following groups:" : "Vous êtes membre des groupes suivants :",
"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>)",
"Your full name" : "Votre nom complet",
- "Email options" : "Options de mail",
+ "Email options" : "Options de messagerie",
"Primary email for password reset and notifications" : "Adresse e-mail principale pour la réinitialisation du mot de passe et les notifications",
"Remove primary email" : "Supprimer l'adresse e-mail principale",
"Delete email" : "Supprimer l'adresse e-mail",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "Impossible de supprimer l'adresse e-mail supplémentaire",
"No email address set" : "Aucune adresse e-mail configurée",
"Additional emails" : "E-mails suplémentaires",
+ "Your handle" : "Votre identifiant",
"Your headline" : "Votre titre",
"Language" : "Langue",
"Help translate" : "Aidez à traduire",
@@ -307,8 +309,8 @@
"No language set" : "Aucune langue définie",
"Locale" : "Paramètres régionaux",
"Week starts on {firstDayOfWeek}" : "Les semaines commencent le {firstDayOfWeek}",
- "Unable to update locale" : "Impossible de mettre à jour la localisation",
- "No locale set" : "Pas de localisation définie",
+ "Unable to update locale" : "Impossible de mettre à jour les paramètres régionaux",
+ "No locale set" : "Paramètres régionaux non définis",
"Your location" : "Votre localisation",
"Your organisation" : "Votre organisation",
"Your phone number" : "Votre numéro de téléphone",
@@ -347,7 +349,7 @@
"Delete {userid}'s account" : "Supprimer le compte {userid}",
"Welcome mail sent!" : "E-mail de bienvenue envoyé !",
"Edit User" : "Modifier l'utilisateur",
- "Toggle user actions menu" : "Basculer le menu des actions de l'utilisateur",
+ "Toggle user actions menu" : "Afficher / Masquer le menu des actions de l'utilisateur",
"{size} used" : "{size} utilisés",
"New user" : "Nouvel utilisateur",
"Will be autogenerated" : "Sera généré automatiquement",
@@ -368,7 +370,7 @@
"Passwordless authentication requires a secure connection." : "L'authentification sans mot de passe requiert une connexion sécurisée.",
"Add WebAuthn device" : "Ajouter un appareil WebAuthn",
"Please authorize your WebAuthn device." : "Veuillez autoriser votre appareil WebAuthn.",
- "Name your device" : "Nom de votre appareil",
+ "Name your device" : "Nommez votre appareil",
"Adding your device …" : "Ajout de votre appareil…",
"Server error while trying to add WebAuthn device" : "Erreur du serveur lors de l'ajout du périphérique WebAuthn",
"Server error while trying to complete WebAuthn device registration" : "Erreur du serveur lors de l'enregistrement de l'appareil WebAuthn",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "Les appareils suivants sont paramétrés pour votre compte :",
"Your browser does not support WebAuthn." : "Votre navigateur ne prend pas en charge WebAuthn.",
"Your apps" : "Vos applications",
- "Active apps" : "Applications actives",
- "Disabled apps" : "Applications désactivées",
- "Updates" : "Mises à jour",
- "App bundles" : "Pack d'applications",
- "Featured apps" : "Apps mises en avant",
"{license}-licensed" : "Sous licence {license}",
"Changelog" : "Journal des modifications",
"by {author}\n{license}" : "par {author}\n{license}",
@@ -398,12 +395,12 @@
"Show last login" : "Afficher la dernière connexion",
"Show user backend" : "Afficher l'origine du compte",
"Show storage path" : "Afficher l'emplacement du stockage",
- "Send email to new user" : "Envoyer un e-mail aux utilisateurs créés",
+ "Send email to new user" : "Envoyer un e-mail aux nouveaux utilisateurs",
"Not saved" : "Non sauvegardé",
"Sending…" : "Envoi en cours...",
"Email sent" : "E-mail envoyé",
"Location" : "Emplacement",
- "Profile picture" : "Photo de profil",
+ "Profile picture" : "Image de profil",
"About" : "À propos",
"Full name" : "Nom complet",
"Additional email" : "Adresse e-mail supplémentaire",
@@ -412,23 +409,28 @@
"Phone number" : "Numéro de téléphone",
"Role" : "Fonction",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (ex. Mastodon)",
"Website" : "Site web",
"Profile visibility" : "Visibilité du profil",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponible car cette propriété est requise pour les fonctionnalités essentielles comme le partage de fichiers et les invitations de l'agenda.",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Non disponible car la fédération a été désactivée pour votre compte, contactez votre administrateur système si vous avez des questions.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non disponible car la publication de données spécifiques d'un utilisateur au serveur de recherche est interdit, contacter votre administrateur système si vous avez des questions",
+ "Active apps" : "Applications actives",
+ "Disabled apps" : "Applications désactivées",
+ "Updates" : "Mises à jour",
+ "App bundles" : "Packs d'applications",
+ "Featured apps" : "Applications mises en avant",
"Show to everyone" : "Montrer à tout le monde",
- "Show to logged in users only" : "Montrer seulement aux utilisateurs enregistrés",
+ "Show to logged in users only" : "Montrer seulement aux utilisateurs connectés",
"Hide" : "Cacher",
"Download and enable" : "Télécharger et activer",
- "Enable untested app" : "Activer les app non-testées",
+ "Enable untested app" : "Activer les applications non testées",
"The app will be downloaded from the App Store" : "L'application sera téléchargée depuis le magasin d'applications",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Cette application n'est pas indiquée comme étant compatible avec votre version de Nextcloud. Si vous continuez vous pourrez toujours installer l'app. Notez cependant qu'elle pourrait ne pas fonctionner comme prévu.",
"Never" : "Jamais",
"An error occurred during the request. Unable to proceed." : "Une erreur s'est produite pendant la demande. Impossible de poursuivre.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'application a été activée mais doit être mise à jour. Vous allez être redirigé vers la page des mises à jour dans 5 secondes.",
"Error: This app cannot be enabled because it makes the server unstable" : "Erreur : cette application ne peut être activée car elle rend le serveur instable",
- "Administrator documentation" : "Documentation administrateur",
"Documentation" : "Documentation",
"Forum" : "Forum",
"Login" : "Login",
@@ -436,11 +438,11 @@
"NT LAN Manager" : "Gestionnaire du réseau NT",
"SSL/TLS" : "SSL/TLS",
"STARTTLS" : "STARTTLS",
- "Open documentation" : "Voir la documentation",
+ "Open documentation" : "Ouvrir la documentation",
"It is important to set up this server to be able to send emails, like for password reset and notifications." : "Il est important d'indiquer un serveur afin de pouvoir envoyer des mails en cas de perte de mot de passe et pour d'autres notifications.",
"Send mode" : "Mode d'envoi",
"Encryption" : "Chiffrement",
- "Sendmail mode" : "mode Sendmail",
+ "Sendmail mode" : "Mode Sendmail",
"From address" : "Adresse source",
"Authentication method" : "Méthode d'authentification",
"Authentication required" : "Authentification requise",
@@ -450,7 +452,7 @@
"SMTP Username" : "Nom d'utilisateur SMTP",
"SMTP Password" : "Mot de passe SMTP",
"Save" : "Enregistrer",
- "Test and verify email settings" : "Tester les paramètres e-mail",
+ "Test and verify email settings" : "Tester les paramètres de messagerie",
"Send email" : "Envoyer un e-mail",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Il est important pour la sécurité et la performance de votre instance que celle-ci soit correctement configurée. Afin de vous aider, votre instance Nextcloud effectue des vérifications automatiques. Pour de plus amples informations, veuillez consulter la documentation liée.",
"All checks passed." : "Tous les tests ont réussi.",
@@ -477,7 +479,7 @@
"Exclude groups from creating link shares:" : "Interdire la création de liens de partage à certains groupes",
"Allow resharing" : "Autoriser le repartage",
"Allow sharing with groups" : "Autoriser le partage avec les groupes",
- "Restrict users to only share with users in their groups" : "N'autoriser les partages qu'entre membres de mêmes groupes",
+ "Restrict users to only share with users in their groups" : "Guests will still be able to see accounts from any group they are added to",
"Exclude groups from sharing" : "Empêcher certains groupes de partager",
"These groups will still be able to receive shares, but not to initiate them." : "Ces groupes ne pourront plus initier de partage, mais ils pourront toujours rejoindre les partages faits par d'autres. ",
"Allow username autocompletion in share dialog" : "Autoriser l'autocomplétion du nom d'utilisateur dans la boite de dialogue de partage",
@@ -488,7 +490,7 @@
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Afficher les conditions d'utilisation sur la page publique de téléversement (seulement lorsque la liste des fichiers est masquée).",
"This text will be shown on the public link upload page when the file list is hidden." : "Ce texte sera affiché sur la page publique de téléversement lorsque la liste des fichiers est masquée.",
"Default share permissions" : "Autorisations de partage par défaut",
- "Reasons to use Nextcloud in your organization" : "Pourquoi utiliser Nextcloud dans votre organisation ?",
+ "Reasons to use Nextcloud in your organization" : "Raisons d'utiliser Nextcloud dans votre organisation",
"Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Développé par la {communityopen}communauté Nextcloud{linkclose}, le {githubopen}code source{linkclose} est sous licence {licenseopen}AGPL{linkclose}.",
"Like our Facebook page" : "Aimez notre page Facebook",
"Follow us on Twitter" : "Suivez-nous sur Twitter",
@@ -515,7 +517,7 @@
"Unable to update full name" : "Impossible de mettre à jour le nom complet",
"No full name set" : "Aucun nom complet configuré",
"Unable to update headline" : "Impossible de mettre à jour le titre",
- "Unable to update organisation" : "Impossible de modifier l'organisation",
+ "Unable to update organisation" : "Impossible de mettre à jour l'organisation",
"Unable to update role" : "Impossible de modifier la fonction",
"Change scope level of {accountProperty}" : "Changer le niveau de confidentialité de {accountProperty}",
"Unable to update federation scope of the primary {accountProperty}" : "Impossible de mettre à jour la confidentialité de fédération du {accountProperty} primaire",
@@ -530,7 +532,7 @@
"Start migration" : "Démarrer la migration",
"Last job execution ran %s. Something seems wrong." : "Quelque chose s'est mal passé lors de l'exécution de la dernière tâche %s.",
"Some jobs haven’t been executed since %s. Please consider increasing the execution frequency." : "Certaines tâches n'ont pas été exécutées depuis %s. Vous pourriez augmenter la fréquence d'exécution.",
- "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Certaines tâches n’ont pas été exécutées depuis 1%s. Veuillez envisager de passer à un système cron.",
+ "Some jobs didn’t execute since %s. Please consider switching to system cron." : "Certaines tâches n’ont pas été exécutées depuis %s. Veuillez envisager de passer à un système de cron.",
"Last job ran %s." : "Dernière tâche exécutée %s.",
"Background job didn’t run yet!" : "La tâche de fond n'a pas encore été exécutée !",
"For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Pour que le serveur fonctionne correctement, il est important de configurer correctement les tâches d'arrière-plan. \"Cron\" est le règlage recommandé. Veuillez vous référer à la documentation Nextcloud pour plus d'informations.",
@@ -539,8 +541,8 @@
"The cron.php needs to be executed by the system user \"%s\"." : "Le cron.php doit être exécuté par l'utilisateur système \"%s\".",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Autoriser l'autocomplétion quand le nom complet ou l'adresse e-mail sont saisis (en ignorant la recherche du numéro de téléphone et le fait d'être dans le même groupe)",
"Change privacy level of profile picture" : "Changer le niveau de confidentialité de la photo de profil",
- "Upload new" : "Nouvelle depuis votre ordinateur",
- "Select from Files" : "Sélectionner depuis les Fichiers",
+ "Upload new" : "Téléverser une nouvelle image",
+ "Select from Files" : "Sélectionner depuis Fichiers",
"Remove image" : "Supprimer la photo",
"Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Veuillez noter que cela peut prendre jusqu'à 24 heures pour que l'avatar soit mis à jour partout.",
"Choose as profile picture" : "Définir comme image de profil",
diff --git a/apps/settings/l10n/gl.js b/apps/settings/l10n/gl.js
index 0068b1fd358..aabdb600286 100644
--- a/apps/settings/l10n/gl.js
+++ b/apps/settings/l10n/gl.js
@@ -2,9 +2,12 @@ OC.L10N.register(
"settings",
{
"Private" : "Privado",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Só son visibles para as persoas coincidentes mediante a integración do número de teléfono a través de Talk no móbil",
"Local" : "Local",
+ "Only visible to people on this instance and guests" : "Só visible para as persoas desta instancia e os convidados",
"Federated" : "Federado",
"Only synchronize to trusted servers" : "Sincronizar só con servidores de confianza",
+ "Published" : "Publicado",
"Synchronize to trusted servers and the global and public address book" : "Sincronizar con servidores de confianza e co caderno de enderezos global e público",
"Verify" : "Verificar",
"Verifying …" : "Verificando…",
@@ -36,6 +39,7 @@ OC.L10N.register(
"You changed your email address" : "Vostede cambiou o seu enderezo de correo",
"Your email address was changed by an administrator" : "O seu enderezo de correo foi cambiado por un administrador",
"You created app password \"{token}\"" : "Vostede creou o contrasinal da aplicación «{token}»",
+ "An administrator created app password \"{token}\"" : "Un administrador creou o contrasinal da aplicación \"{token}\"",
"You deleted app password \"{token}\"" : "Vostede eliminou o contrasinal da aplicación «{token}»",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Vostede renomeou o contrasinal da aplicación «{token}» como «{newToken}»",
"You granted filesystem access to app password \"{token}\"" : "Vostede concedeu acceso ao sistema de ficheiros ao contrasinal da aplicación «{token}»",
@@ -46,26 +50,45 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Iniciouse a limpeza remota en %1$s",
"Remote wipe has finished on %1$s" : "Rematou a limpeza remota en %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Foi modificado o seu <strong>contrasinal</strong> ou o seu <strong>correo electrónico</strong>",
+ "Could not remove app." : "Non se puido eliminar a aplicación.",
+ "Could not update app." : "Non se puido actualizar a aplicación.",
"Wrong password" : "Contrasinal incorrecto",
+ "Unable to change personal password" : "Non se puido cambiar o contrasinal persoal",
"Saved" : "Gardado",
"No user supplied" : "Non subministrado polo usuario",
+ "Unable to change password. Password too long." : "Non se puido cambiar o contrasinal. O contrasinal é demasiado longo.",
"Authentication error" : "Produciuse un erro de autenticación",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Forneza un contrasinal de recuperación de administrador; senón perderase toda a información do usuario.",
"Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador incorrecto. Comprobe o contrasinal e ténteo de novo.",
+ "Backend does not support password change, but the user's encryption key was updated." : "O backend non admite o cambio de contrasinal, pero actualizouse a clave de cifrado do usuario.",
+ "installing and updating apps via the App Store or Federated Cloud Sharing" : "instalar e actualizar aplicacións a través da App Store ou Federated Cloud Sharing",
"Federated Cloud Sharing" : "Nube federada compartida",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL está utilizando unha versión obsoleta %1$s (%2$s). Actualice o seu sistema operativo, caso contrario características como %3$s non funcionarán de xeito fiábel.",
+ "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Non se puido determinar se a versión TLS de cURL está desactualizada ou non porque se produciu un erro durante a solicitude HTTPS contra https://nextcloud.com. Consulte o ficheiro de rexistro de Nextcloud para obter máis detalles.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "O módulo PHP OPcache non está cargado. Para un mellor rendemento, recoméndase cargalo na súa instalación de PHP.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache está desactivado. Para un mellor rendemento, recoméndase aplicar <code>opcache.enable=1</code> á súa configuración de PHP.",
+ "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache está configurado para eliminar comentarios de código. Con OPcache activado, debe configurarse <code>opcache.save_comments=1</code> para que Nextcloud funcione.",
+ "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. Con OPcache activado, é moi recomendable incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar esta configuración para desactivar as restricións da API de OPcache, para evitar erros durante as actualizacións do núcleo de Nextcloud ou da aplicación.",
+ "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. É moi recomendable incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar esta configuración para desactivar as restricións da API de OPcache, para evitar erros durante as actualizacións do núcleo de Nextcloud ou das aplicacións.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves OPcache está case superado. Para garantir que todos os scripts poden manterse na caché, recoméndase aplicar <code>opcache.max_accelerated_files</code> á súa configuración de PHP cun valor superior a <code>%s</code>.",
+ "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer OPcache está case cheo. Para garantir que todos os scripts se poidan gardar na caché, recoméndase aplicar <code>opcache.memory_consumption</code> á súa configuración de PHP cun valor superior a <code>%s</code>.",
+ "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer de cadeas internadas en OPcache está case cheo. Para asegurarse de que as cadeas que se repiten poidan almacenarse na caché de forma efectiva, recoméndase aplicar <code>opcache.interned_strings_buffer</code> á súa configuración de PHP cun valor superior a <code>%s</code>.",
+ "Administrator documentation" : "Documentación do administrador",
+ "User documentation" : "Documentación do usuario",
"Invalid SMTP password." : "Contrasinal SMTP incorrecta.",
"Email setting test" : "Proba do axuste do correo",
"Well done, %s!" : "Ben feito, %s!",
"If you received this email, the email configuration seems to be correct." : "Se vostede ten recibido este correo, a configuración do correo semella ser correcta. ",
"Email could not be sent. Check your mail server log" : "Non foi posíbel enviar o correo. Comprobe o rexistro do servidor de correo",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu un problema ao enviar o correo. Revise a súa configuración. (Erro: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Debes configurar o teu correo electrónico de usuario antes de poder enviar correos electrónicos de proba. Vaia a %spara iso.",
"Invalid user" : "Usuario incorrecto",
"Invalid mail address" : "Enderezo de correo incorrecto",
"Settings saved" : "Axustes gardados",
"Unable to change full name" : "Non é posíbel cambiar o nome completo",
"Unable to change email address" : "Non é posíbel cambiar o enderezo de correo.",
"Unable to set invalid phone number" : "Non é posíbel estabelecer un número de teléfono non válido",
+ "Unable to set invalid website" : "Non se puido establecer o sitio web non válido",
"Some account data was invalid" : "Algúns datos da conta non eran válidos",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Para poder verificar a súa conta de Twitter, publique o seguinte chío en Twitter (asegúrese de publicar sen ningún salto de liña):",
"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):" : "Para poder verificar o seu sitio Web, engada o seguinte contido ao seu web-root en «.well-known/CloudIdVerificationCode.txt» (asegúrese de que o texto completo estea só nunha liña):",
@@ -95,10 +118,12 @@ OC.L10N.register(
"Personal" : "Persoal",
"Administration" : "Administración",
"Additional settings" : "Axustes adicionais",
+ "Administration privileges" : "Privilexios de administración",
"Groupware" : "Software colaborativo",
"Overview" : "Vista xeral",
"Basic settings" : "Axustes básicos",
"Sharing" : "Compartindo",
+ "Availability" : "Dispoñibilidade",
"Calendar" : "Calendario",
"Personal info" : "Información persoal",
"Mobile & desktop" : "Móbil e escritorio",
@@ -113,9 +138,17 @@ OC.L10N.register(
"Verifying" : "Verificando",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Está pendente un traballo en segundo plano que comprobe os certificados SSL importados polo usuario. Volva comprobar máis adiante.",
"There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Hai algúns certificados SSL importados polo usuario, que xa non se usan con Nextcloud 21. Pódense importar coa liña de ordes mediante a orde «occ security:certificates:import». As súas rutas dentro do directorio de datos amosanse deseguido.",
+ "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them." : "Atopáronse UUID non válidos de usuarios ou grupos LDAP. Revisa a túa configuración de \"Anular detección de UUID\" na parte Experto da configuración LDAP e utiliza \"occ ldap:update-uuid\" para actualizalos.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "O antigo formato de cifrado de lado do servidor está activado. Recomendámoslle desactivalo.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "Utilízase a versión \"%s\" de MariaDB. Nextcloud 21 ou superior non admite esta versión e require MariaDB 10.2 ou superior.",
+ "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "Utilízase a versión de MySQL \"%s\". Nextcloud 21 e superior non admite esta versión e requiren MySQL 8.0 ou MariaDB 10.2 ou superior.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "Utilízase a versión de PostgreSQL \"%s\". Nextcloud 21 ou superior non admite esta versión e require PostgreSQL 9.6 ou superior.",
+ "Profile information" : "Información do perfil",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Imaxe de perfil, nome completo, correo electrónico, número de teléfono, enderezo, sitio web, Twitter, organización, función, título, biografía e se o teu perfil está activado",
"Nextcloud settings" : "Axustes do Nextcloud",
+ "Here you can decide which group can access certain sections of the administration settings." : "Aquí pode decidir que grupo pode acceder a determinadas seccións da configuración de administración.",
"None" : "Ningún",
+ "Unable to modify setting" : "Non se puido modificar a configuración",
"Two-Factor Authentication" : "Autenticación de dous factores",
"Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "A autenticación de dous factores pode ser aplicada para todos os usuarios e grupos específicos. Se non tiveran configurado un provedor de dous factores, non podería acceder ao sistema.",
"Enforce two-factor authentication" : "Obrigar a autenticación de dous factores",
@@ -139,7 +172,6 @@ OC.L10N.register(
"View in store" : "Ver na tenda",
"Visit website" : "Visite o sitio web",
"Report a bug" : "Informar dun fallo",
- "User documentation" : "Documentación do usuario",
"Admin documentation" : "Documentación do administrador",
"Developer documentation" : "Documentación do desenvolvedor",
"This app is supported via your current Nextcloud subscription." : "Esta aplicación é compatíbel cos súa subscrición actual a Nextcloud.",
@@ -147,6 +179,7 @@ OC.L10N.register(
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "As aplicacións destacadas están desenvolvidas por e dentro da comunidade. Ofrecen unha funcionalidade central e están preparadas para o seu uso en produción.",
"Featured" : "Destacada",
"Update to {update}" : "Actualizar a {update}",
+ "All apps are up-to-date." : "Todas as aplicacións están actualizadas.",
"Results from other categories" : "Resultados doutras categorías",
"No apps found for your version" : "Non se atoparon aplicacións para a súa versión",
"Disable all" : "Desactivar todo",
@@ -158,6 +191,7 @@ OC.L10N.register(
"Rename" : "Renomear",
"Revoke" : "Revogar",
"Wipe device" : "Limpar o dispositivo",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "A revogación deste token pode impedir a eliminación do teu dispositivo se aínda non iniciou a eliminación.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -166,6 +200,10 @@ OC.L10N.register(
"Google Chrome for Android" : "Google Chrome para Android",
"iPhone" : "iPhone",
"iPad" : "iPad",
+ "{productName} iOS app" : "{productName} aplicación de iOS",
+ "{productName} Android app" : "{productName} aplicación de Android",
+ "{productName} Talk for iOS" : "{productName} Talk para iOS",
+ "{productName} Talk for Android" : "{productName} Talk para Android",
"Sync client - {os}" : "Cliente de sincronización - {os}",
"This session" : "Esta sesión",
"Device" : "Dispositivo",
@@ -190,12 +228,27 @@ OC.L10N.register(
"Copied!" : "Copiado!",
"Copy" : "Copiar",
"Could not copy app password. Please copy it manually." : "Non foi posíbel copiar o contrasinal da app. Cópieo manualmente.",
+ "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione correctamente, é importante configurar correctamente os traballos en segundo plano. Cron é a configuración recomendada. Consulte a documentación para obter máis información.",
+ "Last job execution ran {time}. Something seems wrong." : "A última execución do traballo executouse o {time}. Algo parece funcionar mal.",
+ "Last job ran {relativeTime}." : "O último traballo executouse {relativeTime}.",
+ "Background job did not run yet!" : "O traballo en segundo plano aínda non se executou!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Executar unha tarefa con cada páxina cargada. Caso de uso: instancia de usuario único.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php está rexistrado nun servizo webcron para chamar a cron.php cada 5 minutos a través de HTTP. Caso de uso: instancia moi pequena (de 1 a 5 usuarios segundo o uso).",
+ "Cron (Recommended)" : "Cron (Recomendado)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para executar isto necesitase a extensión POSIX de PHP. Vexa a {linkstart}documentación de PHP{linkend} para obter máis detalles. ",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use o servizo cron do sistema para chamar ao ficheiro cron.php cada 5 minutos. Recomendado para todos os casos.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "O cron.php debe ser executado polo usuario do sistema \"{user}\".",
+ "Unable to update background job mode" : "Non se puido actualizar o modo de traballo en segundo plano",
"Profile" : "Perfil",
+ "Enable or disable profile by default for new users." : "Activa ou desactiva o perfil por defecto para os novos usuarios.",
"Enable" : "Activar",
+ "Unable to update profile default setting" : "Non se puido actualizar a configuración predeterminada do perfil",
"Server-side encryption" : "Cifrado na parte do servidor",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "O cifrado do lado do servidor fai posíbel cifrar os ficheiros que van ser enviados a este servidor. Isto leva algunhas limitacións como penalizacións no rendemento, así que actíveo só se é necesario.",
"Enable server-side encryption" : "Activar o cifrado na parte do servidor",
+ "Please read carefully before activating server-side encryption:" : "Lea atentamente antes de activar o cifrado do servidor:",
"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." : "Una vez que o cifrado estea activado, todos os ficheiros enviados ao servidor dende ese punto en diante cifraranse en repouso no servidor. Só será posíbel desactivar o cifrado nunha data posterior se o módulo de cifrado activado admite esa función, e se cumpran todas as condicións previas (por exemplo, o estabelecemento dunha clave de recuperación).",
"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." : "O cifrado por si só non garante a seguridade do sistema. Vexa a documentación para obter máis información sobre como funciona a aplicación de cifrado e os casos de uso admitidos.",
"Be aware that encryption always increases the file size." : "Teña presente que o cifrado sempre incrementa o tamaño do ficheiro.",
@@ -203,30 +256,85 @@ OC.L10N.register(
"This is the final warning: Do you really want to enable encryption?" : "Esta é a advertencia final. Confirma que quere activar o cifrado?",
"No encryption module loaded, please enable an encryption module in the app menu." : "Non hai cargado ningún módulo de cifrado, active un módulo de cifrado no menú de aplicacións.",
"Select default encryption module:" : "Seleccionar o módulo predeterminado de cifrado:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Debes migrar as túas claves de cifrado do cifrado antigo (ownCloud <= 8.0) ao novo. Activa o \"Módulo de cifrado predeterminado\" e executa {command}",
+ "Unable to update server side encryption config" : "Non se puido actualizar a configuración de cifrado do servidor",
+ "Rename group" : "Cambiar o nome do grupo",
"Remove group" : "Retirar o grupo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Está a piques de retirar o grupo {group}. Os usuarios NON van seren eliminados.",
"Please confirm the group removal " : "Confirme a retirada do grupo ",
"Current password" : "Contrasinal actual",
"New password" : "Novo contrasinal",
"Change password" : "Cambiar o contrasinal",
+ "Your profile picture" : "A túa imaxe de perfil",
+ "Upload profile picture" : "Subir imaxe de perfil",
+ "Choose profile picture from files" : "Escolle a imaxe de perfil dende Ficheiros",
+ "Remove profile picture" : "Eliminar a imaxe de perfil",
"png or jpg, max. 20 MB" : "png ou jpg, max. 20 MB",
"Picture provided by original account" : "Imaxe fornecida pola conta orixinal ",
"Cancel" : "Cancelar",
+ "Set as profile picture" : "Establecer como imaxe de perfil",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Ten en conta que pode tardar ata 24 horas en actualizar a túa foto de perfil en todas partes.",
+ "Choose your profile picture" : "Escolle a túa imaxe de perfil",
+ "Please select a valid png or jpg file" : "Seleccione un ficheiro png ou jpg válido",
+ "Error setting profile picture" : "Produciuse un erro ao configurar a imaxe de perfil",
+ "Error cropping profile picture" : "Produciuse un erro ao recortar a imaxe de perfil",
+ "Error saving profile picture" : "Produciuse un erro ao gardar a imaxe de perfil",
+ "Error removing profile picture" : "Produciuse un erro ao eliminar a imaxe de perfil",
+ "Your biography" : "A túa biografía",
"Details" : "Detalles",
"You are a member of the following groups:" : "Vostede é membro dos seguintes grupos: ",
+ "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>",
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
+ "Your full name" : "O teu nome completo",
+ "Email options" : "Opcións de correo electrónico",
+ "Primary email for password reset and notifications" : "Correo electrónico principal para restablecer o contrasinal e notificacións",
+ "Remove primary email" : "Eliminar o correo electrónico principal",
+ "Delete email" : "Eliminar o correo electrónico",
+ "Unset as primary email" : "Desactivar como correo electrónico principal",
+ "This address is not confirmed" : "Este enderezo non está confirmado",
+ "Set as primary email" : "Establecer como correo electrónico principal",
"Your email address" : "O seu enderezo de correo",
+ "Additional email address {index}" : "Enderezo de correo electrónico adicional {index}",
+ "Unable to delete primary email address" : "Non se puido eliminar o enderezo de correo electrónico principal",
+ "Unable to update primary email address" : "Non se puido actualizar o enderezo de correo electrónico principal",
+ "Unable to add additional email address" : "Non se puido engadir un enderezo de correo electrónico adicional",
+ "Unable to update additional email address" : "Non se puido actualizar o enderezo de correo electrónico adicional",
+ "Unable to delete additional email address" : "Non se puido eliminar o enderezo de correo electrónico adicional",
"No email address set" : "Non hai un enderezo de correo definido",
+ "Additional emails" : "Correos electrónicos adicionais",
+ "Your handle" : "O teu apodo",
+ "Your headline" : "O teu titular",
"Language" : "Idioma",
"Help translate" : "Axude na tradución",
+ "Unable to update language" : "Non se puido actualizar o idioma",
"No language set" : "Non foi estabelecido ningún idioma",
"Locale" : "Configuración rexional",
+ "Week starts on {firstDayOfWeek}" : "A semana comeza o {firstDayOfWeek}",
+ "Unable to update locale" : "Non se puido actualizar a configuración rexional",
+ "No locale set" : "Non se definiu ningunha configuración rexional",
+ "Your location" : "A túa localización",
+ "Your organisation" : "A súa organización",
"Your phone number" : "O seu número de teléfono",
+ "Edit your Profile visibility" : "Edita a visibilidade do teu Perfil",
+ "Enable Profile" : "Activar o Perfil",
+ "Unable to update profile enabled state" : "Non se puido actualizar o estado activado do perfil",
+ "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "A configuración máis restritiva de visibilidade ou alcance é respectada no teu Perfil. Por exemplo, se a visibilidade está definida como \"Mostrar a todos\" e o ámbito está configurado como \"Privado\", respéctase \"Privado\".",
+ "{displayId}" : "{displayId}",
+ "Unable to update visibility of {displayId}" : "Non se puido actualizar a visibilidade de {displayId}",
+ "Your role" : "O teu cargo",
"Your Twitter handle" : "O seu usuario do Twitter",
"Your website" : "O seu sitio web",
+ "No {property} set" : "Non hai {property} definida",
+ "Unable to update {property}" : "Non se puido actualizar a {property}",
+ "Change scope level of {property}, current scope is {scope}" : "Cambiar o nivel de ámbito de {property}, o ámbito actual é {scope}",
+ "Unable to update federation scope of the primary {property}" : "Non se puido actualizar o ámbito de federación da {property} principal",
+ "Unable to update federation scope of additional {property}" : "Non se puido actualizar o ámbito da federación de {property} adicional",
+ "Add additional email" : "Engade correo electrónico adicional",
"Add" : "Engadir",
"You do not have permissions to see the details of this user" : "Vostede non ten permisos para ver os detalles deste usuario",
"Add new password" : "Engadir un novo contrasinal",
"Add new email address" : "Engadir un novo enderezo de correo",
+ "Add user to group" : "Engadir usuario ao grupo",
"Set user as admin for" : "Estabelecer o usuario como administrador para",
"Select user quota" : "Seleccionar a cota de usuario",
"Delete user" : "Eliminar usuario",
@@ -258,6 +366,7 @@ OC.L10N.register(
"No users in here" : "Aquí non hai usuarios",
"Default quota" : "Cota predeterminada",
"Common languages" : "Idiomas habituais",
+ "Other languages" : "Outras linguas",
"Password change is disabled because the master key is disabled" : "O cambio de contrasinal está desactivado porque a clave principal está desactivada",
"Passwordless authentication requires a secure connection." : "A autenticación sen contrasinal require dunha conexión segura.",
"Add WebAuthn device" : "Engadir un dispositivo WebAuthn",
@@ -273,11 +382,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Os seguintes dispositivos están configurados para a súa conta:",
"Your browser does not support WebAuthn." : "O seu navegador non é compatíbel co WebAuthn.",
"Your apps" : "As súas aplicacións",
- "Active apps" : "Aplcativos activos",
- "Disabled apps" : "Aplicacións desactivadas",
- "Updates" : "Actualizacións",
- "App bundles" : "Paquetes de aplicacións",
- "Featured apps" : "Aplis destacadas",
"{license}-licensed" : "Licenciado baixo a {license}",
"Changelog" : "Rexistro de cambios",
"by {author}\n{license}" : "por {author}\n{license}",
@@ -300,18 +404,34 @@ OC.L10N.register(
"Profile picture" : "Imaxe do perfil",
"About" : "Sobre",
"Full name" : "Nome completo",
+ "Additional email" : "Correo electrónico adicional",
"Headline" : "Titular",
+ "Organisation" : "Organización",
"Phone number" : "Número de teléfono",
"Role" : "Cargo",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverso (por exemplo, Mastodon)",
"Website" : "Sitio web",
+ "Profile visibility" : "Visibilidade do perfil",
+ "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non dispoñible, xa que esta propiedade é necesaria para as funcións básicas, como compartir ficheiros e invitacións de calendario",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Non dispoñible porque a federación foi desactivada para a túa conta, ponte en contacto co administrador do sistema se tes algunha dúbida",
+ "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non está dispoñible xa que non se permite publicar datos específicos do usuario no servidor de busca, póñase en contacto co administrador do sistema se tes algunha dúbida",
+ "Active apps" : "Aplcativos activos",
+ "Disabled apps" : "Aplicacións desactivadas",
+ "Updates" : "Actualizacións",
+ "App bundles" : "Paquetes de aplicacións",
+ "Featured apps" : "Aplis destacadas",
+ "Show to everyone" : "Mostrar a todos",
+ "Show to logged in users only" : "Mostrar só a usuarios que iniciaron sesión",
"Hide" : "Agochar",
"Download and enable" : "Descargar e activar",
"Enable untested app" : "Activar a aplicación sen probar",
+ "The app will be downloaded from the App Store" : "A aplicación descargarase da Tenda de Aplicacións",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación non está marcado como compatíbel coa súa versión do Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.",
"Never" : "Nunca",
+ "An error occurred during the request. Unable to proceed." : "Produciuse un erro durante a solicitude. Non se pode continuar.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A aplicación foi activada pero necesita ser actualizada. Vai ser redirixido cara a páxina de actualizarións en 5 segundos.",
- "Administrator documentation" : "Documentación do administrador",
+ "Error: This app cannot be enabled because it makes the server unstable" : "Erro: esta aplicación non se pode activar porque fai que o servidor sexa inestable",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Acceso",
@@ -333,6 +453,7 @@ OC.L10N.register(
"SMTP Username" : "Nome de usuario SMTP",
"SMTP Password" : "Contrasinal SMTP",
"Save" : "Gardar",
+ "Test and verify email settings" : "Proba e verifica a configuración do correo electrónico",
"Send email" : "Enviar o correo",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a seguridade e o bo funcionamento da súa instancia que todo estea configurado correctamente. Para axudarlle niso, imos facer algunhas comprobacións automáticas. Vexa a documentación ligada para obter máis información. ",
"All checks passed." : "Pasáronse todas as verificacións.",
@@ -342,15 +463,21 @@ OC.L10N.register(
"Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Volva verificar as <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guías de instalación ↗</a>, e comprobe que non haxa erros ou avisos no <a href=\"%2$s\">rexistro</a>. ",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Comprobe a seguridade do seu Nextcloud empregando o <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">noso escaneo de seguridade ↗</a>.",
"Version" : "Versión",
+ "You need to enable the File sharing App." : "Debes activar a Aplicación Compartir ficheiros.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode facer axustes finos do comportamento al compartir. Lea a documentación para obter máis más información.",
"Allow apps to use the Share API" : "Permitir que as aplicacións empreguen a API para compartir",
"Set default expiration date for shares" : "Estabeleza a data de caducidade predeterminada das comparticións",
+ "Expire after" : "Caduca tras",
"day(s)" : "día(s)",
"Enforce expiration date" : "Forzar a data de caducidade",
+ "Set default expiration date for shares to other servers" : "Establece a data de caducidade predeterminada para as accións compartidas con outros servidores",
+ "Allow users to share via link and emails" : "Permitir aos usuarios compartir mediante ligazóns e correos electrónicos",
"Allow public uploads" : "Permitir os envíos públicos",
"Always ask for a password" : "Pedir sempre un contrasinal",
"Enforce password protection" : "Forzar a protección por contrasinal",
+ "Exclude groups from password requirements:" : "Excluír grupos dos requisitos de contrasinal:",
"Set default expiration date" : "Definir a data predeterminada de caducidade",
+ "Exclude groups from creating link shares:" : "Excluír grupos da creación de ligazóns compartidas:",
"Allow resharing" : "Permitir compartir",
"Allow sharing with groups" : "Permitir compartir con grupos",
"Restrict users to only share with users in their groups" : "Restrinxir os usuarios a compartir só cos usuarios dos seus grupos",
@@ -358,6 +485,9 @@ OC.L10N.register(
"These groups will still be able to receive shares, but not to initiate them." : "Estes grupos poderán recibir comparticións, mais non inicialas.",
"Allow username autocompletion in share dialog" : "Permitir autocompletar o nome de usuario no diálogo de compartir",
"Allow username autocompletion to users within the same groups" : "Permitir autocompletar o nome de usuario aos usuarios dos mesmos grupos",
+ "Allow username autocompletion to users based on phone number integration" : "Permitir o autocompletado do nome de usuario aos usuarios en función da integración do número de teléfono",
+ "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Se está activado o autocompletado \"mesmo grupo\" e a \"integración do número de teléfono\", unha coincidencia en calquera é suficiente para mostrar ao usuario.",
+ "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir o autocompletado ao introducir o nome completo ou o enderezo de correo electrónico (ignorando a coincidencia que falta na axenda telefónica e estar no mesmo grupo)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Amosar o texto de exención de responsabilidade na páxina de envío de ligazóns publicas (amosarase só cando a lista de ficheiros estea agochada)",
"This text will be shown on the public link upload page when the file list is hidden." : "Este texto amosarase na páxina de envío das ligazóns públicas cando a lista de ficheiros estea agochada.",
"Default share permissions" : "Permisos predeterminados para compartir",
@@ -368,6 +498,7 @@ OC.L10N.register(
"Follow us on Mastodon" : "Síganos na Mastodon",
"Check out our blog" : "Visite o noso blog ",
"Subscribe to our newsletter" : "Subscríbase ao noso boletín",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Esta versión comunitaria de Nextcloud non é compatible e as notificacións instantáneas non están dispoñibles.",
"Use a second factor besides your password to increase security for your account." : "Empregue un segundo factor ademais do seu contrasinal para aumentar a seguridade da súa conta.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : " Se usa aplicacións de terceiros para conectarse a Nextcloud, asegúrese de crear e configurar un contrasinal de aplicación para cada unha antes de activar a autenticación de segundo factor.",
"Migration in progress. Please wait until the migration is finished" : "A migración está en proceso. Agarde a que remate.",
@@ -380,7 +511,18 @@ OC.L10N.register(
"Couldn't update app." : "Non foi posíbel actualizar a aplicación.",
"Backend doesn't support password change, but the user's encryption key was updated." : "A infraestrutura non admite o cambio de contrasinal, mais a clave de cifrado do usuario foi actualizada.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Non foi posíbel determinar se a versión TLS de cURL está desactualizada ou non porque se produciu un erro durante a solicitude HTTPS contra https://nextcloud.com. Consulte o ficheiro de rexistro de Nextcloud para obter máis detalles.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves OPcache está case superado. Para garantir que todos os scripts se poidan gardar na caché, recoméndase aplicar <code>opcache.max_accelerated_files</code> á súa configuración de PHP cun valor superior a <code>%s</code>.",
+ "Admin privileges" : "Privilexios de administrador",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "O revogado deste testemuño pode impedir a limpeza deste dispositivo se aínda non comezou.",
+ "Unable to update biography" : "Non se puido actualizar a biografía",
+ "Unable to update full name" : "Non se puido actualizar o nome completo",
+ "No full name set" : "Non se definiu ningún nome completo",
+ "Unable to update headline" : "Non se puido actualizar o titular",
+ "Unable to update organisation" : "Non se puido actualizar a organización",
+ "Unable to update role" : "Non se puido actualizar o cargo",
+ "Change scope level of {accountProperty}" : "Cambiar o nivel de ámbito de {accountProperty}",
+ "Unable to update federation scope of the primary {accountProperty}" : "Non se puido actualizar o ámbito de federación da {accountProperty} principal",
+ "Unable to update federation scope of additional {accountProperty}" : "Non se puido actualizar o ámbito da federación de {accountProperty} adicional",
"Address" : "Enderezo",
"Avatar" : "Avatar",
"An error occured during the request. Unable to proceed." : "Produciuse un erro durante a solicitude. Non é posíbel continuar.",
@@ -394,19 +536,26 @@ OC.L10N.register(
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Dende %s non se executou ningún traballo. Considere cambiar ao cron do sistema.",
"Last job ran %s." : "O último traballo executouse %s.",
"Background job didn’t run yet!" : "O traballo en segundo plano aínda non se executou!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione correctamente, é importante configurar correctamente os traballos en segundo plano. \"Cron\" é a configuración recomendada. Consulte a documentación para obter máis información.",
"Pick background job setting" : "Escolla os axustes do traballo en segundo plano",
"Recommended" : "Recomendado",
"The cron.php needs to be executed by the system user \"%s\"." : "O cron.php debe ser executado polo usuario do sistema «%s»",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir autocompletar o nome de usuario cando se introduce o nome completo ou o enderezo de correo-e ignorando a coincidencia da lista de teléfonos que falta e está no mesmo grupo",
+ "Change privacy level of profile picture" : "Cambia o nivel de privacidade da imaxe de perfil",
"Upload new" : "Novo envío",
"Select from Files" : "Seleccionar dende Ficheiros",
"Remove image" : "Retirar a imaxe",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Ten en conta que o avatar pode tardar ata 24 horas en actualizarse en todas partes.",
"Choose as profile picture" : "Seleccionar como imaxe do perfil",
"You are using <strong>%s</strong>" : "Está usando <strong>%s</strong>",
"You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Está usando <strong>%1$s</strong> de <strong>%2$s</strong> (<strong>%3$s%%)",
+ "Change privacy level of phone number" : "Cambia o nivel de privacidade do número de teléfono",
+ "Change privacy level of address" : "Cambia o nivel de privacidade do enderezo",
"Your postal address" : "O seu enderezo postal",
+ "Change privacy level of website" : "Cambiar o nivel de privacidade do sitio web",
"It can take up to 24 hours before the account is displayed as verified." : "Pode levar ata 24 horas antes de que a conta apareza como como verificada.",
"Link https://…" : "Ligazón https://…",
+ "Change privacy level of Twitter profile" : "Cambia o nivel de privacidade do perfil de Twitter",
"Twitter handle @…" : "Usuario do Twitter @…"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/settings/l10n/gl.json b/apps/settings/l10n/gl.json
index 9f7f89f1447..c8279dc762e 100644
--- a/apps/settings/l10n/gl.json
+++ b/apps/settings/l10n/gl.json
@@ -1,8 +1,11 @@
{ "translations": {
"Private" : "Privado",
+ "Only visible to people matched via phone number integration through Talk on mobile" : "Só son visibles para as persoas coincidentes mediante a integración do número de teléfono a través de Talk no móbil",
"Local" : "Local",
+ "Only visible to people on this instance and guests" : "Só visible para as persoas desta instancia e os convidados",
"Federated" : "Federado",
"Only synchronize to trusted servers" : "Sincronizar só con servidores de confianza",
+ "Published" : "Publicado",
"Synchronize to trusted servers and the global and public address book" : "Sincronizar con servidores de confianza e co caderno de enderezos global e público",
"Verify" : "Verificar",
"Verifying …" : "Verificando…",
@@ -34,6 +37,7 @@
"You changed your email address" : "Vostede cambiou o seu enderezo de correo",
"Your email address was changed by an administrator" : "O seu enderezo de correo foi cambiado por un administrador",
"You created app password \"{token}\"" : "Vostede creou o contrasinal da aplicación «{token}»",
+ "An administrator created app password \"{token}\"" : "Un administrador creou o contrasinal da aplicación \"{token}\"",
"You deleted app password \"{token}\"" : "Vostede eliminou o contrasinal da aplicación «{token}»",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Vostede renomeou o contrasinal da aplicación «{token}» como «{newToken}»",
"You granted filesystem access to app password \"{token}\"" : "Vostede concedeu acceso ao sistema de ficheiros ao contrasinal da aplicación «{token}»",
@@ -44,26 +48,45 @@
"Remote wipe was started on %1$s" : "Iniciouse a limpeza remota en %1$s",
"Remote wipe has finished on %1$s" : "Rematou a limpeza remota en %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Foi modificado o seu <strong>contrasinal</strong> ou o seu <strong>correo electrónico</strong>",
+ "Could not remove app." : "Non se puido eliminar a aplicación.",
+ "Could not update app." : "Non se puido actualizar a aplicación.",
"Wrong password" : "Contrasinal incorrecto",
+ "Unable to change personal password" : "Non se puido cambiar o contrasinal persoal",
"Saved" : "Gardado",
"No user supplied" : "Non subministrado polo usuario",
+ "Unable to change password. Password too long." : "Non se puido cambiar o contrasinal. O contrasinal é demasiado longo.",
"Authentication error" : "Produciuse un erro de autenticación",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Forneza un contrasinal de recuperación de administrador; senón perderase toda a información do usuario.",
"Wrong admin recovery password. Please check the password and try again." : "Contrasinal de recuperación do administrador incorrecto. Comprobe o contrasinal e ténteo de novo.",
+ "Backend does not support password change, but the user's encryption key was updated." : "O backend non admite o cambio de contrasinal, pero actualizouse a clave de cifrado do usuario.",
+ "installing and updating apps via the App Store or Federated Cloud Sharing" : "instalar e actualizar aplicacións a través da App Store ou Federated Cloud Sharing",
"Federated Cloud Sharing" : "Nube federada compartida",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL está utilizando unha versión obsoleta %1$s (%2$s). Actualice o seu sistema operativo, caso contrario características como %3$s non funcionarán de xeito fiábel.",
+ "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Non se puido determinar se a versión TLS de cURL está desactualizada ou non porque se produciu un erro durante a solicitude HTTPS contra https://nextcloud.com. Consulte o ficheiro de rexistro de Nextcloud para obter máis detalles.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "O módulo PHP OPcache non está cargado. Para un mellor rendemento, recoméndase cargalo na súa instalación de PHP.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache está desactivado. Para un mellor rendemento, recoméndase aplicar <code>opcache.enable=1</code> á súa configuración de PHP.",
+ "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache está configurado para eliminar comentarios de código. Con OPcache activado, debe configurarse <code>opcache.save_comments=1</code> para que Nextcloud funcione.",
+ "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. Con OPcache activado, é moi recomendable incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar esta configuración para desactivar as restricións da API de OPcache, para evitar erros durante as actualizacións do núcleo de Nextcloud ou da aplicación.",
+ "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud non pode usar a API OPcache. É moi recomendable incluír todos os directorios de Nextcloud con <code>opcache.restrict_api</code> ou desactivar esta configuración para desactivar as restricións da API de OPcache, para evitar erros durante as actualizacións do núcleo de Nextcloud ou das aplicacións.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves OPcache está case superado. Para garantir que todos os scripts poden manterse na caché, recoméndase aplicar <code>opcache.max_accelerated_files</code> á súa configuración de PHP cun valor superior a <code>%s</code>.",
+ "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer OPcache está case cheo. Para garantir que todos os scripts se poidan gardar na caché, recoméndase aplicar <code>opcache.memory_consumption</code> á súa configuración de PHP cun valor superior a <code>%s</code>.",
+ "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O búfer de cadeas internadas en OPcache está case cheo. Para asegurarse de que as cadeas que se repiten poidan almacenarse na caché de forma efectiva, recoméndase aplicar <code>opcache.interned_strings_buffer</code> á súa configuración de PHP cun valor superior a <code>%s</code>.",
+ "Administrator documentation" : "Documentación do administrador",
+ "User documentation" : "Documentación do usuario",
"Invalid SMTP password." : "Contrasinal SMTP incorrecta.",
"Email setting test" : "Proba do axuste do correo",
"Well done, %s!" : "Ben feito, %s!",
"If you received this email, the email configuration seems to be correct." : "Se vostede ten recibido este correo, a configuración do correo semella ser correcta. ",
"Email could not be sent. Check your mail server log" : "Non foi posíbel enviar o correo. Comprobe o rexistro do servidor de correo",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ocorreu un problema ao enviar o correo. Revise a súa configuración. (Erro: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Debes configurar o teu correo electrónico de usuario antes de poder enviar correos electrónicos de proba. Vaia a %spara iso.",
"Invalid user" : "Usuario incorrecto",
"Invalid mail address" : "Enderezo de correo incorrecto",
"Settings saved" : "Axustes gardados",
"Unable to change full name" : "Non é posíbel cambiar o nome completo",
"Unable to change email address" : "Non é posíbel cambiar o enderezo de correo.",
"Unable to set invalid phone number" : "Non é posíbel estabelecer un número de teléfono non válido",
+ "Unable to set invalid website" : "Non se puido establecer o sitio web non válido",
"Some account data was invalid" : "Algúns datos da conta non eran válidos",
"In order to verify your Twitter account, post the following tweet on Twitter (please make sure to post it without any line breaks):" : "Para poder verificar a súa conta de Twitter, publique o seguinte chío en Twitter (asegúrese de publicar sen ningún salto de liña):",
"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):" : "Para poder verificar o seu sitio Web, engada o seguinte contido ao seu web-root en «.well-known/CloudIdVerificationCode.txt» (asegúrese de que o texto completo estea só nunha liña):",
@@ -93,10 +116,12 @@
"Personal" : "Persoal",
"Administration" : "Administración",
"Additional settings" : "Axustes adicionais",
+ "Administration privileges" : "Privilexios de administración",
"Groupware" : "Software colaborativo",
"Overview" : "Vista xeral",
"Basic settings" : "Axustes básicos",
"Sharing" : "Compartindo",
+ "Availability" : "Dispoñibilidade",
"Calendar" : "Calendario",
"Personal info" : "Información persoal",
"Mobile & desktop" : "Móbil e escritorio",
@@ -111,9 +136,17 @@
"Verifying" : "Verificando",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Está pendente un traballo en segundo plano que comprobe os certificados SSL importados polo usuario. Volva comprobar máis adiante.",
"There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Hai algúns certificados SSL importados polo usuario, que xa non se usan con Nextcloud 21. Pódense importar coa liña de ordes mediante a orde «occ security:certificates:import». As súas rutas dentro do directorio de datos amosanse deseguido.",
+ "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them." : "Atopáronse UUID non válidos de usuarios ou grupos LDAP. Revisa a túa configuración de \"Anular detección de UUID\" na parte Experto da configuración LDAP e utiliza \"occ ldap:update-uuid\" para actualizalos.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "O antigo formato de cifrado de lado do servidor está activado. Recomendámoslle desactivalo.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "Utilízase a versión \"%s\" de MariaDB. Nextcloud 21 ou superior non admite esta versión e require MariaDB 10.2 ou superior.",
+ "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "Utilízase a versión de MySQL \"%s\". Nextcloud 21 e superior non admite esta versión e requiren MySQL 8.0 ou MariaDB 10.2 ou superior.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "Utilízase a versión de PostgreSQL \"%s\". Nextcloud 21 ou superior non admite esta versión e require PostgreSQL 9.6 ou superior.",
+ "Profile information" : "Información do perfil",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Imaxe de perfil, nome completo, correo electrónico, número de teléfono, enderezo, sitio web, Twitter, organización, función, título, biografía e se o teu perfil está activado",
"Nextcloud settings" : "Axustes do Nextcloud",
+ "Here you can decide which group can access certain sections of the administration settings." : "Aquí pode decidir que grupo pode acceder a determinadas seccións da configuración de administración.",
"None" : "Ningún",
+ "Unable to modify setting" : "Non se puido modificar a configuración",
"Two-Factor Authentication" : "Autenticación de dous factores",
"Two-factor authentication can be enforced for all users and specific groups. If they do not have a two-factor provider configured, they will be unable to log into the system." : "A autenticación de dous factores pode ser aplicada para todos os usuarios e grupos específicos. Se non tiveran configurado un provedor de dous factores, non podería acceder ao sistema.",
"Enforce two-factor authentication" : "Obrigar a autenticación de dous factores",
@@ -137,7 +170,6 @@
"View in store" : "Ver na tenda",
"Visit website" : "Visite o sitio web",
"Report a bug" : "Informar dun fallo",
- "User documentation" : "Documentación do usuario",
"Admin documentation" : "Documentación do administrador",
"Developer documentation" : "Documentación do desenvolvedor",
"This app is supported via your current Nextcloud subscription." : "Esta aplicación é compatíbel cos súa subscrición actual a Nextcloud.",
@@ -145,6 +177,7 @@
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "As aplicacións destacadas están desenvolvidas por e dentro da comunidade. Ofrecen unha funcionalidade central e están preparadas para o seu uso en produción.",
"Featured" : "Destacada",
"Update to {update}" : "Actualizar a {update}",
+ "All apps are up-to-date." : "Todas as aplicacións están actualizadas.",
"Results from other categories" : "Resultados doutras categorías",
"No apps found for your version" : "Non se atoparon aplicacións para a súa versión",
"Disable all" : "Desactivar todo",
@@ -156,6 +189,7 @@
"Rename" : "Renomear",
"Revoke" : "Revogar",
"Wipe device" : "Limpar o dispositivo",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "A revogación deste token pode impedir a eliminación do teu dispositivo se aínda non iniciou a eliminación.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -164,6 +198,10 @@
"Google Chrome for Android" : "Google Chrome para Android",
"iPhone" : "iPhone",
"iPad" : "iPad",
+ "{productName} iOS app" : "{productName} aplicación de iOS",
+ "{productName} Android app" : "{productName} aplicación de Android",
+ "{productName} Talk for iOS" : "{productName} Talk para iOS",
+ "{productName} Talk for Android" : "{productName} Talk para Android",
"Sync client - {os}" : "Cliente de sincronización - {os}",
"This session" : "Esta sesión",
"Device" : "Dispositivo",
@@ -188,12 +226,27 @@
"Copied!" : "Copiado!",
"Copy" : "Copiar",
"Could not copy app password. Please copy it manually." : "Non foi posíbel copiar o contrasinal da app. Cópieo manualmente.",
+ "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione correctamente, é importante configurar correctamente os traballos en segundo plano. Cron é a configuración recomendada. Consulte a documentación para obter máis información.",
+ "Last job execution ran {time}. Something seems wrong." : "A última execución do traballo executouse o {time}. Algo parece funcionar mal.",
+ "Last job ran {relativeTime}." : "O último traballo executouse {relativeTime}.",
+ "Background job did not run yet!" : "O traballo en segundo plano aínda non se executou!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Executar unha tarefa con cada páxina cargada. Caso de uso: instancia de usuario único.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php está rexistrado nun servizo webcron para chamar a cron.php cada 5 minutos a través de HTTP. Caso de uso: instancia moi pequena (de 1 a 5 usuarios segundo o uso).",
+ "Cron (Recommended)" : "Cron (Recomendado)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "Para executar isto necesitase a extensión POSIX de PHP. Vexa a {linkstart}documentación de PHP{linkend} para obter máis detalles. ",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Use o servizo cron do sistema para chamar ao ficheiro cron.php cada 5 minutos. Recomendado para todos os casos.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "O cron.php debe ser executado polo usuario do sistema \"{user}\".",
+ "Unable to update background job mode" : "Non se puido actualizar o modo de traballo en segundo plano",
"Profile" : "Perfil",
+ "Enable or disable profile by default for new users." : "Activa ou desactiva o perfil por defecto para os novos usuarios.",
"Enable" : "Activar",
+ "Unable to update profile default setting" : "Non se puido actualizar a configuración predeterminada do perfil",
"Server-side encryption" : "Cifrado na parte do servidor",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "O cifrado do lado do servidor fai posíbel cifrar os ficheiros que van ser enviados a este servidor. Isto leva algunhas limitacións como penalizacións no rendemento, así que actíveo só se é necesario.",
"Enable server-side encryption" : "Activar o cifrado na parte do servidor",
+ "Please read carefully before activating server-side encryption:" : "Lea atentamente antes de activar o cifrado do servidor:",
"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." : "Una vez que o cifrado estea activado, todos os ficheiros enviados ao servidor dende ese punto en diante cifraranse en repouso no servidor. Só será posíbel desactivar o cifrado nunha data posterior se o módulo de cifrado activado admite esa función, e se cumpran todas as condicións previas (por exemplo, o estabelecemento dunha clave de recuperación).",
"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." : "O cifrado por si só non garante a seguridade do sistema. Vexa a documentación para obter máis información sobre como funciona a aplicación de cifrado e os casos de uso admitidos.",
"Be aware that encryption always increases the file size." : "Teña presente que o cifrado sempre incrementa o tamaño do ficheiro.",
@@ -201,30 +254,85 @@
"This is the final warning: Do you really want to enable encryption?" : "Esta é a advertencia final. Confirma que quere activar o cifrado?",
"No encryption module loaded, please enable an encryption module in the app menu." : "Non hai cargado ningún módulo de cifrado, active un módulo de cifrado no menú de aplicacións.",
"Select default encryption module:" : "Seleccionar o módulo predeterminado de cifrado:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Debes migrar as túas claves de cifrado do cifrado antigo (ownCloud <= 8.0) ao novo. Activa o \"Módulo de cifrado predeterminado\" e executa {command}",
+ "Unable to update server side encryption config" : "Non se puido actualizar a configuración de cifrado do servidor",
+ "Rename group" : "Cambiar o nome do grupo",
"Remove group" : "Retirar o grupo",
"You are about to remove the group {group}. The users will NOT be deleted." : "Está a piques de retirar o grupo {group}. Os usuarios NON van seren eliminados.",
"Please confirm the group removal " : "Confirme a retirada do grupo ",
"Current password" : "Contrasinal actual",
"New password" : "Novo contrasinal",
"Change password" : "Cambiar o contrasinal",
+ "Your profile picture" : "A túa imaxe de perfil",
+ "Upload profile picture" : "Subir imaxe de perfil",
+ "Choose profile picture from files" : "Escolle a imaxe de perfil dende Ficheiros",
+ "Remove profile picture" : "Eliminar a imaxe de perfil",
"png or jpg, max. 20 MB" : "png ou jpg, max. 20 MB",
"Picture provided by original account" : "Imaxe fornecida pola conta orixinal ",
"Cancel" : "Cancelar",
+ "Set as profile picture" : "Establecer como imaxe de perfil",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Ten en conta que pode tardar ata 24 horas en actualizar a túa foto de perfil en todas partes.",
+ "Choose your profile picture" : "Escolle a túa imaxe de perfil",
+ "Please select a valid png or jpg file" : "Seleccione un ficheiro png ou jpg válido",
+ "Error setting profile picture" : "Produciuse un erro ao configurar a imaxe de perfil",
+ "Error cropping profile picture" : "Produciuse un erro ao recortar a imaxe de perfil",
+ "Error saving profile picture" : "Produciuse un erro ao gardar a imaxe de perfil",
+ "Error removing profile picture" : "Produciuse un erro ao eliminar a imaxe de perfil",
+ "Your biography" : "A túa biografía",
"Details" : "Detalles",
"You are a member of the following groups:" : "Vostede é membro dos seguintes grupos: ",
+ "You are using <strong>{usage}</strong>" : "Estás usando <strong>{usage}</strong>",
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Estás usando <strong>{usage}</strong> de <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
+ "Your full name" : "O teu nome completo",
+ "Email options" : "Opcións de correo electrónico",
+ "Primary email for password reset and notifications" : "Correo electrónico principal para restablecer o contrasinal e notificacións",
+ "Remove primary email" : "Eliminar o correo electrónico principal",
+ "Delete email" : "Eliminar o correo electrónico",
+ "Unset as primary email" : "Desactivar como correo electrónico principal",
+ "This address is not confirmed" : "Este enderezo non está confirmado",
+ "Set as primary email" : "Establecer como correo electrónico principal",
"Your email address" : "O seu enderezo de correo",
+ "Additional email address {index}" : "Enderezo de correo electrónico adicional {index}",
+ "Unable to delete primary email address" : "Non se puido eliminar o enderezo de correo electrónico principal",
+ "Unable to update primary email address" : "Non se puido actualizar o enderezo de correo electrónico principal",
+ "Unable to add additional email address" : "Non se puido engadir un enderezo de correo electrónico adicional",
+ "Unable to update additional email address" : "Non se puido actualizar o enderezo de correo electrónico adicional",
+ "Unable to delete additional email address" : "Non se puido eliminar o enderezo de correo electrónico adicional",
"No email address set" : "Non hai un enderezo de correo definido",
+ "Additional emails" : "Correos electrónicos adicionais",
+ "Your handle" : "O teu apodo",
+ "Your headline" : "O teu titular",
"Language" : "Idioma",
"Help translate" : "Axude na tradución",
+ "Unable to update language" : "Non se puido actualizar o idioma",
"No language set" : "Non foi estabelecido ningún idioma",
"Locale" : "Configuración rexional",
+ "Week starts on {firstDayOfWeek}" : "A semana comeza o {firstDayOfWeek}",
+ "Unable to update locale" : "Non se puido actualizar a configuración rexional",
+ "No locale set" : "Non se definiu ningunha configuración rexional",
+ "Your location" : "A túa localización",
+ "Your organisation" : "A súa organización",
"Your phone number" : "O seu número de teléfono",
+ "Edit your Profile visibility" : "Edita a visibilidade do teu Perfil",
+ "Enable Profile" : "Activar o Perfil",
+ "Unable to update profile enabled state" : "Non se puido actualizar o estado activado do perfil",
+ "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "A configuración máis restritiva de visibilidade ou alcance é respectada no teu Perfil. Por exemplo, se a visibilidade está definida como \"Mostrar a todos\" e o ámbito está configurado como \"Privado\", respéctase \"Privado\".",
+ "{displayId}" : "{displayId}",
+ "Unable to update visibility of {displayId}" : "Non se puido actualizar a visibilidade de {displayId}",
+ "Your role" : "O teu cargo",
"Your Twitter handle" : "O seu usuario do Twitter",
"Your website" : "O seu sitio web",
+ "No {property} set" : "Non hai {property} definida",
+ "Unable to update {property}" : "Non se puido actualizar a {property}",
+ "Change scope level of {property}, current scope is {scope}" : "Cambiar o nivel de ámbito de {property}, o ámbito actual é {scope}",
+ "Unable to update federation scope of the primary {property}" : "Non se puido actualizar o ámbito de federación da {property} principal",
+ "Unable to update federation scope of additional {property}" : "Non se puido actualizar o ámbito da federación de {property} adicional",
+ "Add additional email" : "Engade correo electrónico adicional",
"Add" : "Engadir",
"You do not have permissions to see the details of this user" : "Vostede non ten permisos para ver os detalles deste usuario",
"Add new password" : "Engadir un novo contrasinal",
"Add new email address" : "Engadir un novo enderezo de correo",
+ "Add user to group" : "Engadir usuario ao grupo",
"Set user as admin for" : "Estabelecer o usuario como administrador para",
"Select user quota" : "Seleccionar a cota de usuario",
"Delete user" : "Eliminar usuario",
@@ -256,6 +364,7 @@
"No users in here" : "Aquí non hai usuarios",
"Default quota" : "Cota predeterminada",
"Common languages" : "Idiomas habituais",
+ "Other languages" : "Outras linguas",
"Password change is disabled because the master key is disabled" : "O cambio de contrasinal está desactivado porque a clave principal está desactivada",
"Passwordless authentication requires a secure connection." : "A autenticación sen contrasinal require dunha conexión segura.",
"Add WebAuthn device" : "Engadir un dispositivo WebAuthn",
@@ -271,11 +380,6 @@
"The following devices are configured for your account:" : "Os seguintes dispositivos están configurados para a súa conta:",
"Your browser does not support WebAuthn." : "O seu navegador non é compatíbel co WebAuthn.",
"Your apps" : "As súas aplicacións",
- "Active apps" : "Aplcativos activos",
- "Disabled apps" : "Aplicacións desactivadas",
- "Updates" : "Actualizacións",
- "App bundles" : "Paquetes de aplicacións",
- "Featured apps" : "Aplis destacadas",
"{license}-licensed" : "Licenciado baixo a {license}",
"Changelog" : "Rexistro de cambios",
"by {author}\n{license}" : "por {author}\n{license}",
@@ -298,18 +402,34 @@
"Profile picture" : "Imaxe do perfil",
"About" : "Sobre",
"Full name" : "Nome completo",
+ "Additional email" : "Correo electrónico adicional",
"Headline" : "Titular",
+ "Organisation" : "Organización",
"Phone number" : "Número de teléfono",
"Role" : "Cargo",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverso (por exemplo, Mastodon)",
"Website" : "Sitio web",
+ "Profile visibility" : "Visibilidade do perfil",
+ "Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non dispoñible, xa que esta propiedade é necesaria para as funcións básicas, como compartir ficheiros e invitacións de calendario",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Non dispoñible porque a federación foi desactivada para a túa conta, ponte en contacto co administrador do sistema se tes algunha dúbida",
+ "Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non está dispoñible xa que non se permite publicar datos específicos do usuario no servidor de busca, póñase en contacto co administrador do sistema se tes algunha dúbida",
+ "Active apps" : "Aplcativos activos",
+ "Disabled apps" : "Aplicacións desactivadas",
+ "Updates" : "Actualizacións",
+ "App bundles" : "Paquetes de aplicacións",
+ "Featured apps" : "Aplis destacadas",
+ "Show to everyone" : "Mostrar a todos",
+ "Show to logged in users only" : "Mostrar só a usuarios que iniciaron sesión",
"Hide" : "Agochar",
"Download and enable" : "Descargar e activar",
"Enable untested app" : "Activar a aplicación sen probar",
+ "The app will be downloaded from the App Store" : "A aplicación descargarase da Tenda de Aplicacións",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Esta aplicación non está marcado como compatíbel coa súa versión do Nextcloud. Se continúa, poderá instalar a aplicación. Teña en conta que é probábel que a aplicación non funcione como se agarda.",
"Never" : "Nunca",
+ "An error occurred during the request. Unable to proceed." : "Produciuse un erro durante a solicitude. Non se pode continuar.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A aplicación foi activada pero necesita ser actualizada. Vai ser redirixido cara a páxina de actualizarións en 5 segundos.",
- "Administrator documentation" : "Documentación do administrador",
+ "Error: This app cannot be enabled because it makes the server unstable" : "Erro: esta aplicación non se pode activar porque fai que o servidor sexa inestable",
"Documentation" : "Documentación",
"Forum" : "Foro",
"Login" : "Acceso",
@@ -331,6 +451,7 @@
"SMTP Username" : "Nome de usuario SMTP",
"SMTP Password" : "Contrasinal SMTP",
"Save" : "Gardar",
+ "Test and verify email settings" : "Proba e verifica a configuración do correo electrónico",
"Send email" : "Enviar o correo",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "É importante para a seguridade e o bo funcionamento da súa instancia que todo estea configurado correctamente. Para axudarlle niso, imos facer algunhas comprobacións automáticas. Vexa a documentación ligada para obter máis información. ",
"All checks passed." : "Pasáronse todas as verificacións.",
@@ -340,15 +461,21 @@
"Please double check the <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">installation guides ↗</a>, and check for any errors or warnings in the <a href=\"%2$s\">log</a>." : "Volva verificar as <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%1$s\">guías de instalación ↗</a>, e comprobe que non haxa erros ou avisos no <a href=\"%2$s\">rexistro</a>. ",
"Check the security of your Nextcloud over <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">our security scan ↗</a>." : "Comprobe a seguridade do seu Nextcloud empregando o <a target=\"_blank\" rel=\"noreferrer noopener\" href=\"%s\">noso escaneo de seguridade ↗</a>.",
"Version" : "Versión",
+ "You need to enable the File sharing App." : "Debes activar a Aplicación Compartir ficheiros.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Como administrador pode facer axustes finos do comportamento al compartir. Lea a documentación para obter máis más información.",
"Allow apps to use the Share API" : "Permitir que as aplicacións empreguen a API para compartir",
"Set default expiration date for shares" : "Estabeleza a data de caducidade predeterminada das comparticións",
+ "Expire after" : "Caduca tras",
"day(s)" : "día(s)",
"Enforce expiration date" : "Forzar a data de caducidade",
+ "Set default expiration date for shares to other servers" : "Establece a data de caducidade predeterminada para as accións compartidas con outros servidores",
+ "Allow users to share via link and emails" : "Permitir aos usuarios compartir mediante ligazóns e correos electrónicos",
"Allow public uploads" : "Permitir os envíos públicos",
"Always ask for a password" : "Pedir sempre un contrasinal",
"Enforce password protection" : "Forzar a protección por contrasinal",
+ "Exclude groups from password requirements:" : "Excluír grupos dos requisitos de contrasinal:",
"Set default expiration date" : "Definir a data predeterminada de caducidade",
+ "Exclude groups from creating link shares:" : "Excluír grupos da creación de ligazóns compartidas:",
"Allow resharing" : "Permitir compartir",
"Allow sharing with groups" : "Permitir compartir con grupos",
"Restrict users to only share with users in their groups" : "Restrinxir os usuarios a compartir só cos usuarios dos seus grupos",
@@ -356,6 +483,9 @@
"These groups will still be able to receive shares, but not to initiate them." : "Estes grupos poderán recibir comparticións, mais non inicialas.",
"Allow username autocompletion in share dialog" : "Permitir autocompletar o nome de usuario no diálogo de compartir",
"Allow username autocompletion to users within the same groups" : "Permitir autocompletar o nome de usuario aos usuarios dos mesmos grupos",
+ "Allow username autocompletion to users based on phone number integration" : "Permitir o autocompletado do nome de usuario aos usuarios en función da integración do número de teléfono",
+ "If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Se está activado o autocompletado \"mesmo grupo\" e a \"integración do número de teléfono\", unha coincidencia en calquera é suficiente para mostrar ao usuario.",
+ "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir o autocompletado ao introducir o nome completo ou o enderezo de correo electrónico (ignorando a coincidencia que falta na axenda telefónica e estar no mesmo grupo)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Amosar o texto de exención de responsabilidade na páxina de envío de ligazóns publicas (amosarase só cando a lista de ficheiros estea agochada)",
"This text will be shown on the public link upload page when the file list is hidden." : "Este texto amosarase na páxina de envío das ligazóns públicas cando a lista de ficheiros estea agochada.",
"Default share permissions" : "Permisos predeterminados para compartir",
@@ -366,6 +496,7 @@
"Follow us on Mastodon" : "Síganos na Mastodon",
"Check out our blog" : "Visite o noso blog ",
"Subscribe to our newsletter" : "Subscríbase ao noso boletín",
+ "This community release of Nextcloud is unsupported and instant notifications are unavailable." : "Esta versión comunitaria de Nextcloud non é compatible e as notificacións instantáneas non están dispoñibles.",
"Use a second factor besides your password to increase security for your account." : "Empregue un segundo factor ademais do seu contrasinal para aumentar a seguridade da súa conta.",
"If you use third party applications to connect to Nextcloud, please make sure to create and configure an app password for each before enabling second factor authentication." : " Se usa aplicacións de terceiros para conectarse a Nextcloud, asegúrese de crear e configurar un contrasinal de aplicación para cada unha antes de activar a autenticación de segundo factor.",
"Migration in progress. Please wait until the migration is finished" : "A migración está en proceso. Agarde a que remate.",
@@ -378,7 +509,18 @@
"Couldn't update app." : "Non foi posíbel actualizar a aplicación.",
"Backend doesn't support password change, but the user's encryption key was updated." : "A infraestrutura non admite o cambio de contrasinal, mais a clave de cifrado do usuario foi actualizada.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Non foi posíbel determinar se a versión TLS de cURL está desactualizada ou non porque se produciu un erro durante a solicitude HTTPS contra https://nextcloud.com. Consulte o ficheiro de rexistro de Nextcloud para obter máis detalles.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves OPcache está case superado. Para garantir que todos os scripts se poidan gardar na caché, recoméndase aplicar <code>opcache.max_accelerated_files</code> á súa configuración de PHP cun valor superior a <code>%s</code>.",
+ "Admin privileges" : "Privilexios de administrador",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "O revogado deste testemuño pode impedir a limpeza deste dispositivo se aínda non comezou.",
+ "Unable to update biography" : "Non se puido actualizar a biografía",
+ "Unable to update full name" : "Non se puido actualizar o nome completo",
+ "No full name set" : "Non se definiu ningún nome completo",
+ "Unable to update headline" : "Non se puido actualizar o titular",
+ "Unable to update organisation" : "Non se puido actualizar a organización",
+ "Unable to update role" : "Non se puido actualizar o cargo",
+ "Change scope level of {accountProperty}" : "Cambiar o nivel de ámbito de {accountProperty}",
+ "Unable to update federation scope of the primary {accountProperty}" : "Non se puido actualizar o ámbito de federación da {accountProperty} principal",
+ "Unable to update federation scope of additional {accountProperty}" : "Non se puido actualizar o ámbito da federación de {accountProperty} adicional",
"Address" : "Enderezo",
"Avatar" : "Avatar",
"An error occured during the request. Unable to proceed." : "Produciuse un erro durante a solicitude. Non é posíbel continuar.",
@@ -392,19 +534,26 @@
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Dende %s non se executou ningún traballo. Considere cambiar ao cron do sistema.",
"Last job ran %s." : "O último traballo executouse %s.",
"Background job didn’t run yet!" : "O traballo en segundo plano aínda non se executou!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "Para que o servidor funcione correctamente, é importante configurar correctamente os traballos en segundo plano. \"Cron\" é a configuración recomendada. Consulte a documentación para obter máis información.",
"Pick background job setting" : "Escolla os axustes do traballo en segundo plano",
"Recommended" : "Recomendado",
"The cron.php needs to be executed by the system user \"%s\"." : "O cron.php debe ser executado polo usuario do sistema «%s»",
"Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Permitir autocompletar o nome de usuario cando se introduce o nome completo ou o enderezo de correo-e ignorando a coincidencia da lista de teléfonos que falta e está no mesmo grupo",
+ "Change privacy level of profile picture" : "Cambia o nivel de privacidade da imaxe de perfil",
"Upload new" : "Novo envío",
"Select from Files" : "Seleccionar dende Ficheiros",
"Remove image" : "Retirar a imaxe",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Ten en conta que o avatar pode tardar ata 24 horas en actualizarse en todas partes.",
"Choose as profile picture" : "Seleccionar como imaxe do perfil",
"You are using <strong>%s</strong>" : "Está usando <strong>%s</strong>",
"You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Está usando <strong>%1$s</strong> de <strong>%2$s</strong> (<strong>%3$s%%)",
+ "Change privacy level of phone number" : "Cambia o nivel de privacidade do número de teléfono",
+ "Change privacy level of address" : "Cambia o nivel de privacidade do enderezo",
"Your postal address" : "O seu enderezo postal",
+ "Change privacy level of website" : "Cambiar o nivel de privacidade do sitio web",
"It can take up to 24 hours before the account is displayed as verified." : "Pode levar ata 24 horas antes de que a conta apareza como como verificada.",
"Link https://…" : "Ligazón https://…",
+ "Change privacy level of Twitter profile" : "Cambia o nivel de privacidade do perfil de Twitter",
"Twitter handle @…" : "Usuario do Twitter @…"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/settings/l10n/he.js b/apps/settings/l10n/he.js
index 1068af924a3..0069459cc22 100644
--- a/apps/settings/l10n/he.js
+++ b/apps/settings/l10n/he.js
@@ -54,6 +54,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "סיסמת המנהל לשחזור שגוייה. יש לבדוק את הסיסמא ולנסות שוב.",
"Federated Cloud Sharing" : "ענן שיתוף מאוגד",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL משתמש בגרסה של %1$s שתוקפה פג (%2$s). נא לעדכן את מערכת ההפעלה או שתכונות כמו %3$s לא תפעלנה בצורה אמינה.",
+ "Administrator documentation" : "תיעוד מנהל",
+ "User documentation" : "תיעוד משתמש",
"Invalid SMTP password." : "ססמת ה־SMTP שגויה.",
"Email setting test" : "בדיקת הגדרת דוא״ל",
"Well done, %s!" : "עבודה יפה, %s!",
@@ -139,7 +141,6 @@ OC.L10N.register(
"View in store" : "הצגה באחסון",
"Visit website" : "ביקור באתר האינטרנט",
"Report a bug" : "דיווח על באג",
- "User documentation" : "תיעוד משתמש",
"Admin documentation" : "תיעוד מנהל",
"Developer documentation" : "תיעוד מפתח",
"This app is supported via your current Nextcloud subscription." : "יישומון זה נתמך על ידי מינוי ה־Nextcloud הנוכחי שלך.",
@@ -271,11 +272,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "ההתקנים הבאים הוגדרו לחשבון שלך:",
"Your browser does not support WebAuthn." : "הדפדפן שלך אינו תומך ב־WebAuthn.",
"Your apps" : "היישומונים שלך",
- "Active apps" : "יישומונים פעילים",
- "Disabled apps" : "יישומונים מושבתים",
- "Updates" : "עדכונים",
- "App bundles" : "מאגדי יישומונים",
- "Featured apps" : "יישומונים מובילים",
"{license}-licensed" : "ברישיון {license}",
"Changelog" : "יומן שינויים",
"by {author}\n{license}" : "מאת {author}\n{license}",
@@ -301,13 +297,17 @@ OC.L10N.register(
"Phone number" : "מספר טלפון",
"Twitter" : "טוויטר",
"Website" : "אתר",
+ "Active apps" : "יישומונים פעילים",
+ "Disabled apps" : "יישומונים מושבתים",
+ "Updates" : "עדכונים",
+ "App bundles" : "מאגדי יישומונים",
+ "Featured apps" : "יישומונים מובילים",
"Hide" : "הסתרה",
"Download and enable" : "להוריד ולהפעיל",
"Enable untested app" : "לאפשר יישומון שלא נבדק",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "היישומון הזה לא מסומן כנתמך בגרסת ה־Nextcloud. עדיין יתאפשר לך להמשיך ולהתקין את היישומון. נא לשים לב שיכול להיות שהיישומון לא יעבוד כצפוי.",
"Never" : "מעולם לא",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "היישומון הופעל אך יש לעדכן אותו. ההפניה לעמוד העדכון תחל בעוד 5 שניות.",
- "Administrator documentation" : "תיעוד מנהל",
"Documentation" : "תיעוד",
"Forum" : "פורום",
"Login" : "התחברות",
diff --git a/apps/settings/l10n/he.json b/apps/settings/l10n/he.json
index 9fd2adc912f..323b04e46cc 100644
--- a/apps/settings/l10n/he.json
+++ b/apps/settings/l10n/he.json
@@ -52,6 +52,8 @@
"Wrong admin recovery password. Please check the password and try again." : "סיסמת המנהל לשחזור שגוייה. יש לבדוק את הסיסמא ולנסות שוב.",
"Federated Cloud Sharing" : "ענן שיתוף מאוגד",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL משתמש בגרסה של %1$s שתוקפה פג (%2$s). נא לעדכן את מערכת ההפעלה או שתכונות כמו %3$s לא תפעלנה בצורה אמינה.",
+ "Administrator documentation" : "תיעוד מנהל",
+ "User documentation" : "תיעוד משתמש",
"Invalid SMTP password." : "ססמת ה־SMTP שגויה.",
"Email setting test" : "בדיקת הגדרת דוא״ל",
"Well done, %s!" : "עבודה יפה, %s!",
@@ -137,7 +139,6 @@
"View in store" : "הצגה באחסון",
"Visit website" : "ביקור באתר האינטרנט",
"Report a bug" : "דיווח על באג",
- "User documentation" : "תיעוד משתמש",
"Admin documentation" : "תיעוד מנהל",
"Developer documentation" : "תיעוד מפתח",
"This app is supported via your current Nextcloud subscription." : "יישומון זה נתמך על ידי מינוי ה־Nextcloud הנוכחי שלך.",
@@ -269,11 +270,6 @@
"The following devices are configured for your account:" : "ההתקנים הבאים הוגדרו לחשבון שלך:",
"Your browser does not support WebAuthn." : "הדפדפן שלך אינו תומך ב־WebAuthn.",
"Your apps" : "היישומונים שלך",
- "Active apps" : "יישומונים פעילים",
- "Disabled apps" : "יישומונים מושבתים",
- "Updates" : "עדכונים",
- "App bundles" : "מאגדי יישומונים",
- "Featured apps" : "יישומונים מובילים",
"{license}-licensed" : "ברישיון {license}",
"Changelog" : "יומן שינויים",
"by {author}\n{license}" : "מאת {author}\n{license}",
@@ -299,13 +295,17 @@
"Phone number" : "מספר טלפון",
"Twitter" : "טוויטר",
"Website" : "אתר",
+ "Active apps" : "יישומונים פעילים",
+ "Disabled apps" : "יישומונים מושבתים",
+ "Updates" : "עדכונים",
+ "App bundles" : "מאגדי יישומונים",
+ "Featured apps" : "יישומונים מובילים",
"Hide" : "הסתרה",
"Download and enable" : "להוריד ולהפעיל",
"Enable untested app" : "לאפשר יישומון שלא נבדק",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "היישומון הזה לא מסומן כנתמך בגרסת ה־Nextcloud. עדיין יתאפשר לך להמשיך ולהתקין את היישומון. נא לשים לב שיכול להיות שהיישומון לא יעבוד כצפוי.",
"Never" : "מעולם לא",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "היישומון הופעל אך יש לעדכן אותו. ההפניה לעמוד העדכון תחל בעוד 5 שניות.",
- "Administrator documentation" : "תיעוד מנהל",
"Documentation" : "תיעוד",
"Forum" : "פורום",
"Login" : "התחברות",
diff --git a/apps/settings/l10n/hr.js b/apps/settings/l10n/hr.js
index 880192b81b1..3647bd03333 100644
--- a/apps/settings/l10n/hr.js
+++ b/apps/settings/l10n/hr.js
@@ -58,6 +58,8 @@ OC.L10N.register(
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instaliranje i ažuriranje aplikacija putem trgovine aplikacijama ili dijeljenja putem udruženog oblaka",
"Federated Cloud Sharing" : "Dijeljenje putem udruženog oblaka",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL upotrebljava zastarjelu inačicu %1$s (%2$s). Ažurirajte svoj operacijski sustav kako bi značajke, kao što je %3$s, pouzdano radile.",
+ "Administrator documentation" : "Dokumentacija za administratora",
+ "User documentation" : "Dokumentacija za korisnike",
"Invalid SMTP password." : "Nevaljana zaporka za SMTP.",
"Email setting test" : "Testiranje postavljanja e-pošte",
"Well done, %s!" : "Odlično, %s!",
@@ -148,7 +150,6 @@ OC.L10N.register(
"View in store" : "Pogledajte u trgovini",
"Visit website" : "Posjeti web-mjesto",
"Report a bug" : "Prijavi pogrešku",
- "User documentation" : "Dokumentacija za korisnike",
"Admin documentation" : "Dokumentacija za administratore",
"Developer documentation" : "Dokumentacija za razvojne programere",
"This app is supported via your current Nextcloud subscription." : "Aplikacija je podržana unutar vaše trenutne pretplate na Nextcloud.",
@@ -312,11 +313,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Sljedeći su uređaji konfigurirani za vaš račun:",
"Your browser does not support WebAuthn." : "Vaš preglednik ne podržava WebAuthn.",
"Your apps" : "Vaše aplikacije",
- "Active apps" : "Aktivne aplikacije",
- "Disabled apps" : "Onemogućene aplikacije",
- "Updates" : "Ažuriranja",
- "App bundles" : "Paketi aplikacija",
- "Featured apps" : "Istaknute aplikacije",
"{license}-licensed" : "Licencirano prema {license}",
"Changelog" : "Zapis promjena",
"by {author}\n{license}" : "{autor}\n{licenca}",
@@ -349,6 +345,11 @@ OC.L10N.register(
"Profile visibility" : "Vidljivost profila",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nije dostupno jer je ovo svojstvo potrebno za osnovnu funkcionalnost, uključujući dijeljenje datoteka i pozivnice za kalendar",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nije dostupno jer nije dopušteno objavljivanje korisničkih podataka na poslužitelju pretraživanja, obratite se administratoru sustava ako imate pitanja",
+ "Active apps" : "Aktivne aplikacije",
+ "Disabled apps" : "Onemogućene aplikacije",
+ "Updates" : "Ažuriranja",
+ "App bundles" : "Paketi aplikacija",
+ "Featured apps" : "Istaknute aplikacije",
"Show to everyone" : "Prikaži svima",
"Show to logged in users only" : "Prikaži samo prijavljenim korisnicima",
"Hide" : "Sakrij",
@@ -359,7 +360,6 @@ OC.L10N.register(
"Never" : "Nikad",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacija je omogućena, ali je treba ažurirati. Za 5 sekundi bit ćete preusmjereni na stranicu za ažuriranje.",
"Error: This app cannot be enabled because it makes the server unstable" : "Pogreška: ova aplikacija ne može biti omogućena jer čini poslužitelj nestabilnim",
- "Administrator documentation" : "Dokumentacija za administratora",
"Documentation" : "Dokumentacija",
"Forum" : "Forum",
"Login" : "Prijava",
diff --git a/apps/settings/l10n/hr.json b/apps/settings/l10n/hr.json
index a1f5536679d..41914da025b 100644
--- a/apps/settings/l10n/hr.json
+++ b/apps/settings/l10n/hr.json
@@ -56,6 +56,8 @@
"installing and updating apps via the App Store or Federated Cloud Sharing" : "instaliranje i ažuriranje aplikacija putem trgovine aplikacijama ili dijeljenja putem udruženog oblaka",
"Federated Cloud Sharing" : "Dijeljenje putem udruženog oblaka",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL upotrebljava zastarjelu inačicu %1$s (%2$s). Ažurirajte svoj operacijski sustav kako bi značajke, kao što je %3$s, pouzdano radile.",
+ "Administrator documentation" : "Dokumentacija za administratora",
+ "User documentation" : "Dokumentacija za korisnike",
"Invalid SMTP password." : "Nevaljana zaporka za SMTP.",
"Email setting test" : "Testiranje postavljanja e-pošte",
"Well done, %s!" : "Odlično, %s!",
@@ -146,7 +148,6 @@
"View in store" : "Pogledajte u trgovini",
"Visit website" : "Posjeti web-mjesto",
"Report a bug" : "Prijavi pogrešku",
- "User documentation" : "Dokumentacija za korisnike",
"Admin documentation" : "Dokumentacija za administratore",
"Developer documentation" : "Dokumentacija za razvojne programere",
"This app is supported via your current Nextcloud subscription." : "Aplikacija je podržana unutar vaše trenutne pretplate na Nextcloud.",
@@ -310,11 +311,6 @@
"The following devices are configured for your account:" : "Sljedeći su uređaji konfigurirani za vaš račun:",
"Your browser does not support WebAuthn." : "Vaš preglednik ne podržava WebAuthn.",
"Your apps" : "Vaše aplikacije",
- "Active apps" : "Aktivne aplikacije",
- "Disabled apps" : "Onemogućene aplikacije",
- "Updates" : "Ažuriranja",
- "App bundles" : "Paketi aplikacija",
- "Featured apps" : "Istaknute aplikacije",
"{license}-licensed" : "Licencirano prema {license}",
"Changelog" : "Zapis promjena",
"by {author}\n{license}" : "{autor}\n{licenca}",
@@ -347,6 +343,11 @@
"Profile visibility" : "Vidljivost profila",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nije dostupno jer je ovo svojstvo potrebno za osnovnu funkcionalnost, uključujući dijeljenje datoteka i pozivnice za kalendar",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nije dostupno jer nije dopušteno objavljivanje korisničkih podataka na poslužitelju pretraživanja, obratite se administratoru sustava ako imate pitanja",
+ "Active apps" : "Aktivne aplikacije",
+ "Disabled apps" : "Onemogućene aplikacije",
+ "Updates" : "Ažuriranja",
+ "App bundles" : "Paketi aplikacija",
+ "Featured apps" : "Istaknute aplikacije",
"Show to everyone" : "Prikaži svima",
"Show to logged in users only" : "Prikaži samo prijavljenim korisnicima",
"Hide" : "Sakrij",
@@ -357,7 +358,6 @@
"Never" : "Nikad",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacija je omogućena, ali je treba ažurirati. Za 5 sekundi bit ćete preusmjereni na stranicu za ažuriranje.",
"Error: This app cannot be enabled because it makes the server unstable" : "Pogreška: ova aplikacija ne može biti omogućena jer čini poslužitelj nestabilnim",
- "Administrator documentation" : "Dokumentacija za administratora",
"Documentation" : "Dokumentacija",
"Forum" : "Forum",
"Login" : "Prijava",
diff --git a/apps/settings/l10n/hu.js b/apps/settings/l10n/hu.js
index fd9096c42dc..29b9ae32312 100644
--- a/apps/settings/l10n/hu.js
+++ b/apps/settings/l10n/hu.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache puffer majdnem megtelt. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache internalizált karakterláncokat tartalmazó puffere majdnem megtelt. Hogy biztosítsa, hogy az ismétlődő karakterláncok hatásosan gyorsítótárazhatók legyenek, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.interned_strings_buffer</code> beállítást a PHP konfigurációjában.",
+ "Administrator documentation" : "Rendszergazdai dokumentáció",
+ "User documentation" : "Felhasználói dokumentáció",
"Invalid SMTP password." : "Érvénytelen SMTP-jelszó.",
"Email setting test" : "E-mail beállítás tesztelése",
"Well done, %s!" : "Szép munka, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Megtekintés a tárban",
"Visit website" : "Weboldal meglátogatása",
"Report a bug" : "Hiba bejelentése",
- "User documentation" : "Felhasználói dokumentáció",
"Admin documentation" : "Rendszergazdai dokumentáció",
"Developer documentation" : "Fejlesztői dokumentáció",
"This app is supported via your current Nextcloud subscription." : "Az alkalmazás támogatását a jelenlegi Nextcloud előfizetése biztosítja.",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "A további e-mail-cím nem törölhető",
"No email address set" : "Nincs e-mail-cím beállítva",
"Additional emails" : "További e-mail-címek",
+ "Your handle" : "Az Ön fiókneve",
"Your headline" : "Az Ön címsora",
"Language" : "Nyelv",
"Help translate" : "Segítsen a fordításban",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "A következő eszközök vannak a fiókjához kapcsolva:",
"Your browser does not support WebAuthn." : "A böngészője nem támogatja a WebAuthn szabványt.",
"Your apps" : "Az Ön alkalmazásai",
- "Active apps" : "Aktív alkalmazások",
- "Disabled apps" : "Letiltott alkalmazások",
- "Updates" : "Frissítések",
- "App bundles" : "Alkalmazáscsomagok",
- "Featured apps" : "Kiemelt alkalmazások",
"{license}-licensed" : "{license}-licencelt",
"Changelog" : "Változásnapló",
"by {author}\n{license}" : "szerző: {author}\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "Telefonszám",
"Role" : "Szerepkör",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Födiverzum (például Mastodon)",
"Website" : "Weboldal",
"Profile visibility" : "Profil láthatósága",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nem érhető el, mivel ez a tulajdonság szükséges a fő funkciókhoz, köztük a fájlmegosztáshoz és a naptármeghívásokhoz.",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nem érhető el, mert a föderálás le lett tiltva a fióknál, ha kérdése van, lépjen kapcsolatba a rendszergazdával",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nem érhető el, mert a felhasználóspecifikus adatok közzététele a lekérési kiszolgáló felé nem engedélyezett, ha kérdése van, lépjen kapcsolatba a rendszergazdával.",
+ "Active apps" : "Aktív alkalmazások",
+ "Disabled apps" : "Letiltott alkalmazások",
+ "Updates" : "Frissítések",
+ "App bundles" : "Alkalmazáscsomagok",
+ "Featured apps" : "Kiemelt alkalmazások",
"Show to everyone" : "Mindenki számára látható",
"Show to logged in users only" : "Csak a bejelentkezett felhasználók számára látható",
"Hide" : "Elrejtés",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Hiba történt a kérés során. Nem lehet folytatni.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Ez az alkalmazás engedélyezett, de frissíteni kell. 5 másodpercen belül a frissítési oldalra lesz irányítva.",
"Error: This app cannot be enabled because it makes the server unstable" : "Hiba: az alkalmazás nem nem engedélyezhető, mert instabillá tenné a kiszolgálót",
- "Administrator documentation" : "Rendszergazdai dokumentáció",
"Documentation" : "Dokumentáció",
"Forum" : "Fórum",
"Login" : "Bejelentkezés",
diff --git a/apps/settings/l10n/hu.json b/apps/settings/l10n/hu.json
index 934b560012d..2fe17014f6c 100644
--- a/apps/settings/l10n/hu.json
+++ b/apps/settings/l10n/hu.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Majdnem túllépte az OPcache kulcsok legnagyobb számát. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache puffer majdnem megtelt. Hogy biztosítsa, hogy az összes parancsfájl tárolható legyen a gyorsítótárban, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.max_accelerated_files</code> beállítást a PHP konfigurációjában.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Az OPcache internalizált karakterláncokat tartalmazó puffere majdnem megtelt. Hogy biztosítsa, hogy az ismétlődő karakterláncok hatásosan gyorsítótárazhatók legyenek, ajánlatos, hogy a(z) <code>%s</code> értéknél nagyobbra állítsa az <code>opcache.interned_strings_buffer</code> beállítást a PHP konfigurációjában.",
+ "Administrator documentation" : "Rendszergazdai dokumentáció",
+ "User documentation" : "Felhasználói dokumentáció",
"Invalid SMTP password." : "Érvénytelen SMTP-jelszó.",
"Email setting test" : "E-mail beállítás tesztelése",
"Well done, %s!" : "Szép munka, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Megtekintés a tárban",
"Visit website" : "Weboldal meglátogatása",
"Report a bug" : "Hiba bejelentése",
- "User documentation" : "Felhasználói dokumentáció",
"Admin documentation" : "Rendszergazdai dokumentáció",
"Developer documentation" : "Fejlesztői dokumentáció",
"This app is supported via your current Nextcloud subscription." : "Az alkalmazás támogatását a jelenlegi Nextcloud előfizetése biztosítja.",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "A további e-mail-cím nem törölhető",
"No email address set" : "Nincs e-mail-cím beállítva",
"Additional emails" : "További e-mail-címek",
+ "Your handle" : "Az Ön fiókneve",
"Your headline" : "Az Ön címsora",
"Language" : "Nyelv",
"Help translate" : "Segítsen a fordításban",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "A következő eszközök vannak a fiókjához kapcsolva:",
"Your browser does not support WebAuthn." : "A böngészője nem támogatja a WebAuthn szabványt.",
"Your apps" : "Az Ön alkalmazásai",
- "Active apps" : "Aktív alkalmazások",
- "Disabled apps" : "Letiltott alkalmazások",
- "Updates" : "Frissítések",
- "App bundles" : "Alkalmazáscsomagok",
- "Featured apps" : "Kiemelt alkalmazások",
"{license}-licensed" : "{license}-licencelt",
"Changelog" : "Változásnapló",
"by {author}\n{license}" : "szerző: {author}\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "Telefonszám",
"Role" : "Szerepkör",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Födiverzum (például Mastodon)",
"Website" : "Weboldal",
"Profile visibility" : "Profil láthatósága",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nem érhető el, mivel ez a tulajdonság szükséges a fő funkciókhoz, köztük a fájlmegosztáshoz és a naptármeghívásokhoz.",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nem érhető el, mert a föderálás le lett tiltva a fióknál, ha kérdése van, lépjen kapcsolatba a rendszergazdával",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nem érhető el, mert a felhasználóspecifikus adatok közzététele a lekérési kiszolgáló felé nem engedélyezett, ha kérdése van, lépjen kapcsolatba a rendszergazdával.",
+ "Active apps" : "Aktív alkalmazások",
+ "Disabled apps" : "Letiltott alkalmazások",
+ "Updates" : "Frissítések",
+ "App bundles" : "Alkalmazáscsomagok",
+ "Featured apps" : "Kiemelt alkalmazások",
"Show to everyone" : "Mindenki számára látható",
"Show to logged in users only" : "Csak a bejelentkezett felhasználók számára látható",
"Hide" : "Elrejtés",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "Hiba történt a kérés során. Nem lehet folytatni.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Ez az alkalmazás engedélyezett, de frissíteni kell. 5 másodpercen belül a frissítési oldalra lesz irányítva.",
"Error: This app cannot be enabled because it makes the server unstable" : "Hiba: az alkalmazás nem nem engedélyezhető, mert instabillá tenné a kiszolgálót",
- "Administrator documentation" : "Rendszergazdai dokumentáció",
"Documentation" : "Dokumentáció",
"Forum" : "Fórum",
"Login" : "Bejelentkezés",
diff --git a/apps/settings/l10n/ia.js b/apps/settings/l10n/ia.js
index 8ded23fd3b6..a8134f34474 100644
--- a/apps/settings/l10n/ia.js
+++ b/apps/settings/l10n/ia.js
@@ -17,6 +17,8 @@ OC.L10N.register(
"Authentication error" : "Error in authentication",
"Wrong admin recovery password. Please check the password and try again." : "Le contrasigno administrator pro recuperation de datos es incorrecte. Per favor, verifica le contrasigno e tenta de novo.",
"Federated Cloud Sharing" : "Compartimento del Nube Federate",
+ "Administrator documentation" : "Documentation de administrator",
+ "User documentation" : "Documentation de usator",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Un problema occurreva durante le invio del e-posta. Per favor, revide tu configurationes. (Error: %s)",
"Invalid user" : "Usator invalide",
"Invalid mail address" : "Adresse de e-posta non valide",
@@ -40,7 +42,6 @@ OC.L10N.register(
"Disable" : "Disactivar",
"Visit website" : "Visitar sito web",
"Report a bug" : "Reportar un defecto",
- "User documentation" : "Documentation de usator",
"Admin documentation" : "Documentation de administrator",
"Developer documentation" : "Documentation de disveloppator",
"No apps found for your version" : "Nulle application trovate pro tu version",
@@ -100,7 +101,6 @@ OC.L10N.register(
"Twitter" : "Twitter",
"Website" : "Sito web",
"Never" : "Nunquam",
- "Administrator documentation" : "Documentation de administrator",
"Documentation" : "Documentation",
"Forum" : "Foro",
"Login" : "Login",
diff --git a/apps/settings/l10n/ia.json b/apps/settings/l10n/ia.json
index 384084d2729..1ebc2670f24 100644
--- a/apps/settings/l10n/ia.json
+++ b/apps/settings/l10n/ia.json
@@ -15,6 +15,8 @@
"Authentication error" : "Error in authentication",
"Wrong admin recovery password. Please check the password and try again." : "Le contrasigno administrator pro recuperation de datos es incorrecte. Per favor, verifica le contrasigno e tenta de novo.",
"Federated Cloud Sharing" : "Compartimento del Nube Federate",
+ "Administrator documentation" : "Documentation de administrator",
+ "User documentation" : "Documentation de usator",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Un problema occurreva durante le invio del e-posta. Per favor, revide tu configurationes. (Error: %s)",
"Invalid user" : "Usator invalide",
"Invalid mail address" : "Adresse de e-posta non valide",
@@ -38,7 +40,6 @@
"Disable" : "Disactivar",
"Visit website" : "Visitar sito web",
"Report a bug" : "Reportar un defecto",
- "User documentation" : "Documentation de usator",
"Admin documentation" : "Documentation de administrator",
"Developer documentation" : "Documentation de disveloppator",
"No apps found for your version" : "Nulle application trovate pro tu version",
@@ -98,7 +99,6 @@
"Twitter" : "Twitter",
"Website" : "Sito web",
"Never" : "Nunquam",
- "Administrator documentation" : "Documentation de administrator",
"Documentation" : "Documentation",
"Forum" : "Foro",
"Login" : "Login",
diff --git a/apps/settings/l10n/id.js b/apps/settings/l10n/id.js
index 16fc775fdff..5c02f0876ee 100644
--- a/apps/settings/l10n/id.js
+++ b/apps/settings/l10n/id.js
@@ -64,6 +64,8 @@ OC.L10N.register(
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL menggunakan versi %1$s yang usang(%2$s). Mohon perbarui sistem operasi Anda atau fitur sejenisnya termasuk %3$s tidak akan bekerja secara penuh.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul PHP OPcache tidak dimuat. Untuk kinerja yang lebih baik, disarankan untuk memuatnya ke dalam instalasi PHP Anda.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache dinonaktifkan. Untuk kinerja yang lebih baik, disarankan untuk menerapkan <code>opcache.enable=1</code> ke konfigurasi PHP Anda.",
+ "Administrator documentation" : "Dokumentasi administrator",
+ "User documentation" : "Dokumentasi pengguna",
"Invalid SMTP password." : "Kata sandi SMTP tidak valid.",
"Email setting test" : "Uji pengaturan surel",
"Well done, %s!" : "Bagus, %s!",
@@ -140,7 +142,6 @@ OC.L10N.register(
"View in store" : "Lihat di toko",
"Visit website" : "Kunjungi laman web",
"Report a bug" : "Laporkan kerusakan",
- "User documentation" : "Dokumentasi pengguna",
"Admin documentation" : "Dokumentasi admin",
"Developer documentation" : "Dokumentasi pengembang",
"This app is supported via your current Nextcloud subscription." : "Aplikasi ini didukung dengan langganan Nextcloud Anda saat ini.",
@@ -267,10 +268,6 @@ OC.L10N.register(
"Passwordless Authentication" : "Otentikasi Tanpa Kata Sandi",
"No devices configured." : "Tidak ada perangkat yang dikonfigurasi.",
"Your apps" : "Aplikasi anda",
- "Active apps" : "Aplikasi aktif",
- "Disabled apps" : "Matikan Aplikasi",
- "Updates" : "Pembaruan",
- "App bundles" : "Kumpulan Apl",
"{license}-licensed" : "{license}-dilisensikan",
"Changelog" : "Log pembaruan",
"Add group" : "Tambah grup",
@@ -295,13 +292,16 @@ OC.L10N.register(
"Twitter" : "Twitter",
"Website" : "Situs",
"Profile visibility" : "Visibilitas profil",
+ "Active apps" : "Aplikasi aktif",
+ "Disabled apps" : "Matikan Aplikasi",
+ "Updates" : "Pembaruan",
+ "App bundles" : "Kumpulan Apl",
"Hide" : "Sembunyikan",
"Download and enable" : "Unduh dan hidupkan",
"Enable untested app" : "Hidupkan aplikasi yang belum dites",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aplikasi ini tidak ditandai sebagai versi Nextcloud Anda yang kompatibel. Jika Anda tetap ingin melanjutkannya, Anda tetap dapat memasang aplikasi. Catatan bahwa aplikasinya mungkin tidak akan berjalan seperti yang diharapkan.",
"Never" : "Tidak pernah",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikasi diaktifkan namun butuh diperbarui. Anda akan dialihkan ke halaman pembaruan dalam 5 detik.",
- "Administrator documentation" : "Dokumentasi administrator",
"Documentation" : "Dokumentasi",
"Forum" : "Forum",
"Login" : "Masuk",
diff --git a/apps/settings/l10n/id.json b/apps/settings/l10n/id.json
index 589f9653bb0..df1f6524b6f 100644
--- a/apps/settings/l10n/id.json
+++ b/apps/settings/l10n/id.json
@@ -62,6 +62,8 @@
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL menggunakan versi %1$s yang usang(%2$s). Mohon perbarui sistem operasi Anda atau fitur sejenisnya termasuk %3$s tidak akan bekerja secara penuh.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modul PHP OPcache tidak dimuat. Untuk kinerja yang lebih baik, disarankan untuk memuatnya ke dalam instalasi PHP Anda.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache dinonaktifkan. Untuk kinerja yang lebih baik, disarankan untuk menerapkan <code>opcache.enable=1</code> ke konfigurasi PHP Anda.",
+ "Administrator documentation" : "Dokumentasi administrator",
+ "User documentation" : "Dokumentasi pengguna",
"Invalid SMTP password." : "Kata sandi SMTP tidak valid.",
"Email setting test" : "Uji pengaturan surel",
"Well done, %s!" : "Bagus, %s!",
@@ -138,7 +140,6 @@
"View in store" : "Lihat di toko",
"Visit website" : "Kunjungi laman web",
"Report a bug" : "Laporkan kerusakan",
- "User documentation" : "Dokumentasi pengguna",
"Admin documentation" : "Dokumentasi admin",
"Developer documentation" : "Dokumentasi pengembang",
"This app is supported via your current Nextcloud subscription." : "Aplikasi ini didukung dengan langganan Nextcloud Anda saat ini.",
@@ -265,10 +266,6 @@
"Passwordless Authentication" : "Otentikasi Tanpa Kata Sandi",
"No devices configured." : "Tidak ada perangkat yang dikonfigurasi.",
"Your apps" : "Aplikasi anda",
- "Active apps" : "Aplikasi aktif",
- "Disabled apps" : "Matikan Aplikasi",
- "Updates" : "Pembaruan",
- "App bundles" : "Kumpulan Apl",
"{license}-licensed" : "{license}-dilisensikan",
"Changelog" : "Log pembaruan",
"Add group" : "Tambah grup",
@@ -293,13 +290,16 @@
"Twitter" : "Twitter",
"Website" : "Situs",
"Profile visibility" : "Visibilitas profil",
+ "Active apps" : "Aplikasi aktif",
+ "Disabled apps" : "Matikan Aplikasi",
+ "Updates" : "Pembaruan",
+ "App bundles" : "Kumpulan Apl",
"Hide" : "Sembunyikan",
"Download and enable" : "Unduh dan hidupkan",
"Enable untested app" : "Hidupkan aplikasi yang belum dites",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Aplikasi ini tidak ditandai sebagai versi Nextcloud Anda yang kompatibel. Jika Anda tetap ingin melanjutkannya, Anda tetap dapat memasang aplikasi. Catatan bahwa aplikasinya mungkin tidak akan berjalan seperti yang diharapkan.",
"Never" : "Tidak pernah",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikasi diaktifkan namun butuh diperbarui. Anda akan dialihkan ke halaman pembaruan dalam 5 detik.",
- "Administrator documentation" : "Dokumentasi administrator",
"Documentation" : "Dokumentasi",
"Forum" : "Forum",
"Login" : "Masuk",
diff --git a/apps/settings/l10n/is.js b/apps/settings/l10n/is.js
index 2a8403da64a..cfe576fe388 100644
--- a/apps/settings/l10n/is.js
+++ b/apps/settings/l10n/is.js
@@ -52,6 +52,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "Rangt endurheimtulykilorð kerfisstjóra, athugaðu lykilorðið og reyndu aftur.",
"Federated Cloud Sharing" : "Deiling með skýjasambandi",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL er að nota úrelda útgáfu af %1$s (%2$s). Uppfærðu stýrikerfið þitt, annars er hætt við að eiginleikar á borð við %3$s virki ekki sem skyldi.",
+ "Administrator documentation" : "Hjálparskjöl stjórnanda",
+ "User documentation" : "Hjálparskjöl notenda",
"Invalid SMTP password." : "Ógilt SMTP-lykilorð",
"Email setting test" : "Prófa tölvupóststillingar",
"Well done, %s!" : "Vel gert, %s!",
@@ -127,7 +129,6 @@ OC.L10N.register(
"View in store" : "Skoða í hugbúnaðarsafni",
"Visit website" : "Heimsækja vefsvæðið",
"Report a bug" : "Tilkynna um villu",
- "User documentation" : "Hjálparskjöl notenda",
"Admin documentation" : "Hjálparskjöl kerfisstjóra",
"Developer documentation" : "Skjölun fyrir þróunaraðila",
"Supported" : "Stutt",
@@ -249,10 +250,6 @@ OC.L10N.register(
"No devices configured." : "Engin tæki skilgreind.",
"Your browser does not support WebAuthn." : "Vafrinn þinn styður ekki WebAuthn.",
"Your apps" : "Forritin þín",
- "Active apps" : "Virk forrit",
- "Disabled apps" : "Óvirk forrit",
- "Updates" : "Uppfærslur",
- "App bundles" : "Forritavöndlar",
"{license}-licensed" : "{license}-notkunarleyfi",
"Changelog" : "Breytingaskrá",
"Add group" : "Bæta við hópi",
@@ -278,13 +275,16 @@ OC.L10N.register(
"Role" : "Role",
"Twitter" : "Twitter",
"Website" : "Vefsvæði",
+ "Active apps" : "Virk forrit",
+ "Disabled apps" : "Óvirk forrit",
+ "Updates" : "Uppfærslur",
+ "App bundles" : "Forritavöndlar",
"Hide" : "Fela",
"Download and enable" : "Sækja og virkja",
"Enable untested app" : "Virkja óprófað forrit",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Þetta forrit er merkt sem ekki samhæft við þína útgáfu af Nextcloud. Ef þú heldur áfram er mögulegt að þú getir samt sett forritið upp. En athugaðu þá að ekki er víst að forritið virki eins og skyldi.",
"Never" : "Aldrei",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Forritið hefur verið virkjað, en það þarf að uppfæra það. Þú verður áframsendur á uppfærslusíðuna eftir 5 sekúndur.",
- "Administrator documentation" : "Hjálparskjöl stjórnanda",
"Documentation" : "Hjálparskjöl",
"Forum" : "Vefspjall",
"Login" : "Innskráning",
diff --git a/apps/settings/l10n/is.json b/apps/settings/l10n/is.json
index a97a7e6e2de..e9860a1dd54 100644
--- a/apps/settings/l10n/is.json
+++ b/apps/settings/l10n/is.json
@@ -50,6 +50,8 @@
"Wrong admin recovery password. Please check the password and try again." : "Rangt endurheimtulykilorð kerfisstjóra, athugaðu lykilorðið og reyndu aftur.",
"Federated Cloud Sharing" : "Deiling með skýjasambandi",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL er að nota úrelda útgáfu af %1$s (%2$s). Uppfærðu stýrikerfið þitt, annars er hætt við að eiginleikar á borð við %3$s virki ekki sem skyldi.",
+ "Administrator documentation" : "Hjálparskjöl stjórnanda",
+ "User documentation" : "Hjálparskjöl notenda",
"Invalid SMTP password." : "Ógilt SMTP-lykilorð",
"Email setting test" : "Prófa tölvupóststillingar",
"Well done, %s!" : "Vel gert, %s!",
@@ -125,7 +127,6 @@
"View in store" : "Skoða í hugbúnaðarsafni",
"Visit website" : "Heimsækja vefsvæðið",
"Report a bug" : "Tilkynna um villu",
- "User documentation" : "Hjálparskjöl notenda",
"Admin documentation" : "Hjálparskjöl kerfisstjóra",
"Developer documentation" : "Skjölun fyrir þróunaraðila",
"Supported" : "Stutt",
@@ -247,10 +248,6 @@
"No devices configured." : "Engin tæki skilgreind.",
"Your browser does not support WebAuthn." : "Vafrinn þinn styður ekki WebAuthn.",
"Your apps" : "Forritin þín",
- "Active apps" : "Virk forrit",
- "Disabled apps" : "Óvirk forrit",
- "Updates" : "Uppfærslur",
- "App bundles" : "Forritavöndlar",
"{license}-licensed" : "{license}-notkunarleyfi",
"Changelog" : "Breytingaskrá",
"Add group" : "Bæta við hópi",
@@ -276,13 +273,16 @@
"Role" : "Role",
"Twitter" : "Twitter",
"Website" : "Vefsvæði",
+ "Active apps" : "Virk forrit",
+ "Disabled apps" : "Óvirk forrit",
+ "Updates" : "Uppfærslur",
+ "App bundles" : "Forritavöndlar",
"Hide" : "Fela",
"Download and enable" : "Sækja og virkja",
"Enable untested app" : "Virkja óprófað forrit",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Þetta forrit er merkt sem ekki samhæft við þína útgáfu af Nextcloud. Ef þú heldur áfram er mögulegt að þú getir samt sett forritið upp. En athugaðu þá að ekki er víst að forritið virki eins og skyldi.",
"Never" : "Aldrei",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Forritið hefur verið virkjað, en það þarf að uppfæra það. Þú verður áframsendur á uppfærslusíðuna eftir 5 sekúndur.",
- "Administrator documentation" : "Hjálparskjöl stjórnanda",
"Documentation" : "Hjálparskjöl",
"Forum" : "Vefspjall",
"Login" : "Innskráning",
diff --git a/apps/settings/l10n/it.js b/apps/settings/l10n/it.js
index 9e08d3b3f53..9d09a8b4e8a 100644
--- a/apps/settings/l10n/it.js
+++ b/apps/settings/l10n/it.js
@@ -63,6 +63,8 @@ OC.L10N.register(
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Il modulo PHP OPcache non è caricato. Per prestazioni migliori consigliamo di caricarlo nella tua installazione di PHP.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache non è attivo. Per prestazioni migliori, consigliamo di applicare <code>opcache.enable=1</code> nella tua configurazione di PHP.",
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache è configurato per rimuovere i commenti di codice. Con OPcache attivato, <code>opcache.save_comments=1</code> deve essere impostato affinché Nextcloud funzioni.",
+ "Administrator documentation" : "Documentazione amministratore",
+ "User documentation" : "Documentazione utente",
"Invalid SMTP password." : "Password SMTP non valida.",
"Email setting test" : "Prova impostazioni email",
"Well done, %s!" : "Ben fatto, %s!",
@@ -157,7 +159,6 @@ OC.L10N.register(
"View in store" : "Visualizza nell'archivio",
"Visit website" : "Visita il sito web",
"Report a bug" : "Segnala un bug",
- "User documentation" : "Documentazione utente",
"Admin documentation" : "Documentazione di amministrazione",
"Developer documentation" : "Documentazione dello sviluppatore",
"This app is supported via your current Nextcloud subscription." : "Questa applicazione è supportata tramite la tua sottoscrizione attuale di Nextcloud.",
@@ -339,11 +340,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "I seguenti dispositivi sono configurati per il tuo account:",
"Your browser does not support WebAuthn." : "Il tuo browser non supporta WebAuthn.",
"Your apps" : "Le tue applicazioni",
- "Active apps" : "Applicazioni attive",
- "Disabled apps" : "Applicazioni disabilitate",
- "Updates" : "Aggiornamenti",
- "App bundles" : "Pacchetti di applicazioni",
- "Featured apps" : "Applicazioni in evidenza",
"{license}-licensed" : "sotto licenza {license}",
"Changelog" : "Novità",
"by {author}\n{license}" : "di {author}\n{license}",
@@ -376,6 +372,11 @@ OC.L10N.register(
"Profile visibility" : "Visibilità del profilo",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponibile poiché questa proprietà è necessaria per funzioni di base inclusi la condivisione di file e gli inviti via calendario.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non disponibile poiché pubblicare dati specifici dell'utente sul server di ricerca non è permesso, contatta l'amministratore di sistema se hai domande",
+ "Active apps" : "Applicazioni attive",
+ "Disabled apps" : "Applicazioni disabilitate",
+ "Updates" : "Aggiornamenti",
+ "App bundles" : "Pacchetti di applicazioni",
+ "Featured apps" : "Applicazioni in evidenza",
"Show to everyone" : "Mostra a tutti",
"Show to logged in users only" : "Mostra solo a utenti registrati",
"Hide" : "Nascondi",
@@ -386,7 +387,6 @@ OC.L10N.register(
"Never" : "Mai",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'applicazione è stata abilitata, ma deve essere aggiornata. Sarai rediretto alla pagina di aggiornamento in 5 secondi.",
"Error: This app cannot be enabled because it makes the server unstable" : "Errore: questa applicazione non può essere abilitata perché rende il server instabile",
- "Administrator documentation" : "Documentazione amministratore",
"Documentation" : "Documentazione",
"Forum" : "Forum",
"Login" : "Login",
diff --git a/apps/settings/l10n/it.json b/apps/settings/l10n/it.json
index b142d6c5b79..82e22575ecc 100644
--- a/apps/settings/l10n/it.json
+++ b/apps/settings/l10n/it.json
@@ -61,6 +61,8 @@
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Il modulo PHP OPcache non è caricato. Per prestazioni migliori consigliamo di caricarlo nella tua installazione di PHP.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache non è attivo. Per prestazioni migliori, consigliamo di applicare <code>opcache.enable=1</code> nella tua configurazione di PHP.",
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache è configurato per rimuovere i commenti di codice. Con OPcache attivato, <code>opcache.save_comments=1</code> deve essere impostato affinché Nextcloud funzioni.",
+ "Administrator documentation" : "Documentazione amministratore",
+ "User documentation" : "Documentazione utente",
"Invalid SMTP password." : "Password SMTP non valida.",
"Email setting test" : "Prova impostazioni email",
"Well done, %s!" : "Ben fatto, %s!",
@@ -155,7 +157,6 @@
"View in store" : "Visualizza nell'archivio",
"Visit website" : "Visita il sito web",
"Report a bug" : "Segnala un bug",
- "User documentation" : "Documentazione utente",
"Admin documentation" : "Documentazione di amministrazione",
"Developer documentation" : "Documentazione dello sviluppatore",
"This app is supported via your current Nextcloud subscription." : "Questa applicazione è supportata tramite la tua sottoscrizione attuale di Nextcloud.",
@@ -337,11 +338,6 @@
"The following devices are configured for your account:" : "I seguenti dispositivi sono configurati per il tuo account:",
"Your browser does not support WebAuthn." : "Il tuo browser non supporta WebAuthn.",
"Your apps" : "Le tue applicazioni",
- "Active apps" : "Applicazioni attive",
- "Disabled apps" : "Applicazioni disabilitate",
- "Updates" : "Aggiornamenti",
- "App bundles" : "Pacchetti di applicazioni",
- "Featured apps" : "Applicazioni in evidenza",
"{license}-licensed" : "sotto licenza {license}",
"Changelog" : "Novità",
"by {author}\n{license}" : "di {author}\n{license}",
@@ -374,6 +370,11 @@
"Profile visibility" : "Visibilità del profilo",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Non disponibile poiché questa proprietà è necessaria per funzioni di base inclusi la condivisione di file e gli inviti via calendario.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Non disponibile poiché pubblicare dati specifici dell'utente sul server di ricerca non è permesso, contatta l'amministratore di sistema se hai domande",
+ "Active apps" : "Applicazioni attive",
+ "Disabled apps" : "Applicazioni disabilitate",
+ "Updates" : "Aggiornamenti",
+ "App bundles" : "Pacchetti di applicazioni",
+ "Featured apps" : "Applicazioni in evidenza",
"Show to everyone" : "Mostra a tutti",
"Show to logged in users only" : "Mostra solo a utenti registrati",
"Hide" : "Nascondi",
@@ -384,7 +385,6 @@
"Never" : "Mai",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "L'applicazione è stata abilitata, ma deve essere aggiornata. Sarai rediretto alla pagina di aggiornamento in 5 secondi.",
"Error: This app cannot be enabled because it makes the server unstable" : "Errore: questa applicazione non può essere abilitata perché rende il server instabile",
- "Administrator documentation" : "Documentazione amministratore",
"Documentation" : "Documentazione",
"Forum" : "Forum",
"Login" : "Login",
diff --git a/apps/settings/l10n/ja.js b/apps/settings/l10n/ja.js
index 88e08e587f4..4c46df0ae7a 100644
--- a/apps/settings/l10n/ja.js
+++ b/apps/settings/l10n/ja.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheキーの最大数を間もなく超過します。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.max_accelerated_files</code>の値を<code>%s</code>より多い値でPHP設定に適用することを推奨します。",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheバッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.memory_consumption</code>の値を<code>%s</code>より多い値で、PHP設定に適用することを推奨します。",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheのインターン化文字列バッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.interned_strings_buffer</code>の値を<code>%s</code>より多い値で、PHP設定に適用することを推奨します。",
+ "Administrator documentation" : "管理者ドキュメント",
+ "User documentation" : "ユーザードキュメント",
"Invalid SMTP password." : "SMTPパスワードが無効",
"Email setting test" : "メール設定のテスト",
"Well done, %s!" : "%sさん、成功です!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "ストア内で表示",
"Visit website" : "ウェブサイトを表示",
"Report a bug" : "不具合を報告",
- "User documentation" : "ユーザードキュメント",
"Admin documentation" : "管理者ドキュメント",
"Developer documentation" : "開発者ドキュメント",
"This app is supported via your current Nextcloud subscription." : "このアプリは、現行のNextcloudサブスクリプションでサポートされています。",
@@ -381,11 +382,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "アカウントには以下のデバイスが設定されています。",
"Your browser does not support WebAuthn." : "お使いのブラウザーは WebAuthn をサポートしていません。",
"Your apps" : "あなたのアプリ",
- "Active apps" : "アクティブなアプリ",
- "Disabled apps" : "無効なアプリ",
- "Updates" : "アップデート",
- "App bundles" : "アプリバンドル",
- "Featured apps" : "注目のアプリ",
"{license}-licensed" : "{license}-に許諾されています",
"Changelog" : "変更履歴",
"by {author}\n{license}" : "作者 {author}\n{license}",
@@ -419,6 +415,11 @@ OC.L10N.register(
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "このプロパティは、ファイル共有やカレンダーへの招待などのコア機能に必要なため、使用できません",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "お客様のアカウントでフェデレーションが無効になっているため利用できません。不明な点がある場合は、システム管理者にお問い合わせください",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "ユーザー固有のデータをルックアップサーバーに公開することは許可されていないため、利用できません。ご不明な点がある場合は、システム管理者にお問い合わせください",
+ "Active apps" : "アクティブなアプリ",
+ "Disabled apps" : "無効なアプリ",
+ "Updates" : "アップデート",
+ "App bundles" : "アプリバンドル",
+ "Featured apps" : "注目のアプリ",
"Show to everyone" : "全員に見せる",
"Show to logged in users only" : "ログインしているユーザーだけに見せる",
"Hide" : "隠す",
@@ -430,7 +431,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "要求中にエラーが発生しました。 続行できません。",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "アプリは有効ですが、更新が必要です。5秒後に更新ページにリダイレクトします。",
"Error: This app cannot be enabled because it makes the server unstable" : "エラー:このアプリは、サーバーを不安定にするため、有効にすることができません。",
- "Administrator documentation" : "管理者ドキュメント",
"Documentation" : "ドキュメント",
"Forum" : "フォーラム",
"Login" : "ログイン",
diff --git a/apps/settings/l10n/ja.json b/apps/settings/l10n/ja.json
index a33a1916b2b..8a13b40a8e4 100644
--- a/apps/settings/l10n/ja.json
+++ b/apps/settings/l10n/ja.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheキーの最大数を間もなく超過します。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.max_accelerated_files</code>の値を<code>%s</code>より多い値でPHP設定に適用することを推奨します。",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheバッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.memory_consumption</code>の値を<code>%s</code>より多い値で、PHP設定に適用することを推奨します。",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcacheのインターン化文字列バッファーがまもなく一杯になります。全てのスクリプトをキャッシュに保管できるようにするには、<code>opcache.interned_strings_buffer</code>の値を<code>%s</code>より多い値で、PHP設定に適用することを推奨します。",
+ "Administrator documentation" : "管理者ドキュメント",
+ "User documentation" : "ユーザードキュメント",
"Invalid SMTP password." : "SMTPパスワードが無効",
"Email setting test" : "メール設定のテスト",
"Well done, %s!" : "%sさん、成功です!",
@@ -168,7 +170,6 @@
"View in store" : "ストア内で表示",
"Visit website" : "ウェブサイトを表示",
"Report a bug" : "不具合を報告",
- "User documentation" : "ユーザードキュメント",
"Admin documentation" : "管理者ドキュメント",
"Developer documentation" : "開発者ドキュメント",
"This app is supported via your current Nextcloud subscription." : "このアプリは、現行のNextcloudサブスクリプションでサポートされています。",
@@ -379,11 +380,6 @@
"The following devices are configured for your account:" : "アカウントには以下のデバイスが設定されています。",
"Your browser does not support WebAuthn." : "お使いのブラウザーは WebAuthn をサポートしていません。",
"Your apps" : "あなたのアプリ",
- "Active apps" : "アクティブなアプリ",
- "Disabled apps" : "無効なアプリ",
- "Updates" : "アップデート",
- "App bundles" : "アプリバンドル",
- "Featured apps" : "注目のアプリ",
"{license}-licensed" : "{license}-に許諾されています",
"Changelog" : "変更履歴",
"by {author}\n{license}" : "作者 {author}\n{license}",
@@ -417,6 +413,11 @@
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "このプロパティは、ファイル共有やカレンダーへの招待などのコア機能に必要なため、使用できません",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "お客様のアカウントでフェデレーションが無効になっているため利用できません。不明な点がある場合は、システム管理者にお問い合わせください",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "ユーザー固有のデータをルックアップサーバーに公開することは許可されていないため、利用できません。ご不明な点がある場合は、システム管理者にお問い合わせください",
+ "Active apps" : "アクティブなアプリ",
+ "Disabled apps" : "無効なアプリ",
+ "Updates" : "アップデート",
+ "App bundles" : "アプリバンドル",
+ "Featured apps" : "注目のアプリ",
"Show to everyone" : "全員に見せる",
"Show to logged in users only" : "ログインしているユーザーだけに見せる",
"Hide" : "隠す",
@@ -428,7 +429,6 @@
"An error occurred during the request. Unable to proceed." : "要求中にエラーが発生しました。 続行できません。",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "アプリは有効ですが、更新が必要です。5秒後に更新ページにリダイレクトします。",
"Error: This app cannot be enabled because it makes the server unstable" : "エラー:このアプリは、サーバーを不安定にするため、有効にすることができません。",
- "Administrator documentation" : "管理者ドキュメント",
"Documentation" : "ドキュメント",
"Forum" : "フォーラム",
"Login" : "ログイン",
diff --git a/apps/settings/l10n/ka_GE.js b/apps/settings/l10n/ka_GE.js
index 92745345582..63cb6fa9960 100644
--- a/apps/settings/l10n/ka_GE.js
+++ b/apps/settings/l10n/ka_GE.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "გთხოვთ მოგვაწოდოთ ადმინისტრატორის აღდგენის პაროლი; სხვა შემთხვევაში ყველა მონაცემი დაიკარგება.",
"Wrong admin recovery password. Please check the password and try again." : "ადმინისტრატორის აღდგენის არასწორი პაროლი. გთხოვთ გადაამოწმოთ პაროლი და სცადოთ ახლიდან.",
"Federated Cloud Sharing" : "ფედერალური ქლაუდ გაზიარება",
+ "Administrator documentation" : "ადმინისტრატორის დოკუმენტაცია",
+ "User documentation" : "მომხმარებლის დოკუმენტაცია",
"Invalid SMTP password." : "არასწორი SMTP პაროლი.",
"Email setting test" : "ელ-ფოსტის დაყენების შემოწმება",
"Well done, %s!" : "ყველაფერი კარგადაა, %s!",
@@ -96,7 +98,6 @@ OC.L10N.register(
"View in store" : "იხილეთ store-ში",
"Visit website" : "საიტზე სტუმრობა",
"Report a bug" : "განაცხადეთ შეცდომის შესახებ",
- "User documentation" : "მომხმარებლის დოკუმენტაცია",
"Admin documentation" : "ადმინისტრატორის დოკუმენტაცია",
"Developer documentation" : "დეველოპერის დოკუმენტაცია",
"Supported" : "მხარდაჭერილია",
@@ -166,9 +167,6 @@ OC.L10N.register(
"Default quota" : "საწყისი კვოტა",
"Unnamed device" : "უსახელო მოწყობილობა",
"Your apps" : "თქვენი აპლიკაციები",
- "Disabled apps" : "არამოქმედი აპლიკაციები",
- "Updates" : "განახლებები",
- "App bundles" : "აპლიკაციის შეკვრები",
"Changelog" : "ცვლილებების ლოგი",
"Add group" : "ჯგუფის დამატება",
"Active users" : "აქტიური მომხმარებლები",
@@ -186,10 +184,12 @@ OC.L10N.register(
"Phone number" : "ტელეფონის ნომერი",
"Twitter" : "Twitter-ი",
"Website" : "ვებ-საიტი",
+ "Disabled apps" : "არამოქმედი აპლიკაციები",
+ "Updates" : "განახლებები",
+ "App bundles" : "აპლიკაციის შეკვრები",
"Hide" : "დამალვა",
"Never" : "არასდროს",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "აპლიკაცია ამოქმედდა, თუმცა საჭიროებს განახლებას. 5 წამში გადამისამართდებით განახლების გვერდზე.",
- "Administrator documentation" : "ადმინისტრატორის დოკუმენტაცია",
"Documentation" : "დოკუმენტაცია",
"Forum" : "ფორუმი",
"Login" : "ლოგინი",
diff --git a/apps/settings/l10n/ka_GE.json b/apps/settings/l10n/ka_GE.json
index 05248732eec..1d40c3d7199 100644
--- a/apps/settings/l10n/ka_GE.json
+++ b/apps/settings/l10n/ka_GE.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "გთხოვთ მოგვაწოდოთ ადმინისტრატორის აღდგენის პაროლი; სხვა შემთხვევაში ყველა მონაცემი დაიკარგება.",
"Wrong admin recovery password. Please check the password and try again." : "ადმინისტრატორის აღდგენის არასწორი პაროლი. გთხოვთ გადაამოწმოთ პაროლი და სცადოთ ახლიდან.",
"Federated Cloud Sharing" : "ფედერალური ქლაუდ გაზიარება",
+ "Administrator documentation" : "ადმინისტრატორის დოკუმენტაცია",
+ "User documentation" : "მომხმარებლის დოკუმენტაცია",
"Invalid SMTP password." : "არასწორი SMTP პაროლი.",
"Email setting test" : "ელ-ფოსტის დაყენების შემოწმება",
"Well done, %s!" : "ყველაფერი კარგადაა, %s!",
@@ -94,7 +96,6 @@
"View in store" : "იხილეთ store-ში",
"Visit website" : "საიტზე სტუმრობა",
"Report a bug" : "განაცხადეთ შეცდომის შესახებ",
- "User documentation" : "მომხმარებლის დოკუმენტაცია",
"Admin documentation" : "ადმინისტრატორის დოკუმენტაცია",
"Developer documentation" : "დეველოპერის დოკუმენტაცია",
"Supported" : "მხარდაჭერილია",
@@ -164,9 +165,6 @@
"Default quota" : "საწყისი კვოტა",
"Unnamed device" : "უსახელო მოწყობილობა",
"Your apps" : "თქვენი აპლიკაციები",
- "Disabled apps" : "არამოქმედი აპლიკაციები",
- "Updates" : "განახლებები",
- "App bundles" : "აპლიკაციის შეკვრები",
"Changelog" : "ცვლილებების ლოგი",
"Add group" : "ჯგუფის დამატება",
"Active users" : "აქტიური მომხმარებლები",
@@ -184,10 +182,12 @@
"Phone number" : "ტელეფონის ნომერი",
"Twitter" : "Twitter-ი",
"Website" : "ვებ-საიტი",
+ "Disabled apps" : "არამოქმედი აპლიკაციები",
+ "Updates" : "განახლებები",
+ "App bundles" : "აპლიკაციის შეკვრები",
"Hide" : "დამალვა",
"Never" : "არასდროს",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "აპლიკაცია ამოქმედდა, თუმცა საჭიროებს განახლებას. 5 წამში გადამისამართდებით განახლების გვერდზე.",
- "Administrator documentation" : "ადმინისტრატორის დოკუმენტაცია",
"Documentation" : "დოკუმენტაცია",
"Forum" : "ფორუმი",
"Login" : "ლოგინი",
diff --git a/apps/settings/l10n/ko.js b/apps/settings/l10n/ko.js
index 8de44a90a03..44a7301a3b6 100644
--- a/apps/settings/l10n/ko.js
+++ b/apps/settings/l10n/ko.js
@@ -72,6 +72,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache key가 최대치를 초과할 것으로 보입니다. 모든 스크립트가 캐시에 유지될 수 있도록, PHP 설정에서 <code>opcache.max_accelerated_files</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache 버퍼가 가득 찰 것으로 보입니다. 모든 스크립트가 캐시에 보관될 수 있도록, PHP 설정에서 <code>opcache.memory_consumption</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache interned buffer가 가득 찰 것으로 보입니다. 반복 문자열이 효율적으로 캐싱될 수 있도록, PHP 설정에서 <code>opcache.interned_strings_buffer</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ",
+ "Administrator documentation" : "관리자 문서",
+ "User documentation" : "사용자 문서",
"Invalid SMTP password." : "SMTP 암호가 잘못되었습니다.",
"Email setting test" : "이메일 설정 시험",
"Well done, %s!" : "%s 님, 잘 하셨습니다!",
@@ -169,7 +171,6 @@ OC.L10N.register(
"View in store" : "스토어에서 보기",
"Visit website" : "웹 사이트 방문",
"Report a bug" : "버그 신고",
- "User documentation" : "사용자 문서",
"Admin documentation" : "관리 문서",
"Developer documentation" : "개발자 문서",
"This app is supported via your current Nextcloud subscription." : "이 앱은 당신의 현재 Nextcloud 구독을 통해 지원됩니다.",
@@ -257,6 +258,7 @@ OC.L10N.register(
"png or jpg, max. 20 MB" : "PNG, JPG, 최대 20MB",
"Picture provided by original account" : "원래 계정에서 제공하는 사진",
"Cancel" : "취소",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "프로필사진이 모든 곳에 갱신될 때 까지 최대 24시간이 걸릴 수 있습니다.",
"Your biography" : "내 소개문구",
"Details" : "자세히",
"You are a member of the following groups:" : "당신은 다음 그룹의 멤버입니다:",
@@ -344,11 +346,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "다음의 기기가 계정에 설정되었습니다:",
"Your browser does not support WebAuthn." : "WebAuthn이 현재 브라우저를 지원하지 않습니다.",
"Your apps" : "내 앱",
- "Active apps" : "활성화된 앱",
- "Disabled apps" : "비활성화된 앱",
- "Updates" : "업데이트",
- "App bundles" : "앱 번들",
- "Featured apps" : "추천 앱 - ",
"{license}-licensed" : "{license} 라이선스",
"Changelog" : "변경 기록",
"Enter group name" : "그룹 이름 입력",
@@ -378,6 +375,11 @@ OC.L10N.register(
"Twitter" : "트위터",
"Website" : "웹사이트",
"Profile visibility" : "프로필 표시 여부",
+ "Active apps" : "활성화된 앱",
+ "Disabled apps" : "비활성화된 앱",
+ "Updates" : "업데이트",
+ "App bundles" : "앱 번들",
+ "Featured apps" : "추천 앱 - ",
"Show to everyone" : "전체 공개",
"Show to logged in users only" : "로그인된 사용자에게 공개",
"Hide" : "비공개",
@@ -389,7 +391,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "요청을 보내는 도중 에러가 발생하였습니다. 더 이상 진행할 수 없습니다.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "앱이 활성화되었지만, 앱을 업데이트해야 합니다. 5초 후 앱 업데이트 페이지로 넘어갑니다.",
"Error: This app cannot be enabled because it makes the server unstable" : "오류: 이 앱은 서버를 불안정하게 만들 수 있어서 활성화할 수 없습니다",
- "Administrator documentation" : "관리자 문서",
"Documentation" : "문서",
"Forum" : "포럼",
"Login" : "로그인",
diff --git a/apps/settings/l10n/ko.json b/apps/settings/l10n/ko.json
index 369fab5ff0e..4cc088b99b3 100644
--- a/apps/settings/l10n/ko.json
+++ b/apps/settings/l10n/ko.json
@@ -70,6 +70,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache key가 최대치를 초과할 것으로 보입니다. 모든 스크립트가 캐시에 유지될 수 있도록, PHP 설정에서 <code>opcache.max_accelerated_files</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache 버퍼가 가득 찰 것으로 보입니다. 모든 스크립트가 캐시에 보관될 수 있도록, PHP 설정에서 <code>opcache.memory_consumption</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "곧 OPcache interned buffer가 가득 찰 것으로 보입니다. 반복 문자열이 효율적으로 캐싱될 수 있도록, PHP 설정에서 <code>opcache.interned_strings_buffer</code> 값을 <code>%s</code> 보다 크게 적용하시길 권장합니다. ",
+ "Administrator documentation" : "관리자 문서",
+ "User documentation" : "사용자 문서",
"Invalid SMTP password." : "SMTP 암호가 잘못되었습니다.",
"Email setting test" : "이메일 설정 시험",
"Well done, %s!" : "%s 님, 잘 하셨습니다!",
@@ -167,7 +169,6 @@
"View in store" : "스토어에서 보기",
"Visit website" : "웹 사이트 방문",
"Report a bug" : "버그 신고",
- "User documentation" : "사용자 문서",
"Admin documentation" : "관리 문서",
"Developer documentation" : "개발자 문서",
"This app is supported via your current Nextcloud subscription." : "이 앱은 당신의 현재 Nextcloud 구독을 통해 지원됩니다.",
@@ -255,6 +256,7 @@
"png or jpg, max. 20 MB" : "PNG, JPG, 최대 20MB",
"Picture provided by original account" : "원래 계정에서 제공하는 사진",
"Cancel" : "취소",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "프로필사진이 모든 곳에 갱신될 때 까지 최대 24시간이 걸릴 수 있습니다.",
"Your biography" : "내 소개문구",
"Details" : "자세히",
"You are a member of the following groups:" : "당신은 다음 그룹의 멤버입니다:",
@@ -342,11 +344,6 @@
"The following devices are configured for your account:" : "다음의 기기가 계정에 설정되었습니다:",
"Your browser does not support WebAuthn." : "WebAuthn이 현재 브라우저를 지원하지 않습니다.",
"Your apps" : "내 앱",
- "Active apps" : "활성화된 앱",
- "Disabled apps" : "비활성화된 앱",
- "Updates" : "업데이트",
- "App bundles" : "앱 번들",
- "Featured apps" : "추천 앱 - ",
"{license}-licensed" : "{license} 라이선스",
"Changelog" : "변경 기록",
"Enter group name" : "그룹 이름 입력",
@@ -376,6 +373,11 @@
"Twitter" : "트위터",
"Website" : "웹사이트",
"Profile visibility" : "프로필 표시 여부",
+ "Active apps" : "활성화된 앱",
+ "Disabled apps" : "비활성화된 앱",
+ "Updates" : "업데이트",
+ "App bundles" : "앱 번들",
+ "Featured apps" : "추천 앱 - ",
"Show to everyone" : "전체 공개",
"Show to logged in users only" : "로그인된 사용자에게 공개",
"Hide" : "비공개",
@@ -387,7 +389,6 @@
"An error occurred during the request. Unable to proceed." : "요청을 보내는 도중 에러가 발생하였습니다. 더 이상 진행할 수 없습니다.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "앱이 활성화되었지만, 앱을 업데이트해야 합니다. 5초 후 앱 업데이트 페이지로 넘어갑니다.",
"Error: This app cannot be enabled because it makes the server unstable" : "오류: 이 앱은 서버를 불안정하게 만들 수 있어서 활성화할 수 없습니다",
- "Administrator documentation" : "관리자 문서",
"Documentation" : "문서",
"Forum" : "포럼",
"Login" : "로그인",
diff --git a/apps/settings/l10n/lt_LT.js b/apps/settings/l10n/lt_LT.js
index 9cf41a63d74..a7467a767a4 100644
--- a/apps/settings/l10n/lt_LT.js
+++ b/apps/settings/l10n/lt_LT.js
@@ -66,6 +66,8 @@ OC.L10N.register(
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcache modulis nėra įkeltas. Geresniam našumui rekomenduojame įkelti šį modulį į savo PHP diegimą.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache yra išjungtas. Geresniam našumui rekomenduojame taikyti savo PHP konfigūracijoje <code>opcache.enable=1</code>.",
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache yra sukonfigūruotas taip, kad šalintų kodo komentarus. Turint įjungtą OPcache, privalo būti nustatyta <code>opcache.save_comments=1</code>, kad Nextcloud galėtų funkcionuoti.",
+ "Administrator documentation" : "Administratoriaus dokumentacija",
+ "User documentation" : "Naudotojo dokumentacija",
"Invalid SMTP password." : "Neteisingas SMTP slaptažodis.",
"Email setting test" : "El. pašto nustatymo testas",
"Well done, %s!" : "Gerai padirbėjote, %s!",
@@ -155,7 +157,6 @@ OC.L10N.register(
"View in store" : "Rodyti parduotuvėje",
"Visit website" : "Aplankyti svetainę",
"Report a bug" : "Pranešti apie klaidą",
- "User documentation" : "Naudotojo dokumentacija",
"Admin documentation" : "Administratoriaus dokumentacija",
"Developer documentation" : "Plėtotojo dokumentacija",
"This app is supported via your current Nextcloud subscription." : "Ši programėlė yra palaikoma per jūsų esamą Nextcloud prenumeratą.",
@@ -344,11 +345,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Jūsų paskyrai sukonfiguruoti šie įrenginiai:",
"Your browser does not support WebAuthn." : "Jūsų naršyklė nepalaiko WebAuthn.",
"Your apps" : "Jūsų programėlės",
- "Active apps" : "Aktyvios programėlės",
- "Disabled apps" : "Išjungtos programėlės",
- "Updates" : "Atnaujinimai",
- "App bundles" : "Programėlių rinkiniai",
- "Featured apps" : "Siūlomos programėlės",
"{license}-licensed" : "Licencijuota pagal {license}",
"Changelog" : "Keitinių žurnalas",
"by {author}\n{license}" : "pagal {author}\n{license}",
@@ -380,6 +376,11 @@ OC.L10N.register(
"Website" : "Svetainė",
"Profile visibility" : "Profilio matomumas",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Neprieinama, nes su naudotoju susijusios informacijos paskelbimas į paieškos serverį yra neleidžiamas. Jei turite klausimų, susisiekite su savo sistemos administratoriumi",
+ "Active apps" : "Aktyvios programėlės",
+ "Disabled apps" : "Išjungtos programėlės",
+ "Updates" : "Atnaujinimai",
+ "App bundles" : "Programėlių rinkiniai",
+ "Featured apps" : "Siūlomos programėlės",
"Show to everyone" : "Rodyti visiems",
"Show to logged in users only" : "Rodyti tik prisijungusiems naudotojams",
"Hide" : "Slėpti",
@@ -391,7 +392,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Užklausos metu įvyko klaida. Nepavyksta tęsti.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Programėlė įjungta, tačiau turi būti atnaujinta. Po 5 sekundžių būsite peradresuoti į atnaujinimo puslapį.",
"Error: This app cannot be enabled because it makes the server unstable" : "Klaida: Ši programėlė negali būti įjungta, nes ji neigiamai veikia serverio stabilumą",
- "Administrator documentation" : "Administratoriaus dokumentacija",
"Documentation" : "Dokumentacija",
"Forum" : "Forumas",
"Login" : "Prisijungti",
diff --git a/apps/settings/l10n/lt_LT.json b/apps/settings/l10n/lt_LT.json
index 91396565c47..5b8da4eaf84 100644
--- a/apps/settings/l10n/lt_LT.json
+++ b/apps/settings/l10n/lt_LT.json
@@ -64,6 +64,8 @@
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcache modulis nėra įkeltas. Geresniam našumui rekomenduojame įkelti šį modulį į savo PHP diegimą.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache yra išjungtas. Geresniam našumui rekomenduojame taikyti savo PHP konfigūracijoje <code>opcache.enable=1</code>.",
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache yra sukonfigūruotas taip, kad šalintų kodo komentarus. Turint įjungtą OPcache, privalo būti nustatyta <code>opcache.save_comments=1</code>, kad Nextcloud galėtų funkcionuoti.",
+ "Administrator documentation" : "Administratoriaus dokumentacija",
+ "User documentation" : "Naudotojo dokumentacija",
"Invalid SMTP password." : "Neteisingas SMTP slaptažodis.",
"Email setting test" : "El. pašto nustatymo testas",
"Well done, %s!" : "Gerai padirbėjote, %s!",
@@ -153,7 +155,6 @@
"View in store" : "Rodyti parduotuvėje",
"Visit website" : "Aplankyti svetainę",
"Report a bug" : "Pranešti apie klaidą",
- "User documentation" : "Naudotojo dokumentacija",
"Admin documentation" : "Administratoriaus dokumentacija",
"Developer documentation" : "Plėtotojo dokumentacija",
"This app is supported via your current Nextcloud subscription." : "Ši programėlė yra palaikoma per jūsų esamą Nextcloud prenumeratą.",
@@ -342,11 +343,6 @@
"The following devices are configured for your account:" : "Jūsų paskyrai sukonfiguruoti šie įrenginiai:",
"Your browser does not support WebAuthn." : "Jūsų naršyklė nepalaiko WebAuthn.",
"Your apps" : "Jūsų programėlės",
- "Active apps" : "Aktyvios programėlės",
- "Disabled apps" : "Išjungtos programėlės",
- "Updates" : "Atnaujinimai",
- "App bundles" : "Programėlių rinkiniai",
- "Featured apps" : "Siūlomos programėlės",
"{license}-licensed" : "Licencijuota pagal {license}",
"Changelog" : "Keitinių žurnalas",
"by {author}\n{license}" : "pagal {author}\n{license}",
@@ -378,6 +374,11 @@
"Website" : "Svetainė",
"Profile visibility" : "Profilio matomumas",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Neprieinama, nes su naudotoju susijusios informacijos paskelbimas į paieškos serverį yra neleidžiamas. Jei turite klausimų, susisiekite su savo sistemos administratoriumi",
+ "Active apps" : "Aktyvios programėlės",
+ "Disabled apps" : "Išjungtos programėlės",
+ "Updates" : "Atnaujinimai",
+ "App bundles" : "Programėlių rinkiniai",
+ "Featured apps" : "Siūlomos programėlės",
"Show to everyone" : "Rodyti visiems",
"Show to logged in users only" : "Rodyti tik prisijungusiems naudotojams",
"Hide" : "Slėpti",
@@ -389,7 +390,6 @@
"An error occurred during the request. Unable to proceed." : "Užklausos metu įvyko klaida. Nepavyksta tęsti.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Programėlė įjungta, tačiau turi būti atnaujinta. Po 5 sekundžių būsite peradresuoti į atnaujinimo puslapį.",
"Error: This app cannot be enabled because it makes the server unstable" : "Klaida: Ši programėlė negali būti įjungta, nes ji neigiamai veikia serverio stabilumą",
- "Administrator documentation" : "Administratoriaus dokumentacija",
"Documentation" : "Dokumentacija",
"Forum" : "Forumas",
"Login" : "Prisijungti",
diff --git a/apps/settings/l10n/lv.js b/apps/settings/l10n/lv.js
index 338e22deec8..3713cef8c0e 100644
--- a/apps/settings/l10n/lv.js
+++ b/apps/settings/l10n/lv.js
@@ -22,6 +22,8 @@ OC.L10N.register(
"Authentication error" : "Autentifikācijas kļūda",
"Wrong admin recovery password. Please check the password and try again." : "Nepareiza administratora atjaunošanas parole. Lūdzu pārbaudiet paroli un mēģiniet vēlreiz.",
"Federated Cloud Sharing" : "Federatīva mākoņkoplietošana",
+ "Administrator documentation" : "Administratora dokumentācija",
+ "User documentation" : "Lietotāja dokumentācija",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Radās kļūda, nosūtot e-pastu. Lūdzu, pārskatiet savus iestatījumus. (Kļūda: %s)",
"Invalid user" : "Nepareizs lietotājs",
"Invalid mail address" : "Nepareiza e-pasta adrese",
@@ -56,7 +58,6 @@ OC.L10N.register(
"Disable" : "Deaktivēt",
"Visit website" : "Apmeklējiet vietni",
"Report a bug" : "Ziņot par kļūdu",
- "User documentation" : "Lietotāja dokumentācija",
"Admin documentation" : "Administratora dokumentācija",
"Developer documentation" : "Izstrādātāja dokumentācija",
"No apps found for your version" : "Neatrada lietotnes jūsu versijai",
@@ -113,7 +114,6 @@ OC.L10N.register(
"Storage location" : "Krātuves atrašanās vieta",
"Last login" : "Pēdējā pieteikšanās",
"Default quota" : "Apjoms pēc noklusējuma",
- "Updates" : "Atjauninājumi",
"Changelog" : "Izmaiņu žurnāls",
"Add group" : "Pievienot grupu",
"Active users" : "Aktīvie lietotāji",
@@ -130,9 +130,9 @@ OC.L10N.register(
"Phone number" : "Tālruņa numurs",
"Twitter" : "Twitter",
"Website" : "Mājaslapa",
+ "Updates" : "Atjauninājumi",
"Hide" : "Slēpt",
"Never" : "Nekad",
- "Administrator documentation" : "Administratora dokumentācija",
"Documentation" : "Dokumentācija",
"Forum" : "Forums",
"Login" : "Autorizēties",
diff --git a/apps/settings/l10n/lv.json b/apps/settings/l10n/lv.json
index 869e60ccc63..044f67f6a93 100644
--- a/apps/settings/l10n/lv.json
+++ b/apps/settings/l10n/lv.json
@@ -20,6 +20,8 @@
"Authentication error" : "Autentifikācijas kļūda",
"Wrong admin recovery password. Please check the password and try again." : "Nepareiza administratora atjaunošanas parole. Lūdzu pārbaudiet paroli un mēģiniet vēlreiz.",
"Federated Cloud Sharing" : "Federatīva mākoņkoplietošana",
+ "Administrator documentation" : "Administratora dokumentācija",
+ "User documentation" : "Lietotāja dokumentācija",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Radās kļūda, nosūtot e-pastu. Lūdzu, pārskatiet savus iestatījumus. (Kļūda: %s)",
"Invalid user" : "Nepareizs lietotājs",
"Invalid mail address" : "Nepareiza e-pasta adrese",
@@ -54,7 +56,6 @@
"Disable" : "Deaktivēt",
"Visit website" : "Apmeklējiet vietni",
"Report a bug" : "Ziņot par kļūdu",
- "User documentation" : "Lietotāja dokumentācija",
"Admin documentation" : "Administratora dokumentācija",
"Developer documentation" : "Izstrādātāja dokumentācija",
"No apps found for your version" : "Neatrada lietotnes jūsu versijai",
@@ -111,7 +112,6 @@
"Storage location" : "Krātuves atrašanās vieta",
"Last login" : "Pēdējā pieteikšanās",
"Default quota" : "Apjoms pēc noklusējuma",
- "Updates" : "Atjauninājumi",
"Changelog" : "Izmaiņu žurnāls",
"Add group" : "Pievienot grupu",
"Active users" : "Aktīvie lietotāji",
@@ -128,9 +128,9 @@
"Phone number" : "Tālruņa numurs",
"Twitter" : "Twitter",
"Website" : "Mājaslapa",
+ "Updates" : "Atjauninājumi",
"Hide" : "Slēpt",
"Never" : "Nekad",
- "Administrator documentation" : "Administratora dokumentācija",
"Documentation" : "Dokumentācija",
"Forum" : "Forums",
"Login" : "Autorizēties",
diff --git a/apps/settings/l10n/mk.js b/apps/settings/l10n/mk.js
index 4b4043c521c..96f3228ea13 100644
--- a/apps/settings/l10n/mk.js
+++ b/apps/settings/l10n/mk.js
@@ -68,6 +68,8 @@ OC.L10N.register(
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP модулот OPcache не е вчитан. За да имате подобри перформанси е препорачливо да го вчитате во вашата PHP инсталација.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache модулот е оневозможен. За подобри перформанси препорачливо е да го овозможите <code>opcache.enable=1</code> во вашата PHP конфигурација.",
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache е конфигуриран за да ги брише коментарите во кодовите. Со овозможен OPcache, <code>opcache.save_comments=1</code> мора да се постави за да функционира Nextcloud.",
+ "Administrator documentation" : "Документација за администратор",
+ "User documentation" : "Документација за корисник",
"Invalid SMTP password." : "Грешна SMTP лозинка.",
"Email setting test" : "Тест за параметри на е-пошта",
"Well done, %s!" : "Добро сторено, %s!",
@@ -164,7 +166,6 @@ OC.L10N.register(
"View in store" : "Преглед во продавницата за апликации",
"Visit website" : "Посети ја веб страната",
"Report a bug" : "Пријави грешка",
- "User documentation" : "Документација за корисник",
"Admin documentation" : "Документација за администратор",
"Developer documentation" : "Документација за програмери",
"This app is supported via your current Nextcloud subscription." : "Оваа апликација е е дозволена за вашиот налог.",
@@ -369,11 +370,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Следниве уреди се конфигурирани за вашата сметка:",
"Your browser does not support WebAuthn." : "Вашиот прелистувач не поддржува WebAuthn.",
"Your apps" : "Ваши апликации",
- "Active apps" : "Активни апликации",
- "Disabled apps" : "Оневозможени апликации",
- "Updates" : "Ажурирања",
- "App bundles" : "Пакети со апликации",
- "Featured apps" : "Истакнати апликации",
"{license}-licensed" : "{license}-лиценца",
"Changelog" : "Листа на промени",
"by {author}\n{license}" : "од {author}\n{license}",
@@ -406,6 +402,11 @@ OC.L10N.register(
"Profile visibility" : "Видливост на профилот",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е достапно бидејќи ова својство е потребно за основна функционалност, вклучувајќи споделување датотеки и покани од календар",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Не е достапно бидејќи не е дозволено објавување специфични податоци за корисникот на серверот за пребарување, контактирајте со вашиот системски администратор ако имате какви било прашања",
+ "Active apps" : "Активни апликации",
+ "Disabled apps" : "Оневозможени апликации",
+ "Updates" : "Ажурирања",
+ "App bundles" : "Пакети со апликации",
+ "Featured apps" : "Истакнати апликации",
"Show to everyone" : "Прикажи на сите",
"Show to logged in users only" : "Прикажи само на најавени корисници",
"Hide" : "Сокриј",
@@ -417,7 +418,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Настана грешка во процесот. Не може да продолжи.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Оваа апликација е овозможена но треба да биде надоградена. Ќе бидете пренасочени кон страната за надоградување за 5 секунди.",
"Error: This app cannot be enabled because it makes the server unstable" : "Грешка: Оваа апликација неможе да се овозможи бидејќи ќе го направи серверот нестабилен",
- "Administrator documentation" : "Документација за администратор",
"Documentation" : "Документација",
"Forum" : "Форум",
"Login" : "Најава",
@@ -521,6 +521,7 @@ OC.L10N.register(
"Pick background job setting" : "Избери го начинот на извршување на задачите во позадина",
"Recommended" : "Препорачано",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php е потребно да биде извршен од системски корисник\" %s\".",
+ "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Дозволете автоматско пополнување кога го внесувате целосното име или адресата на е-пошта (игнорирање што недостасува совпаѓање со именикот и сте во иста група)",
"Change privacy level of profile picture" : "Променете го нивото на приватност за сликата на профилот",
"Upload new" : "Прикачи нова",
"Select from Files" : "Избри од датотеките",
diff --git a/apps/settings/l10n/mk.json b/apps/settings/l10n/mk.json
index 83af21f8d0f..b2baf0d9e62 100644
--- a/apps/settings/l10n/mk.json
+++ b/apps/settings/l10n/mk.json
@@ -66,6 +66,8 @@
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP модулот OPcache не е вчитан. За да имате подобри перформанси е препорачливо да го вчитате во вашата PHP инсталација.",
"OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache модулот е оневозможен. За подобри перформанси препорачливо е да го овозможите <code>opcache.enable=1</code> во вашата PHP конфигурација.",
"OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache е конфигуриран за да ги брише коментарите во кодовите. Со овозможен OPcache, <code>opcache.save_comments=1</code> мора да се постави за да функционира Nextcloud.",
+ "Administrator documentation" : "Документација за администратор",
+ "User documentation" : "Документација за корисник",
"Invalid SMTP password." : "Грешна SMTP лозинка.",
"Email setting test" : "Тест за параметри на е-пошта",
"Well done, %s!" : "Добро сторено, %s!",
@@ -162,7 +164,6 @@
"View in store" : "Преглед во продавницата за апликации",
"Visit website" : "Посети ја веб страната",
"Report a bug" : "Пријави грешка",
- "User documentation" : "Документација за корисник",
"Admin documentation" : "Документација за администратор",
"Developer documentation" : "Документација за програмери",
"This app is supported via your current Nextcloud subscription." : "Оваа апликација е е дозволена за вашиот налог.",
@@ -367,11 +368,6 @@
"The following devices are configured for your account:" : "Следниве уреди се конфигурирани за вашата сметка:",
"Your browser does not support WebAuthn." : "Вашиот прелистувач не поддржува WebAuthn.",
"Your apps" : "Ваши апликации",
- "Active apps" : "Активни апликации",
- "Disabled apps" : "Оневозможени апликации",
- "Updates" : "Ажурирања",
- "App bundles" : "Пакети со апликации",
- "Featured apps" : "Истакнати апликации",
"{license}-licensed" : "{license}-лиценца",
"Changelog" : "Листа на промени",
"by {author}\n{license}" : "од {author}\n{license}",
@@ -404,6 +400,11 @@
"Profile visibility" : "Видливост на профилот",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Не е достапно бидејќи ова својство е потребно за основна функционалност, вклучувајќи споделување датотеки и покани од календар",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Не е достапно бидејќи не е дозволено објавување специфични податоци за корисникот на серверот за пребарување, контактирајте со вашиот системски администратор ако имате какви било прашања",
+ "Active apps" : "Активни апликации",
+ "Disabled apps" : "Оневозможени апликации",
+ "Updates" : "Ажурирања",
+ "App bundles" : "Пакети со апликации",
+ "Featured apps" : "Истакнати апликации",
"Show to everyone" : "Прикажи на сите",
"Show to logged in users only" : "Прикажи само на најавени корисници",
"Hide" : "Сокриј",
@@ -415,7 +416,6 @@
"An error occurred during the request. Unable to proceed." : "Настана грешка во процесот. Не може да продолжи.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Оваа апликација е овозможена но треба да биде надоградена. Ќе бидете пренасочени кон страната за надоградување за 5 секунди.",
"Error: This app cannot be enabled because it makes the server unstable" : "Грешка: Оваа апликација неможе да се овозможи бидејќи ќе го направи серверот нестабилен",
- "Administrator documentation" : "Документација за администратор",
"Documentation" : "Документација",
"Forum" : "Форум",
"Login" : "Најава",
@@ -519,6 +519,7 @@
"Pick background job setting" : "Избери го начинот на извршување на задачите во позадина",
"Recommended" : "Препорачано",
"The cron.php needs to be executed by the system user \"%s\"." : "cron.php е потребно да биде извршен од системски корисник\" %s\".",
+ "Allow username autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Дозволете автоматско пополнување кога го внесувате целосното име или адресата на е-пошта (игнорирање што недостасува совпаѓање со именикот и сте во иста група)",
"Change privacy level of profile picture" : "Променете го нивото на приватност за сликата на профилот",
"Upload new" : "Прикачи нова",
"Select from Files" : "Избри од датотеките",
diff --git a/apps/settings/l10n/nb.js b/apps/settings/l10n/nb.js
index 66868b09c08..dd403649d00 100644
--- a/apps/settings/l10n/nb.js
+++ b/apps/settings/l10n/nb.js
@@ -56,6 +56,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "Feil administrativt gjenopprettingspassord. Sjekk passordet og prøv igjen.",
"Federated Cloud Sharing" : "Sammenknyttet sky-deling",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL bruker en utdatert %1$s-versjon (%2$s). Oppdater operativsystemet ditt; ellers vil ikke funksjoner som %3$s virke pålitelig.",
+ "Administrator documentation" : "Administratordokumentasjon",
+ "User documentation" : "Brukerdokumentasjon",
"Invalid SMTP password." : "Ugyldig SMTP-passord.",
"Email setting test" : "E-postinnstillingstest",
"Well done, %s!" : "Bra gjort, %s!",
@@ -138,7 +140,6 @@ OC.L10N.register(
"View in store" : "Vis i butikk",
"Visit website" : "Besøk nettsiden",
"Report a bug" : "Rapporter en feil",
- "User documentation" : "Brukerdokumentasjon",
"Admin documentation" : "Administratordokumentasjon",
"Developer documentation" : "Utviklerdokumentasjon",
"This app is supported via your current Nextcloud subscription." : "Denne appen er støttet av ditt nåværende Nextcloud abonnement.",
@@ -251,11 +252,6 @@ OC.L10N.register(
"Adding your device …" : "Legger til enheten...",
"Unnamed device" : "Ikke navngitt enhet",
"Your apps" : "Dine apper",
- "Active apps" : "Aktive apper",
- "Disabled apps" : "Deaktiverte apper",
- "Updates" : "Oppdateringer",
- "App bundles" : "App-pakker",
- "Featured apps" : "Fremhevede apper",
"{license}-licensed" : "{license}-lisensiert",
"Changelog" : "Endringslogg",
"Add group" : "Legg til gruppe",
@@ -283,12 +279,16 @@ OC.L10N.register(
"Twitter" : "Twitter",
"Website" : "Nettsted",
"Profile visibility" : "Profil-synlighet",
+ "Active apps" : "Aktive apper",
+ "Disabled apps" : "Deaktiverte apper",
+ "Updates" : "Oppdateringer",
+ "App bundles" : "App-pakker",
+ "Featured apps" : "Fremhevede apper",
"Hide" : "Skjul",
"Download and enable" : "Last ned og aktiver",
"Enable untested app" : "Aktiver utestet app",
"Never" : "Aldri",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen er aktivert men må oppdateres. Du vil bli videresendt til oppdateringssiden om 5 sekunder.",
- "Administrator documentation" : "Administratordokumentasjon",
"Documentation" : "Dokumentasjon",
"Forum" : "Forum",
"Login" : "Innlogging",
diff --git a/apps/settings/l10n/nb.json b/apps/settings/l10n/nb.json
index 9ca56908f20..8f488418f15 100644
--- a/apps/settings/l10n/nb.json
+++ b/apps/settings/l10n/nb.json
@@ -54,6 +54,8 @@
"Wrong admin recovery password. Please check the password and try again." : "Feil administrativt gjenopprettingspassord. Sjekk passordet og prøv igjen.",
"Federated Cloud Sharing" : "Sammenknyttet sky-deling",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL bruker en utdatert %1$s-versjon (%2$s). Oppdater operativsystemet ditt; ellers vil ikke funksjoner som %3$s virke pålitelig.",
+ "Administrator documentation" : "Administratordokumentasjon",
+ "User documentation" : "Brukerdokumentasjon",
"Invalid SMTP password." : "Ugyldig SMTP-passord.",
"Email setting test" : "E-postinnstillingstest",
"Well done, %s!" : "Bra gjort, %s!",
@@ -136,7 +138,6 @@
"View in store" : "Vis i butikk",
"Visit website" : "Besøk nettsiden",
"Report a bug" : "Rapporter en feil",
- "User documentation" : "Brukerdokumentasjon",
"Admin documentation" : "Administratordokumentasjon",
"Developer documentation" : "Utviklerdokumentasjon",
"This app is supported via your current Nextcloud subscription." : "Denne appen er støttet av ditt nåværende Nextcloud abonnement.",
@@ -249,11 +250,6 @@
"Adding your device …" : "Legger til enheten...",
"Unnamed device" : "Ikke navngitt enhet",
"Your apps" : "Dine apper",
- "Active apps" : "Aktive apper",
- "Disabled apps" : "Deaktiverte apper",
- "Updates" : "Oppdateringer",
- "App bundles" : "App-pakker",
- "Featured apps" : "Fremhevede apper",
"{license}-licensed" : "{license}-lisensiert",
"Changelog" : "Endringslogg",
"Add group" : "Legg til gruppe",
@@ -281,12 +277,16 @@
"Twitter" : "Twitter",
"Website" : "Nettsted",
"Profile visibility" : "Profil-synlighet",
+ "Active apps" : "Aktive apper",
+ "Disabled apps" : "Deaktiverte apper",
+ "Updates" : "Oppdateringer",
+ "App bundles" : "App-pakker",
+ "Featured apps" : "Fremhevede apper",
"Hide" : "Skjul",
"Download and enable" : "Last ned og aktiver",
"Enable untested app" : "Aktiver utestet app",
"Never" : "Aldri",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen er aktivert men må oppdateres. Du vil bli videresendt til oppdateringssiden om 5 sekunder.",
- "Administrator documentation" : "Administratordokumentasjon",
"Documentation" : "Dokumentasjon",
"Forum" : "Forum",
"Login" : "Innlogging",
diff --git a/apps/settings/l10n/nl.js b/apps/settings/l10n/nl.js
index 098c660d58e..451c3938a6d 100644
--- a/apps/settings/l10n/nl.js
+++ b/apps/settings/l10n/nl.js
@@ -65,6 +65,8 @@ OC.L10N.register(
"Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud mag de OPcache API niet gebruiken. Het wordt ten zeerste aanbevolen om alle Nextcloud-mappen op te nemen met <code>opcache.restrict_api</code> of deze instelling uit te schakelen om OPcache API-beperkingen uit te schakelen, om fouten tijdens Nextcloud-kern- of app-upgrades te voorkomen.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "De OPcache-buffer is bijna vol. Om ervoor te zorgen dat alle scripts in de cache kunnen worden bewaard, wordt aanbevolen om <code>opcache.memory_consumption</code> toe te passen in je PHP-configuratie met een waarde hoger dan <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "De OPcache geïnterneerde strings buffer is bijna vol. Om ervoor te zorgen dat herhalende strings effectief in de cache kunnen worden opgeslagen, wordt aanbevolen om <code>opcache.interned_strings_buffer</code> toe te passen in je PHP-configuratie met een waarde hoger dan <code>%s</code>.",
+ "Administrator documentation" : "Beheerdersdocumentatie",
+ "User documentation" : "Gebruikersdocumentatie",
"Invalid SMTP password." : "Ongeldig SMTP wachtwoord",
"Email setting test" : "E-mailinstellingen test",
"Well done, %s!" : "Goed gedaan, %s!",
@@ -157,7 +159,6 @@ OC.L10N.register(
"View in store" : "Bekijken in store",
"Visit website" : "Bezoek website",
"Report a bug" : "Rapporteer een fout",
- "User documentation" : "Gebruikersdocumentatie",
"Admin documentation" : "Beheerdocumentatie",
"Developer documentation" : "Ontwikkelaarsdocumentatie",
"This app is supported via your current Nextcloud subscription." : "Deze app wordt ondersteund via je huidige Nextcloud abonnement.",
@@ -328,11 +329,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "De volgende toestellen zijn ingesteld voor je account:",
"Your browser does not support WebAuthn." : "Je browser ondersteunt WebAuthn niet.",
"Your apps" : "Jouw apps",
- "Active apps" : "Ingeschakelde apps",
- "Disabled apps" : "Uitgeschakelde apps",
- "Updates" : "Updates",
- "App bundles" : "App bundels",
- "Featured apps" : "Aanbevolen apps",
"{license}-licensed" : "{license}-gelicenseerd",
"Changelog" : "Lijst van veranderingen",
"by {author}\n{license}" : "door {author}\n{license}",
@@ -365,6 +361,11 @@ OC.L10N.register(
"Profile visibility" : "Profiel zichtbaarheid",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niet beschikbaar omdat deze eigenschap benodigd is voor de basisfunctionaliteit inclusief bestandsdeling en kalender uitnodigingen",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Niet beschikbaar omdat het publiceren van gebruikersdata aan de lookup server niet toegestaan is, neem contact op met je beheerder als je vragen hebt",
+ "Active apps" : "Ingeschakelde apps",
+ "Disabled apps" : "Uitgeschakelde apps",
+ "Updates" : "Updates",
+ "App bundles" : "App bundels",
+ "Featured apps" : "Aanbevolen apps",
"Show to everyone" : "Laat zien aan iedereen",
"Show to logged in users only" : "Laat alleen zien aan ingelogde gebruikers",
"Hide" : "Verberg",
@@ -375,7 +376,6 @@ OC.L10N.register(
"Never" : "Nooit",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "De app is ingeschakeld maar moet worden geüpdate. Je wordt over 5 seconden doorgeleid naar de updatepagina.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fout: Deze app kan niet ingeschakeld worden, omdat die de server onstabiel maakt",
- "Administrator documentation" : "Beheerdersdocumentatie",
"Documentation" : "Documentatie",
"Forum" : "Forum",
"Login" : "Login",
diff --git a/apps/settings/l10n/nl.json b/apps/settings/l10n/nl.json
index f9f4a925933..073a5511fb6 100644
--- a/apps/settings/l10n/nl.json
+++ b/apps/settings/l10n/nl.json
@@ -63,6 +63,8 @@
"Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud mag de OPcache API niet gebruiken. Het wordt ten zeerste aanbevolen om alle Nextcloud-mappen op te nemen met <code>opcache.restrict_api</code> of deze instelling uit te schakelen om OPcache API-beperkingen uit te schakelen, om fouten tijdens Nextcloud-kern- of app-upgrades te voorkomen.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "De OPcache-buffer is bijna vol. Om ervoor te zorgen dat alle scripts in de cache kunnen worden bewaard, wordt aanbevolen om <code>opcache.memory_consumption</code> toe te passen in je PHP-configuratie met een waarde hoger dan <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "De OPcache geïnterneerde strings buffer is bijna vol. Om ervoor te zorgen dat herhalende strings effectief in de cache kunnen worden opgeslagen, wordt aanbevolen om <code>opcache.interned_strings_buffer</code> toe te passen in je PHP-configuratie met een waarde hoger dan <code>%s</code>.",
+ "Administrator documentation" : "Beheerdersdocumentatie",
+ "User documentation" : "Gebruikersdocumentatie",
"Invalid SMTP password." : "Ongeldig SMTP wachtwoord",
"Email setting test" : "E-mailinstellingen test",
"Well done, %s!" : "Goed gedaan, %s!",
@@ -155,7 +157,6 @@
"View in store" : "Bekijken in store",
"Visit website" : "Bezoek website",
"Report a bug" : "Rapporteer een fout",
- "User documentation" : "Gebruikersdocumentatie",
"Admin documentation" : "Beheerdocumentatie",
"Developer documentation" : "Ontwikkelaarsdocumentatie",
"This app is supported via your current Nextcloud subscription." : "Deze app wordt ondersteund via je huidige Nextcloud abonnement.",
@@ -326,11 +327,6 @@
"The following devices are configured for your account:" : "De volgende toestellen zijn ingesteld voor je account:",
"Your browser does not support WebAuthn." : "Je browser ondersteunt WebAuthn niet.",
"Your apps" : "Jouw apps",
- "Active apps" : "Ingeschakelde apps",
- "Disabled apps" : "Uitgeschakelde apps",
- "Updates" : "Updates",
- "App bundles" : "App bundels",
- "Featured apps" : "Aanbevolen apps",
"{license}-licensed" : "{license}-gelicenseerd",
"Changelog" : "Lijst van veranderingen",
"by {author}\n{license}" : "door {author}\n{license}",
@@ -363,6 +359,11 @@
"Profile visibility" : "Profiel zichtbaarheid",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niet beschikbaar omdat deze eigenschap benodigd is voor de basisfunctionaliteit inclusief bestandsdeling en kalender uitnodigingen",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Niet beschikbaar omdat het publiceren van gebruikersdata aan de lookup server niet toegestaan is, neem contact op met je beheerder als je vragen hebt",
+ "Active apps" : "Ingeschakelde apps",
+ "Disabled apps" : "Uitgeschakelde apps",
+ "Updates" : "Updates",
+ "App bundles" : "App bundels",
+ "Featured apps" : "Aanbevolen apps",
"Show to everyone" : "Laat zien aan iedereen",
"Show to logged in users only" : "Laat alleen zien aan ingelogde gebruikers",
"Hide" : "Verberg",
@@ -373,7 +374,6 @@
"Never" : "Nooit",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "De app is ingeschakeld maar moet worden geüpdate. Je wordt over 5 seconden doorgeleid naar de updatepagina.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fout: Deze app kan niet ingeschakeld worden, omdat die de server onstabiel maakt",
- "Administrator documentation" : "Beheerdersdocumentatie",
"Documentation" : "Documentatie",
"Forum" : "Forum",
"Login" : "Login",
diff --git a/apps/settings/l10n/nn_NO.js b/apps/settings/l10n/nn_NO.js
index 187ba2df519..85ff59065e1 100644
--- a/apps/settings/l10n/nn_NO.js
+++ b/apps/settings/l10n/nn_NO.js
@@ -20,6 +20,8 @@ OC.L10N.register(
"No user supplied" : "Ingen brukar gjeve",
"Authentication error" : "Autentiseringsfeil",
"Wrong admin recovery password. Please check the password and try again." : "Feil admingjenopprettingspassord. Ver venleg og sjekk passordet og prøv igjen.",
+ "Administrator documentation" : "Administratordokumentasjon",
+ "User documentation" : "Brukardokumentasjon",
"Invalid mail address" : "Ugyldig e--postadresse",
"Welcome aboard" : "Velkomen ombord",
"Welcome aboard %s" : "Velkomen ombord %s",
@@ -46,7 +48,6 @@ OC.L10N.register(
"Disable" : "Slå av",
"Visit website" : "Besøk nettstaden",
"Report a bug" : "Rapporter feil",
- "User documentation" : "Brukardokumentasjon",
"Admin documentation" : "Admin-dokumentasjon",
"Rename" : "Gje nytt namn",
"Internet Explorer" : "Internet Explorer",
@@ -90,7 +91,6 @@ OC.L10N.register(
"Full name" : "Fult namn",
"Hide" : "Gøym",
"Never" : "Aldri",
- "Administrator documentation" : "Administratordokumentasjon",
"Documentation" : "Dokumentasjon",
"Forum" : "Forum",
"Login" : "Logg inn",
diff --git a/apps/settings/l10n/nn_NO.json b/apps/settings/l10n/nn_NO.json
index af1d95e7c5c..b9eadef1dc0 100644
--- a/apps/settings/l10n/nn_NO.json
+++ b/apps/settings/l10n/nn_NO.json
@@ -18,6 +18,8 @@
"No user supplied" : "Ingen brukar gjeve",
"Authentication error" : "Autentiseringsfeil",
"Wrong admin recovery password. Please check the password and try again." : "Feil admingjenopprettingspassord. Ver venleg og sjekk passordet og prøv igjen.",
+ "Administrator documentation" : "Administratordokumentasjon",
+ "User documentation" : "Brukardokumentasjon",
"Invalid mail address" : "Ugyldig e--postadresse",
"Welcome aboard" : "Velkomen ombord",
"Welcome aboard %s" : "Velkomen ombord %s",
@@ -44,7 +46,6 @@
"Disable" : "Slå av",
"Visit website" : "Besøk nettstaden",
"Report a bug" : "Rapporter feil",
- "User documentation" : "Brukardokumentasjon",
"Admin documentation" : "Admin-dokumentasjon",
"Rename" : "Gje nytt namn",
"Internet Explorer" : "Internet Explorer",
@@ -88,7 +89,6 @@
"Full name" : "Fult namn",
"Hide" : "Gøym",
"Never" : "Aldri",
- "Administrator documentation" : "Administratordokumentasjon",
"Documentation" : "Dokumentasjon",
"Forum" : "Forum",
"Login" : "Logg inn",
diff --git a/apps/settings/l10n/oc.js b/apps/settings/l10n/oc.js
index 2d02b1d3f05..6eab060b640 100644
--- a/apps/settings/l10n/oc.js
+++ b/apps/settings/l10n/oc.js
@@ -41,6 +41,7 @@ OC.L10N.register(
"Wrong password" : "Wrong password",
"Saved" : "Enregistrat",
"Authentication error" : "Error d’autentificacion",
+ "User documentation" : "Documentacion utilizaire",
"Invalid SMTP password." : "Senhal SMTP invalid.",
"Email setting test" : "Paramètres email de pròva",
"Well done, %s!" : "Felicitacion, %s !",
@@ -87,7 +88,6 @@ OC.L10N.register(
"View in store" : "Veire a la botiga",
"Visit website" : "Veire lo site web",
"Report a bug" : "Raportar un bug",
- "User documentation" : "Documentacion utilizaire",
"Admin documentation" : "Documentacion d’admin",
"Developer documentation" : "Documentacion desvolopaire",
"Update to {update}" : "Actualizar en {update}",
@@ -186,9 +186,6 @@ OC.L10N.register(
"No devices configured." : "Cap de periferic pas configurat.",
"Your browser does not support WebAuthn." : "Vòstre navigador es pas compatible amb WebAuthn.",
"Your apps" : "Vòstras aplicacions",
- "Active apps" : "Aplicacions activas",
- "Disabled apps" : "Aplicacions desactivadas",
- "Updates" : "Mesas a jorn",
"Changelog" : "Nòta de version",
"by {author}\n{license}" : "per {author}\n{license}",
"Enter group name" : "Picatz un nom de grop",
@@ -213,6 +210,9 @@ OC.L10N.register(
"Twitter" : "Twitter",
"Website" : "Site web",
"Profile visibility" : "Visibilitat perfil",
+ "Active apps" : "Aplicacions activas",
+ "Disabled apps" : "Aplicacions desactivadas",
+ "Updates" : "Mesas a jorn",
"Show to everyone" : "Afichar a tot lo monde",
"Hide" : "Amagar",
"Never" : "Pas jamais",
diff --git a/apps/settings/l10n/oc.json b/apps/settings/l10n/oc.json
index f5a64ce40ab..ca2c843374b 100644
--- a/apps/settings/l10n/oc.json
+++ b/apps/settings/l10n/oc.json
@@ -39,6 +39,7 @@
"Wrong password" : "Wrong password",
"Saved" : "Enregistrat",
"Authentication error" : "Error d’autentificacion",
+ "User documentation" : "Documentacion utilizaire",
"Invalid SMTP password." : "Senhal SMTP invalid.",
"Email setting test" : "Paramètres email de pròva",
"Well done, %s!" : "Felicitacion, %s !",
@@ -85,7 +86,6 @@
"View in store" : "Veire a la botiga",
"Visit website" : "Veire lo site web",
"Report a bug" : "Raportar un bug",
- "User documentation" : "Documentacion utilizaire",
"Admin documentation" : "Documentacion d’admin",
"Developer documentation" : "Documentacion desvolopaire",
"Update to {update}" : "Actualizar en {update}",
@@ -184,9 +184,6 @@
"No devices configured." : "Cap de periferic pas configurat.",
"Your browser does not support WebAuthn." : "Vòstre navigador es pas compatible amb WebAuthn.",
"Your apps" : "Vòstras aplicacions",
- "Active apps" : "Aplicacions activas",
- "Disabled apps" : "Aplicacions desactivadas",
- "Updates" : "Mesas a jorn",
"Changelog" : "Nòta de version",
"by {author}\n{license}" : "per {author}\n{license}",
"Enter group name" : "Picatz un nom de grop",
@@ -211,6 +208,9 @@
"Twitter" : "Twitter",
"Website" : "Site web",
"Profile visibility" : "Visibilitat perfil",
+ "Active apps" : "Aplicacions activas",
+ "Disabled apps" : "Aplicacions desactivadas",
+ "Updates" : "Mesas a jorn",
"Show to everyone" : "Afichar a tot lo monde",
"Hide" : "Amagar",
"Never" : "Pas jamais",
diff --git a/apps/settings/l10n/pl.js b/apps/settings/l10n/pl.js
index 3373a2a7d5f..434b5ae0621 100644
--- a/apps/settings/l10n/pl.js
+++ b/apps/settings/l10n/pl.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby mieć pewność, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.max_accelerated_files</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Bufor OPcache jest prawie pełny. Aby upewnić się, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.memory_consumption</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Bufor ciągów internowanych OPcache jest prawie pełny. Aby upewnić się, że powtarzające się ciągi mogą być efektywnie buforowane, zaleca się zastosowanie <code>opcache.interned_strings_buffer</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.",
+ "Administrator documentation" : "Dokumentacja administratora",
+ "User documentation" : "Dokumentacja użytkownika",
"Invalid SMTP password." : "Nieprawidłowe hasło SMTP.",
"Email setting test" : "Test ustawień e-mail",
"Well done, %s!" : "Dobra robota, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Zobacz w sklepie",
"Visit website" : "Odwiedź stronę",
"Report a bug" : "Zgłoś błąd",
- "User documentation" : "Dokumentacja użytkownika",
"Admin documentation" : "Dokumentacja administratora",
"Developer documentation" : "Dokumentacja dewelopera",
"This app is supported via your current Nextcloud subscription." : "Ta aplikacja jest obsługiwana za pośrednictwem bieżącej subskrypcji Nextcloud.",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "Nie można usunąć dodatkowego adresu e-mail",
"No email address set" : "Brak adresu e-mail",
"Additional emails" : "Dodatkowe e-maile",
+ "Your handle" : "Twoja ksywka",
"Your headline" : "Twój nagłówek",
"Language" : "Język",
"Help translate" : "Pomóż w tłumaczeniu",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Dla Twojego konta skonfigurowane są następujące urządzenia:",
"Your browser does not support WebAuthn." : "Twoja przeglądarka nie obsługuje WebAuthn.",
"Your apps" : "Twoje aplikacje",
- "Active apps" : "Aktywne aplikacje",
- "Disabled apps" : "Wyłączone aplikacje",
- "Updates" : "Aktualizacje",
- "App bundles" : "Zestawy aplikacji",
- "Featured apps" : "Polecane aplikacje",
"{license}-licensed" : "na licencji {license}",
"Changelog" : "Dziennik zmian",
"by {author}\n{license}" : "wykonane przez {author}\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "Numer telefonu",
"Role" : "Rola społeczna",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (np. Mastodon)",
"Website" : "Strona internetowa",
"Profile visibility" : "Widoczność profilu",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niedostępne, ponieważ ta właściwość jest wymagana do podstawowych funkcji, w tym udostępniania pliku i zaproszeń do kalendarza",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Niedostępne, ponieważ federacja została wyłączona na Twoim koncie, skontaktuj się z administratorem systemu, jeśli masz jakieś pytania",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Niedostępne, ponieważ publikowanie danych specyficznych dla użytkownika na serwerze wyszukiwania jest niedozwolone, skontaktuj się z administratorem systemu, jeśli masz jakiekolwiek pytania",
+ "Active apps" : "Aktywne aplikacje",
+ "Disabled apps" : "Wyłączone aplikacje",
+ "Updates" : "Aktualizacje",
+ "App bundles" : "Zestawy aplikacji",
+ "Featured apps" : "Polecane aplikacje",
"Show to everyone" : "Pokaż wszystkim",
"Show to logged in users only" : "Pokaż tylko zalogowanym użytkownikom",
"Hide" : "Ukryj",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Wystąpił błąd podczas żądania. Nie można kontynuować.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacja została włączona, ponieważ wymaga aktualizacji. Za 5 sekund nastąpi przekierowanie do strony aktualizacji.",
"Error: This app cannot be enabled because it makes the server unstable" : "Błąd: Ta aplikacja nie zostanie włączona ze względu na możliwość niestabilnej pracy serwera",
- "Administrator documentation" : "Dokumentacja administratora",
"Documentation" : "Dokumentacja",
"Forum" : "Forum",
"Login" : "Login",
diff --git a/apps/settings/l10n/pl.json b/apps/settings/l10n/pl.json
index a4f285e6d80..d3d2f91b89a 100644
--- a/apps/settings/l10n/pl.json
+++ b/apps/settings/l10n/pl.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maksymalna liczba kluczy OPcache jest prawie przekroczona. Aby mieć pewność, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.max_accelerated_files</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Bufor OPcache jest prawie pełny. Aby upewnić się, że wszystkie skrypty mogą być przechowywane w pamięci podręcznej, zaleca się zastosowanie <code>opcache.memory_consumption</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Bufor ciągów internowanych OPcache jest prawie pełny. Aby upewnić się, że powtarzające się ciągi mogą być efektywnie buforowane, zaleca się zastosowanie <code>opcache.interned_strings_buffer</code> w konfiguracji PHP z wartością wyższą niż <code>%s</code>.",
+ "Administrator documentation" : "Dokumentacja administratora",
+ "User documentation" : "Dokumentacja użytkownika",
"Invalid SMTP password." : "Nieprawidłowe hasło SMTP.",
"Email setting test" : "Test ustawień e-mail",
"Well done, %s!" : "Dobra robota, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Zobacz w sklepie",
"Visit website" : "Odwiedź stronę",
"Report a bug" : "Zgłoś błąd",
- "User documentation" : "Dokumentacja użytkownika",
"Admin documentation" : "Dokumentacja administratora",
"Developer documentation" : "Dokumentacja dewelopera",
"This app is supported via your current Nextcloud subscription." : "Ta aplikacja jest obsługiwana za pośrednictwem bieżącej subskrypcji Nextcloud.",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "Nie można usunąć dodatkowego adresu e-mail",
"No email address set" : "Brak adresu e-mail",
"Additional emails" : "Dodatkowe e-maile",
+ "Your handle" : "Twoja ksywka",
"Your headline" : "Twój nagłówek",
"Language" : "Język",
"Help translate" : "Pomóż w tłumaczeniu",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "Dla Twojego konta skonfigurowane są następujące urządzenia:",
"Your browser does not support WebAuthn." : "Twoja przeglądarka nie obsługuje WebAuthn.",
"Your apps" : "Twoje aplikacje",
- "Active apps" : "Aktywne aplikacje",
- "Disabled apps" : "Wyłączone aplikacje",
- "Updates" : "Aktualizacje",
- "App bundles" : "Zestawy aplikacji",
- "Featured apps" : "Polecane aplikacje",
"{license}-licensed" : "na licencji {license}",
"Changelog" : "Dziennik zmian",
"by {author}\n{license}" : "wykonane przez {author}\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "Numer telefonu",
"Role" : "Rola społeczna",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (np. Mastodon)",
"Website" : "Strona internetowa",
"Profile visibility" : "Widoczność profilu",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Niedostępne, ponieważ ta właściwość jest wymagana do podstawowych funkcji, w tym udostępniania pliku i zaproszeń do kalendarza",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Niedostępne, ponieważ federacja została wyłączona na Twoim koncie, skontaktuj się z administratorem systemu, jeśli masz jakieś pytania",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Niedostępne, ponieważ publikowanie danych specyficznych dla użytkownika na serwerze wyszukiwania jest niedozwolone, skontaktuj się z administratorem systemu, jeśli masz jakiekolwiek pytania",
+ "Active apps" : "Aktywne aplikacje",
+ "Disabled apps" : "Wyłączone aplikacje",
+ "Updates" : "Aktualizacje",
+ "App bundles" : "Zestawy aplikacji",
+ "Featured apps" : "Polecane aplikacje",
"Show to everyone" : "Pokaż wszystkim",
"Show to logged in users only" : "Pokaż tylko zalogowanym użytkownikom",
"Hide" : "Ukryj",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "Wystąpił błąd podczas żądania. Nie można kontynuować.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacja została włączona, ponieważ wymaga aktualizacji. Za 5 sekund nastąpi przekierowanie do strony aktualizacji.",
"Error: This app cannot be enabled because it makes the server unstable" : "Błąd: Ta aplikacja nie zostanie włączona ze względu na możliwość niestabilnej pracy serwera",
- "Administrator documentation" : "Dokumentacja administratora",
"Documentation" : "Dokumentacja",
"Forum" : "Forum",
"Login" : "Login",
diff --git a/apps/settings/l10n/pt_BR.js b/apps/settings/l10n/pt_BR.js
index 3511ca119b6..a8483119397 100644
--- a/apps/settings/l10n/pt_BR.js
+++ b/apps/settings/l10n/pt_BR.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos no cache, é recomendável aplicar <code>opcache.max_accelerated_files</code> à sua configuração PHP com um valor superior a <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer do OPcache está quase cheio. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar<code>opcache.memory_consumption</code> to sua configuração PHP com um valor maior que<code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer de strings internas do OPcache está quase cheio. Para garantir que as strings repetidas possam ser efetivamente armazenadas em cache, é recomendável aplicar <code>opcache.interned_strings_buffer</code>para sua configuração PHP com um valor maior que <code>%s</code>.",
+ "Administrator documentation" : "Documentação do administrador",
+ "User documentation" : "Documentação do usuário",
"Invalid SMTP password." : "Senha SMTP incorreta.",
"Email setting test" : "Teste da configuração de e-mail",
"Well done, %s!" : "Bom trabalho %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Ver na loja",
"Visit website" : "Visitar website",
"Report a bug" : "Reportar um erro",
- "User documentation" : "Documentação do usuário",
"Admin documentation" : "Documentação do administrador",
"Developer documentation" : "Documentação do desenvolvedor",
"This app is supported via your current Nextcloud subscription." : "Este aplicativo é suportado pela sua assinatura atual do Nextcloud.",
@@ -381,11 +382,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Os seguintes dispositivos estão configurados para sua conta:",
"Your browser does not support WebAuthn." : "Seu navegador não suporta WebAuthn.",
"Your apps" : "Seus aplicativos",
- "Active apps" : "Aplicativos ativados",
- "Disabled apps" : "Aplicativos desativados",
- "Updates" : "Atualizações",
- "App bundles" : "Pacotes de aplicativos",
- "Featured apps" : "Aplicativos em destaque",
"{license}-licensed" : "{license}-licenciado",
"Changelog" : "Changelog",
"by {author}\n{license}" : "por {author}\n{license}",
@@ -417,7 +413,13 @@ OC.L10N.register(
"Website" : "Website",
"Profile visibility" : "Visibilidade do perfil",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Não disponível porque esta propriedade é necessária para a funcionalidade principal, incluindo compartilhamento de arquivos e convites de calendário",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Não disponível como federação pois foi desabilitado para sua conta, entre em contato com seu administrador do sistema se tiver alguma dúvida",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Não disponível, pois a publicação de dados específicos do usuário no servidor de pesquisa não é permitida, entre em contato com o administrador do sistema se tiver alguma dúvida",
+ "Active apps" : "Aplicativos ativados",
+ "Disabled apps" : "Aplicativos desativados",
+ "Updates" : "Atualizações",
+ "App bundles" : "Pacotes de aplicativos",
+ "Featured apps" : "Aplicativos em destaque",
"Show to everyone" : "Mostrar para todos",
"Show to logged in users only" : "Mostrar apenas para usuários conectados",
"Hide" : "Esconder ",
@@ -429,7 +431,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Ocorreu um erro durante a solicitação. Não foi possível prosseguir.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "O aplicativo foi ativado, mas precisa ser atualizado. Você será redirecionado para a página de atualização em 5 segundos.",
"Error: This app cannot be enabled because it makes the server unstable" : "Erro: Este aplicativo não pode ser habilitado pois torna o servidor instável.",
- "Administrator documentation" : "Documentação do administrador",
"Documentation" : "Documentação",
"Forum" : "Fórum",
"Login" : "Login",
diff --git a/apps/settings/l10n/pt_BR.json b/apps/settings/l10n/pt_BR.json
index a49f29915a3..bf6961cfed8 100644
--- a/apps/settings/l10n/pt_BR.json
+++ b/apps/settings/l10n/pt_BR.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "O número máximo de chaves do OPcache é quase excedido. Para garantir que todos os scripts possam ser mantidos no cache, é recomendável aplicar <code>opcache.max_accelerated_files</code> à sua configuração PHP com um valor superior a <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer do OPcache está quase cheio. Para garantir que todos os scripts possam ser mantidos em cache, é recomendável aplicar<code>opcache.memory_consumption</code> to sua configuração PHP com um valor maior que<code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "O buffer de strings internas do OPcache está quase cheio. Para garantir que as strings repetidas possam ser efetivamente armazenadas em cache, é recomendável aplicar <code>opcache.interned_strings_buffer</code>para sua configuração PHP com um valor maior que <code>%s</code>.",
+ "Administrator documentation" : "Documentação do administrador",
+ "User documentation" : "Documentação do usuário",
"Invalid SMTP password." : "Senha SMTP incorreta.",
"Email setting test" : "Teste da configuração de e-mail",
"Well done, %s!" : "Bom trabalho %s!",
@@ -168,7 +170,6 @@
"View in store" : "Ver na loja",
"Visit website" : "Visitar website",
"Report a bug" : "Reportar um erro",
- "User documentation" : "Documentação do usuário",
"Admin documentation" : "Documentação do administrador",
"Developer documentation" : "Documentação do desenvolvedor",
"This app is supported via your current Nextcloud subscription." : "Este aplicativo é suportado pela sua assinatura atual do Nextcloud.",
@@ -379,11 +380,6 @@
"The following devices are configured for your account:" : "Os seguintes dispositivos estão configurados para sua conta:",
"Your browser does not support WebAuthn." : "Seu navegador não suporta WebAuthn.",
"Your apps" : "Seus aplicativos",
- "Active apps" : "Aplicativos ativados",
- "Disabled apps" : "Aplicativos desativados",
- "Updates" : "Atualizações",
- "App bundles" : "Pacotes de aplicativos",
- "Featured apps" : "Aplicativos em destaque",
"{license}-licensed" : "{license}-licenciado",
"Changelog" : "Changelog",
"by {author}\n{license}" : "por {author}\n{license}",
@@ -415,7 +411,13 @@
"Website" : "Website",
"Profile visibility" : "Visibilidade do perfil",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Não disponível porque esta propriedade é necessária para a funcionalidade principal, incluindo compartilhamento de arquivos e convites de calendário",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Não disponível como federação pois foi desabilitado para sua conta, entre em contato com seu administrador do sistema se tiver alguma dúvida",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Não disponível, pois a publicação de dados específicos do usuário no servidor de pesquisa não é permitida, entre em contato com o administrador do sistema se tiver alguma dúvida",
+ "Active apps" : "Aplicativos ativados",
+ "Disabled apps" : "Aplicativos desativados",
+ "Updates" : "Atualizações",
+ "App bundles" : "Pacotes de aplicativos",
+ "Featured apps" : "Aplicativos em destaque",
"Show to everyone" : "Mostrar para todos",
"Show to logged in users only" : "Mostrar apenas para usuários conectados",
"Hide" : "Esconder ",
@@ -427,7 +429,6 @@
"An error occurred during the request. Unable to proceed." : "Ocorreu um erro durante a solicitação. Não foi possível prosseguir.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "O aplicativo foi ativado, mas precisa ser atualizado. Você será redirecionado para a página de atualização em 5 segundos.",
"Error: This app cannot be enabled because it makes the server unstable" : "Erro: Este aplicativo não pode ser habilitado pois torna o servidor instável.",
- "Administrator documentation" : "Documentação do administrador",
"Documentation" : "Documentação",
"Forum" : "Fórum",
"Login" : "Login",
diff --git a/apps/settings/l10n/pt_PT.js b/apps/settings/l10n/pt_PT.js
index f50ef1b41cc..bfe82cb948c 100644
--- a/apps/settings/l10n/pt_PT.js
+++ b/apps/settings/l10n/pt_PT.js
@@ -35,6 +35,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor introduza uma senha administrativa de recuperação ou todos os dados de utilizador serão perdidos.",
"Wrong admin recovery password. Please check the password and try again." : "Palavra-passe de recuperação do administrador errada. Por favor, verifique a palavra-passe e tente novamente.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
+ "Administrator documentation" : "Documentação de Administrador.",
+ "User documentation" : "Documentação de Utilizador",
"Invalid SMTP password." : "Senha de SMTP inválida.",
"Email setting test" : "Teste definições de email",
"Well done, %s!" : "Muito bem, %s!",
@@ -98,7 +100,6 @@ OC.L10N.register(
"View in store" : "Ver na loja",
"Visit website" : "Visitar o website",
"Report a bug" : "Reportar um erro",
- "User documentation" : "Documentação de Utilizador",
"Admin documentation" : "Documentação do Administrador",
"Developer documentation" : "Documentação de Programador",
"Featured" : "Destacado",
@@ -166,9 +167,6 @@ OC.L10N.register(
"Last login" : "Último início de sessão",
"Default quota" : "Quota padrão",
"Your apps" : "As suas apps",
- "Disabled apps" : "Apps desativadas",
- "Updates" : "Actualizações",
- "App bundles" : "Pacotes de apps",
"Changelog" : "Registo de alterações",
"Add group" : "Adicionar grupo",
"Active users" : "Utilizadores activos",
@@ -189,11 +187,13 @@ OC.L10N.register(
"Role" : "Função",
"Twitter" : "Twitter",
"Website" : "Website",
+ "Disabled apps" : "Apps desativadas",
+ "Updates" : "Actualizações",
+ "App bundles" : "Pacotes de apps",
"Hide" : "Ocultar",
"Download and enable" : "Transferir e ativar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A app foi activada mas necessita ser actualizada. Irá ser redireccionado para a página de actualização em 5 segundos.",
- "Administrator documentation" : "Documentação de Administrador.",
"Documentation" : "Documentação",
"Forum" : "Fórum",
"Login" : "Iniciar Sessão",
@@ -230,6 +230,7 @@ OC.L10N.register(
"Exclude groups from sharing" : "Excluir grupos das partilhas",
"These groups will still be able to receive shares, but not to initiate them." : "Estes grupos poderão receber partilhas, mas não poderão iniciá-las.",
"This text will be shown on the public link upload page when the file list is hidden." : "Este texto será exibido na página de carregamento de ligações públicas quando a lista de ficheiros estiver oculta. ",
+ "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolvido pela [communityopen]Comunidade Nextcloud[linkclose]. O [githubcode]código fonte[/linkclose] está licenciado sob [licenseopen]AGPL[linkclose].",
"Like our Facebook page" : "Deixe um Gosto na nossa página do Facebook",
"Follow us on Twitter" : "Siga-nos no Twitter",
"Check out our blog" : "Veja o nosso blog",
diff --git a/apps/settings/l10n/pt_PT.json b/apps/settings/l10n/pt_PT.json
index 7a6e78da88c..01613ca65f8 100644
--- a/apps/settings/l10n/pt_PT.json
+++ b/apps/settings/l10n/pt_PT.json
@@ -33,6 +33,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Por favor introduza uma senha administrativa de recuperação ou todos os dados de utilizador serão perdidos.",
"Wrong admin recovery password. Please check the password and try again." : "Palavra-passe de recuperação do administrador errada. Por favor, verifique a palavra-passe e tente novamente.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
+ "Administrator documentation" : "Documentação de Administrador.",
+ "User documentation" : "Documentação de Utilizador",
"Invalid SMTP password." : "Senha de SMTP inválida.",
"Email setting test" : "Teste definições de email",
"Well done, %s!" : "Muito bem, %s!",
@@ -96,7 +98,6 @@
"View in store" : "Ver na loja",
"Visit website" : "Visitar o website",
"Report a bug" : "Reportar um erro",
- "User documentation" : "Documentação de Utilizador",
"Admin documentation" : "Documentação do Administrador",
"Developer documentation" : "Documentação de Programador",
"Featured" : "Destacado",
@@ -164,9 +165,6 @@
"Last login" : "Último início de sessão",
"Default quota" : "Quota padrão",
"Your apps" : "As suas apps",
- "Disabled apps" : "Apps desativadas",
- "Updates" : "Actualizações",
- "App bundles" : "Pacotes de apps",
"Changelog" : "Registo de alterações",
"Add group" : "Adicionar grupo",
"Active users" : "Utilizadores activos",
@@ -187,11 +185,13 @@
"Role" : "Função",
"Twitter" : "Twitter",
"Website" : "Website",
+ "Disabled apps" : "Apps desativadas",
+ "Updates" : "Actualizações",
+ "App bundles" : "Pacotes de apps",
"Hide" : "Ocultar",
"Download and enable" : "Transferir e ativar",
"Never" : "Nunca",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "A app foi activada mas necessita ser actualizada. Irá ser redireccionado para a página de actualização em 5 segundos.",
- "Administrator documentation" : "Documentação de Administrador.",
"Documentation" : "Documentação",
"Forum" : "Fórum",
"Login" : "Iniciar Sessão",
@@ -228,6 +228,7 @@
"Exclude groups from sharing" : "Excluir grupos das partilhas",
"These groups will still be able to receive shares, but not to initiate them." : "Estes grupos poderão receber partilhas, mas não poderão iniciá-las.",
"This text will be shown on the public link upload page when the file list is hidden." : "Este texto será exibido na página de carregamento de ligações públicas quando a lista de ficheiros estiver oculta. ",
+ "Developed by the {communityopen}Nextcloud community{linkclose}, the {githubopen}source code{linkclose} is licensed under the {licenseopen}AGPL{linkclose}." : "Desenvolvido pela [communityopen]Comunidade Nextcloud[linkclose]. O [githubcode]código fonte[/linkclose] está licenciado sob [licenseopen]AGPL[linkclose].",
"Like our Facebook page" : "Deixe um Gosto na nossa página do Facebook",
"Follow us on Twitter" : "Siga-nos no Twitter",
"Check out our blog" : "Veja o nosso blog",
diff --git a/apps/settings/l10n/ro.js b/apps/settings/l10n/ro.js
index 6d34ee8871e..1d4f60c9cf5 100644
--- a/apps/settings/l10n/ro.js
+++ b/apps/settings/l10n/ro.js
@@ -61,6 +61,8 @@ OC.L10N.register(
"Federated Cloud Sharing" : "Partajare federalizată cloud",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL utilizează o versiune %1$sneupdatată (%2$s). Vă rugăm să updatați sistemul de operare sau actualizați caracteristicile %3$scare nu funcționează în mod fiabil.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modulul PHP OPcache nu este încărcat. Pentru o performanță mai bună, se recomandă să îl încărcați în instalarea PHP.",
+ "Administrator documentation" : "Documentație pentru administrare",
+ "User documentation" : "Documentație utilizator",
"Invalid SMTP password." : "Parolă SMTP invalidă.",
"Email setting test" : "Test setări email",
"Well done, %s!" : "Felicitări, %s!",
@@ -142,7 +144,6 @@ OC.L10N.register(
"View in store" : "Vezi în magazin",
"Visit website" : "Viziteaza pagina web",
"Report a bug" : "Raportează un defect",
- "User documentation" : "Documentație utilizator",
"Admin documentation" : "Documentație pentru administrare",
"Developer documentation" : "Documentație pentru dezvoltatori",
"No apps found for your version" : "Nu au fost găsite aplicații pentru versiunea ta",
@@ -210,8 +211,6 @@ OC.L10N.register(
"Unnamed device" : "Dispozitiv fără nume",
"Your browser does not support WebAuthn." : "Browserul dvs. nu acceptă WebAuthn.",
"Your apps" : "Aplicațiile tale",
- "Disabled apps" : "Aplicații inactive",
- "Updates" : "Actualizări",
"Add group" : "Adaugă grup",
"Admins" : "Administratori",
"Show user backend" : "Arată administrare utilizator",
@@ -227,9 +226,10 @@ OC.L10N.register(
"Role" : "Rol",
"Twitter" : "Twitter",
"Website" : "Site web",
+ "Disabled apps" : "Aplicații inactive",
+ "Updates" : "Actualizări",
"Hide" : "Ascunde",
"Never" : "Niciodată",
- "Administrator documentation" : "Documentație pentru administrare",
"Documentation" : "Documentație",
"Forum" : "Forum",
"Login" : "Autentificare",
diff --git a/apps/settings/l10n/ro.json b/apps/settings/l10n/ro.json
index dbbb1f2abd8..af27881931b 100644
--- a/apps/settings/l10n/ro.json
+++ b/apps/settings/l10n/ro.json
@@ -59,6 +59,8 @@
"Federated Cloud Sharing" : "Partajare federalizată cloud",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL utilizează o versiune %1$sneupdatată (%2$s). Vă rugăm să updatați sistemul de operare sau actualizați caracteristicile %3$scare nu funcționează în mod fiabil.",
"The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "Modulul PHP OPcache nu este încărcat. Pentru o performanță mai bună, se recomandă să îl încărcați în instalarea PHP.",
+ "Administrator documentation" : "Documentație pentru administrare",
+ "User documentation" : "Documentație utilizator",
"Invalid SMTP password." : "Parolă SMTP invalidă.",
"Email setting test" : "Test setări email",
"Well done, %s!" : "Felicitări, %s!",
@@ -140,7 +142,6 @@
"View in store" : "Vezi în magazin",
"Visit website" : "Viziteaza pagina web",
"Report a bug" : "Raportează un defect",
- "User documentation" : "Documentație utilizator",
"Admin documentation" : "Documentație pentru administrare",
"Developer documentation" : "Documentație pentru dezvoltatori",
"No apps found for your version" : "Nu au fost găsite aplicații pentru versiunea ta",
@@ -208,8 +209,6 @@
"Unnamed device" : "Dispozitiv fără nume",
"Your browser does not support WebAuthn." : "Browserul dvs. nu acceptă WebAuthn.",
"Your apps" : "Aplicațiile tale",
- "Disabled apps" : "Aplicații inactive",
- "Updates" : "Actualizări",
"Add group" : "Adaugă grup",
"Admins" : "Administratori",
"Show user backend" : "Arată administrare utilizator",
@@ -225,9 +224,10 @@
"Role" : "Rol",
"Twitter" : "Twitter",
"Website" : "Site web",
+ "Disabled apps" : "Aplicații inactive",
+ "Updates" : "Actualizări",
"Hide" : "Ascunde",
"Never" : "Niciodată",
- "Administrator documentation" : "Documentație pentru administrare",
"Documentation" : "Documentație",
"Forum" : "Forum",
"Login" : "Autentificare",
diff --git a/apps/settings/l10n/ru.js b/apps/settings/l10n/ru.js
index caf147825f7..47382049430 100644
--- a/apps/settings/l10n/ru.js
+++ b/apps/settings/l10n/ru.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максимальное количество ключей OPcache почти достигнуто. Чтобы гарантировать, что все скрипты могут быть сохранены в кэше, рекомендуется установить <code>opcache.max_accelerated_files</code> в конфигурации PHP со значением выше, чем <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер OPcache близок к переполнению. Для гарантированного сохранения всех сценариев в кэш-памяти рекомендуется в файле конфигурации подсистемы PHP установить параметру <code>opcache.memory_consumption</code> значении более чем <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер интернированных строк OPcache почти заполнен. Чтобы обеспечить эффективное кэширование повторяющихся строк, рекомендуется установить <code>opcache.interned_strings_buffer</code> в конфигурации PHP со значением выше, чем <code>%s</code>.",
+ "Administrator documentation" : "Документация администратора",
+ "User documentation" : "Пользовательская документация",
"Invalid SMTP password." : "Неверный пароль SMTP.",
"Email setting test" : "Проверка настроек электронной почты",
"Well done, %s!" : "Отлично, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Посмотреть в магазине приложений",
"Visit website" : "Перейти на веб-сайт",
"Report a bug" : "Сообщить об ошибке",
- "User documentation" : "Пользовательская документация",
"Admin documentation" : "Документация для администратора",
"Developer documentation" : "Документация для разработчиков",
"This app is supported via your current Nextcloud subscription." : "Это приложение поддерживается через вашу текущую подписку Nextcloud.",
@@ -276,9 +277,15 @@ OC.L10N.register(
"Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Обновление изображения профиля может занять до 24 часов.",
"Choose your profile picture" : "Выберите изображение профиля",
"Please select a valid png or jpg file" : "Выберите файл в формате .png и .jpg",
+ "Error setting profile picture" : "Не удалось установить изображение профиля",
+ "Error cropping profile picture" : "Не удалось обрезать изображение профиля",
+ "Error saving profile picture" : "Не удалось сохранить изображение профиля",
+ "Error removing profile picture" : "Не удалось очистить изображения профиля",
"Your biography" : "Ваша биография",
"Details" : "Подробные сведения",
"You are a member of the following groups:" : "Вы являетесь участником следующих групп:",
+ "You are using <strong>{usage}</strong>" : "Вы используете <strong>{usage}</strong>",
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Вы используете <strong>{usage}</strong> из <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
"Your full name" : "Ваше полное имя",
"Email options" : "Параметры эл. почты",
"Primary email for password reset and notifications" : "Основной адрес эл. почты для сброса пароля и получения уведомлений",
@@ -302,6 +309,10 @@ OC.L10N.register(
"Unable to update language" : "Не удалось изменить язык",
"No language set" : "Язык не задан",
"Locale" : "Региональные стандарты",
+ "Week starts on {firstDayOfWeek}" : "Первый день недели: {firstDayOfWeek}",
+ "Unable to update locale" : "Не удалось обновить локаль",
+ "No locale set" : "Локаль не задана",
+ "Your location" : "Местоположение",
"Your organisation" : "Ваша организация",
"Your phone number" : "Ваш номер телефона",
"Edit your Profile visibility" : "Изменить видимость профиля",
@@ -313,6 +324,8 @@ OC.L10N.register(
"Your role" : "Ваша роль",
"Your Twitter handle" : "Ваше имя в Twiter",
"Your website" : "Ваш сайт",
+ "No {property} set" : "Свойство «{property}» не задано",
+ "Unable to update {property}" : "Не удалось обновить свойство «{property}»",
"Add additional email" : "Добавить дополнительную электронную почту",
"Add" : "Добавить",
"You do not have permissions to see the details of this user" : "У вас нет прав на просмотр данных об этом пользователе",
@@ -366,11 +379,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Следующие устройства настроены для вашей учетной записи:",
"Your browser does not support WebAuthn." : "Ваш браузер не поддерживает WebAuthn.",
"Your apps" : "Ваши приложения",
- "Active apps" : "Активные приложения",
- "Disabled apps" : "Отключённые приложения",
- "Updates" : "Обновления",
- "App bundles" : "Пакеты приложений",
- "Featured apps" : "Рекомендуемые приложения",
"{license}-licensed" : "Лицензия: {license}",
"Changelog" : "Журнал изменений",
"by {author}\n{license}" : "автор: {author}\n{license}",
@@ -403,6 +411,11 @@ OC.L10N.register(
"Profile visibility" : "Видимость профиля",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Заданный параметр не может быть использован, так как его используют основные функции, такие как совместный доступ к файлам и приглашения к событиям из календаря",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Недоступно, так как публикация пользовательских данных на сервере поиска запрещена, обратитесь к системному администратору, если у вас возникнут какие-либо вопросы",
+ "Active apps" : "Активные приложения",
+ "Disabled apps" : "Отключённые приложения",
+ "Updates" : "Обновления",
+ "App bundles" : "Пакеты приложений",
+ "Featured apps" : "Рекомендуемые приложения",
"Show to everyone" : "Видим для всех",
"Show to logged in users only" : "Видим только для пользователей, вошедших в систему",
"Hide" : "Скрыт",
@@ -413,7 +426,6 @@ OC.L10N.register(
"Never" : "Никогда",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Приложение было включено, но нуждается в обновлении. В течении 5 секунд будет выполнено перенаправление на страницу обновления.",
"Error: This app cannot be enabled because it makes the server unstable" : "Ошибка: это приложение не может быть включено, так как оно сделает сервер нестабильным",
- "Administrator documentation" : "Документация администратора",
"Documentation" : "Документация",
"Forum" : "Форум",
"Login" : "Логин",
diff --git a/apps/settings/l10n/ru.json b/apps/settings/l10n/ru.json
index d8edbcb8b1a..57e72ad7e4d 100644
--- a/apps/settings/l10n/ru.json
+++ b/apps/settings/l10n/ru.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Максимальное количество ключей OPcache почти достигнуто. Чтобы гарантировать, что все скрипты могут быть сохранены в кэше, рекомендуется установить <code>opcache.max_accelerated_files</code> в конфигурации PHP со значением выше, чем <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер OPcache близок к переполнению. Для гарантированного сохранения всех сценариев в кэш-памяти рекомендуется в файле конфигурации подсистемы PHP установить параметру <code>opcache.memory_consumption</code> значении более чем <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер интернированных строк OPcache почти заполнен. Чтобы обеспечить эффективное кэширование повторяющихся строк, рекомендуется установить <code>opcache.interned_strings_buffer</code> в конфигурации PHP со значением выше, чем <code>%s</code>.",
+ "Administrator documentation" : "Документация администратора",
+ "User documentation" : "Пользовательская документация",
"Invalid SMTP password." : "Неверный пароль SMTP.",
"Email setting test" : "Проверка настроек электронной почты",
"Well done, %s!" : "Отлично, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Посмотреть в магазине приложений",
"Visit website" : "Перейти на веб-сайт",
"Report a bug" : "Сообщить об ошибке",
- "User documentation" : "Пользовательская документация",
"Admin documentation" : "Документация для администратора",
"Developer documentation" : "Документация для разработчиков",
"This app is supported via your current Nextcloud subscription." : "Это приложение поддерживается через вашу текущую подписку Nextcloud.",
@@ -274,9 +275,15 @@
"Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Обновление изображения профиля может занять до 24 часов.",
"Choose your profile picture" : "Выберите изображение профиля",
"Please select a valid png or jpg file" : "Выберите файл в формате .png и .jpg",
+ "Error setting profile picture" : "Не удалось установить изображение профиля",
+ "Error cropping profile picture" : "Не удалось обрезать изображение профиля",
+ "Error saving profile picture" : "Не удалось сохранить изображение профиля",
+ "Error removing profile picture" : "Не удалось очистить изображения профиля",
"Your biography" : "Ваша биография",
"Details" : "Подробные сведения",
"You are a member of the following groups:" : "Вы являетесь участником следующих групп:",
+ "You are using <strong>{usage}</strong>" : "Вы используете <strong>{usage}</strong>",
+ "You are using <strong>{usage}</strong> of <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)" : "Вы используете <strong>{usage}</strong> из <strong>{totalSpace}</strong> (<strong>{usageRelative}%</strong>)",
"Your full name" : "Ваше полное имя",
"Email options" : "Параметры эл. почты",
"Primary email for password reset and notifications" : "Основной адрес эл. почты для сброса пароля и получения уведомлений",
@@ -300,6 +307,10 @@
"Unable to update language" : "Не удалось изменить язык",
"No language set" : "Язык не задан",
"Locale" : "Региональные стандарты",
+ "Week starts on {firstDayOfWeek}" : "Первый день недели: {firstDayOfWeek}",
+ "Unable to update locale" : "Не удалось обновить локаль",
+ "No locale set" : "Локаль не задана",
+ "Your location" : "Местоположение",
"Your organisation" : "Ваша организация",
"Your phone number" : "Ваш номер телефона",
"Edit your Profile visibility" : "Изменить видимость профиля",
@@ -311,6 +322,8 @@
"Your role" : "Ваша роль",
"Your Twitter handle" : "Ваше имя в Twiter",
"Your website" : "Ваш сайт",
+ "No {property} set" : "Свойство «{property}» не задано",
+ "Unable to update {property}" : "Не удалось обновить свойство «{property}»",
"Add additional email" : "Добавить дополнительную электронную почту",
"Add" : "Добавить",
"You do not have permissions to see the details of this user" : "У вас нет прав на просмотр данных об этом пользователе",
@@ -364,11 +377,6 @@
"The following devices are configured for your account:" : "Следующие устройства настроены для вашей учетной записи:",
"Your browser does not support WebAuthn." : "Ваш браузер не поддерживает WebAuthn.",
"Your apps" : "Ваши приложения",
- "Active apps" : "Активные приложения",
- "Disabled apps" : "Отключённые приложения",
- "Updates" : "Обновления",
- "App bundles" : "Пакеты приложений",
- "Featured apps" : "Рекомендуемые приложения",
"{license}-licensed" : "Лицензия: {license}",
"Changelog" : "Журнал изменений",
"by {author}\n{license}" : "автор: {author}\n{license}",
@@ -401,6 +409,11 @@
"Profile visibility" : "Видимость профиля",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Заданный параметр не может быть использован, так как его используют основные функции, такие как совместный доступ к файлам и приглашения к событиям из календаря",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Недоступно, так как публикация пользовательских данных на сервере поиска запрещена, обратитесь к системному администратору, если у вас возникнут какие-либо вопросы",
+ "Active apps" : "Активные приложения",
+ "Disabled apps" : "Отключённые приложения",
+ "Updates" : "Обновления",
+ "App bundles" : "Пакеты приложений",
+ "Featured apps" : "Рекомендуемые приложения",
"Show to everyone" : "Видим для всех",
"Show to logged in users only" : "Видим только для пользователей, вошедших в систему",
"Hide" : "Скрыт",
@@ -411,7 +424,6 @@
"Never" : "Никогда",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Приложение было включено, но нуждается в обновлении. В течении 5 секунд будет выполнено перенаправление на страницу обновления.",
"Error: This app cannot be enabled because it makes the server unstable" : "Ошибка: это приложение не может быть включено, так как оно сделает сервер нестабильным",
- "Administrator documentation" : "Документация администратора",
"Documentation" : "Документация",
"Forum" : "Форум",
"Login" : "Логин",
diff --git a/apps/settings/l10n/sc.js b/apps/settings/l10n/sc.js
index a067c0f50e9..23fd2134d3a 100644
--- a/apps/settings/l10n/sc.js
+++ b/apps/settings/l10n/sc.js
@@ -58,6 +58,8 @@ OC.L10N.register(
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installatzione e agiornamentu de is aplicatziones tràmite sa butega de is aplicatziones o sa cumpartzidura in sa nue federada",
"Federated Cloud Sharing" : "Cumpartzidura in sa nue federada",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL est impreende una versione %1$sagiornada (%2$s). Agiorna su sistema operativu tuo, si nono funtzionalidades comente %3$s no ant a funtzionare.",
+ "Administrator documentation" : "Documentatzione amministratzione",
+ "User documentation" : "Documentatzione utente",
"Invalid SMTP password." : "Crae SMTP non bàlida.",
"Email setting test" : "Proa de impostatziones de sa posta eletrònica",
"Well done, %s!" : "Bene fatu, %s!",
@@ -144,7 +146,6 @@ OC.L10N.register(
"View in store" : "Càstia in s'archìviu",
"Visit website" : "Vìsita su situ",
"Report a bug" : "Signala un'errore",
- "User documentation" : "Documentatzione utente",
"Admin documentation" : "Documentatzione amministratzione",
"Developer documentation" : "Documentatzione isvilupu",
"This app is supported via your current Nextcloud subscription." : "Custa aplicatzione est suportada dae sa sutaiscritzione atuale tua in Nextcloud.",
@@ -286,11 +287,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Is dispositivos in fatu sunt cunfigurados pro su contu tuo:",
"Your browser does not support WebAuthn." : "Su serbidore tuo non suportat WebAuthn.",
"Your apps" : "Is aplicatziones tuas",
- "Active apps" : "Aplicatziones ativas",
- "Disabled apps" : "Aplicatziones disativadas",
- "Updates" : "Agiornamentos",
- "App bundles" : "Pachetes de aplicatziones",
- "Featured apps" : "Aplicatziones in evidèntzia",
"{license}-licensed" : "suta lissèntzia {license}",
"Changelog" : "Registru de is càmbios",
"by {author}\n{license}" : "de {author}\n{license}",
@@ -318,6 +314,11 @@ OC.L10N.register(
"Role" : "Faina",
"Twitter" : "Twitter",
"Website" : "Situ ìnternet",
+ "Active apps" : "Aplicatziones ativas",
+ "Disabled apps" : "Aplicatziones disativadas",
+ "Updates" : "Agiornamentos",
+ "App bundles" : "Pachetes de aplicatziones",
+ "Featured apps" : "Aplicatziones in evidèntzia",
"Hide" : "Cua",
"Download and enable" : "Iscàrriga e ativa",
"Enable untested app" : "Ativa aplicatzione non verificada",
@@ -326,7 +327,6 @@ OC.L10N.register(
"Never" : "Mai",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "S'aplicatzione est istada ativada ma tenet bisòngiu de un'agiornamentu. T'amus a deretare a sa pàgina de agiornamentu tra 5 segundos.",
"Error: This app cannot be enabled because it makes the server unstable" : "Errore: Custa aplicatzione non si podet ativare ca faghet su serbidore no istàbile",
- "Administrator documentation" : "Documentatzione amministratzione",
"Documentation" : "Documentatzione",
"Forum" : "Forum",
"Login" : "Atzessu",
diff --git a/apps/settings/l10n/sc.json b/apps/settings/l10n/sc.json
index f4d0a2939c5..2cbaf9d6bf4 100644
--- a/apps/settings/l10n/sc.json
+++ b/apps/settings/l10n/sc.json
@@ -56,6 +56,8 @@
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installatzione e agiornamentu de is aplicatziones tràmite sa butega de is aplicatziones o sa cumpartzidura in sa nue federada",
"Federated Cloud Sharing" : "Cumpartzidura in sa nue federada",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL est impreende una versione %1$sagiornada (%2$s). Agiorna su sistema operativu tuo, si nono funtzionalidades comente %3$s no ant a funtzionare.",
+ "Administrator documentation" : "Documentatzione amministratzione",
+ "User documentation" : "Documentatzione utente",
"Invalid SMTP password." : "Crae SMTP non bàlida.",
"Email setting test" : "Proa de impostatziones de sa posta eletrònica",
"Well done, %s!" : "Bene fatu, %s!",
@@ -142,7 +144,6 @@
"View in store" : "Càstia in s'archìviu",
"Visit website" : "Vìsita su situ",
"Report a bug" : "Signala un'errore",
- "User documentation" : "Documentatzione utente",
"Admin documentation" : "Documentatzione amministratzione",
"Developer documentation" : "Documentatzione isvilupu",
"This app is supported via your current Nextcloud subscription." : "Custa aplicatzione est suportada dae sa sutaiscritzione atuale tua in Nextcloud.",
@@ -284,11 +285,6 @@
"The following devices are configured for your account:" : "Is dispositivos in fatu sunt cunfigurados pro su contu tuo:",
"Your browser does not support WebAuthn." : "Su serbidore tuo non suportat WebAuthn.",
"Your apps" : "Is aplicatziones tuas",
- "Active apps" : "Aplicatziones ativas",
- "Disabled apps" : "Aplicatziones disativadas",
- "Updates" : "Agiornamentos",
- "App bundles" : "Pachetes de aplicatziones",
- "Featured apps" : "Aplicatziones in evidèntzia",
"{license}-licensed" : "suta lissèntzia {license}",
"Changelog" : "Registru de is càmbios",
"by {author}\n{license}" : "de {author}\n{license}",
@@ -316,6 +312,11 @@
"Role" : "Faina",
"Twitter" : "Twitter",
"Website" : "Situ ìnternet",
+ "Active apps" : "Aplicatziones ativas",
+ "Disabled apps" : "Aplicatziones disativadas",
+ "Updates" : "Agiornamentos",
+ "App bundles" : "Pachetes de aplicatziones",
+ "Featured apps" : "Aplicatziones in evidèntzia",
"Hide" : "Cua",
"Download and enable" : "Iscàrriga e ativa",
"Enable untested app" : "Ativa aplicatzione non verificada",
@@ -324,7 +325,6 @@
"Never" : "Mai",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "S'aplicatzione est istada ativada ma tenet bisòngiu de un'agiornamentu. T'amus a deretare a sa pàgina de agiornamentu tra 5 segundos.",
"Error: This app cannot be enabled because it makes the server unstable" : "Errore: Custa aplicatzione non si podet ativare ca faghet su serbidore no istàbile",
- "Administrator documentation" : "Documentatzione amministratzione",
"Documentation" : "Documentatzione",
"Forum" : "Forum",
"Login" : "Atzessu",
diff --git a/apps/settings/l10n/sk.js b/apps/settings/l10n/sk.js
index 07e91155847..63a63c247ad 100644
--- a/apps/settings/l10n/sk.js
+++ b/apps/settings/l10n/sk.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maximálny počet kľúčov OPcache je takmer prekročený. Aby ste sa uistili, že všetky skripty môžu byť uložené vo vyrovnávacej pamäti, odporúča sa použiť <code>opcache.max_accelerated_files</code> na vašu konfiguráciu PHP s hodnotou vyššou ako <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vyrovnávacia pamäť OPcache je takmer plná. Aby ste sa uistili, že všetky skripty môžu byť uložené vo vyrovnávacej pamäti, odporúča sa použiť <code>opcache.max_accelerated_files</code> na vašu konfiguráciu PHP s hodnotou vyššou ako <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vyrovnávacia pamäť interných reťazcov OPcache je takmer plná. Aby ste sa uistili, že opakujúce sa reťazce možno efektívne ukladať do vyrovnávacej pamäte, odporúča sa použiť na konfiguráciu PHP <code>opcache.interned_strings_buffer</code> s hodnotou vyššou ako <code>%s</code>.",
+ "Administrator documentation" : "Príručka administrátora",
+ "User documentation" : "Príručka používateľa",
"Invalid SMTP password." : "Nesprávne heslo pre SMTP.",
"Email setting test" : "Test nastavení emailu",
"Well done, %s!" : "Dobrá práca, %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Zobraz v obchode",
"Visit website" : "Navštíviť webstránku",
"Report a bug" : "Nahlásiť chybu",
- "User documentation" : "Príručka používateľa",
"Admin documentation" : "Príručka administrátora",
"Developer documentation" : "Dokumentácia vývojára",
"This app is supported via your current Nextcloud subscription." : "Táto aplikácia je podporovaná prostredníctvom vášho aktuálneho predplatného Nextcloud.",
@@ -381,11 +382,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Pre váš účet máte nastavené nasledujúce zariadenia:",
"Your browser does not support WebAuthn." : "Váš prehliadač nepodporuje WebAuthn.",
"Your apps" : "Vaše aplikácie",
- "Active apps" : "Aktívne aplikácie",
- "Disabled apps" : "Zakázané aplikácie",
- "Updates" : "Aktualizácie",
- "App bundles" : "Aplikačné balíky",
- "Featured apps" : "Odporúčané aplikácie",
"{license}-licensed" : "{license}-licencovaný",
"Changelog" : "Zoznam zmien",
"by {author}\n{license}" : "od {author}\n{license}",
@@ -419,6 +415,11 @@ OC.L10N.register(
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nie je k dispozícii, pretože táto vlastnosť je potrebná pre základné funkcie vrátane zdieľania súborov a pozvánok do kalendára",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nie je k dispozícii, pretože federácia bola pre váš účet zakázaná. Ak máte nejaké otázky, kontaktujte správcu systému",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nie je k dispozícii, pretože publikovanie špecifických údajov užívateľa na vyhľadávacom serveri nie je povolené. Ak máte nejaké otázky, kontaktujte správcu systému",
+ "Active apps" : "Aktívne aplikácie",
+ "Disabled apps" : "Zakázané aplikácie",
+ "Updates" : "Aktualizácie",
+ "App bundles" : "Aplikačné balíky",
+ "Featured apps" : "Odporúčané aplikácie",
"Show to everyone" : "Viditeľné pre všetkých",
"Show to logged in users only" : "Viditeľné iba pre prihlásených užívateľov",
"Hide" : "Skyť",
@@ -430,7 +431,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Počas vykonania požiadavky nastala chyba. Nie je možné pokračovať.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikácia bola povolená, ale vyžaduje sa aktualizácia. Presmerovanie na stránku aktualizácie o 5 sekúnd.",
"Error: This app cannot be enabled because it makes the server unstable" : "Chyba: aplikáciu nie je možné povoliť, lebo naruší stabilitu servera",
- "Administrator documentation" : "Príručka administrátora",
"Documentation" : "Dokumentácia",
"Forum" : "Fórum",
"Login" : "Prihlásenie",
diff --git a/apps/settings/l10n/sk.json b/apps/settings/l10n/sk.json
index 3a46888fdfe..3b718548eb2 100644
--- a/apps/settings/l10n/sk.json
+++ b/apps/settings/l10n/sk.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Maximálny počet kľúčov OPcache je takmer prekročený. Aby ste sa uistili, že všetky skripty môžu byť uložené vo vyrovnávacej pamäti, odporúča sa použiť <code>opcache.max_accelerated_files</code> na vašu konfiguráciu PHP s hodnotou vyššou ako <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vyrovnávacia pamäť OPcache je takmer plná. Aby ste sa uistili, že všetky skripty môžu byť uložené vo vyrovnávacej pamäti, odporúča sa použiť <code>opcache.max_accelerated_files</code> na vašu konfiguráciu PHP s hodnotou vyššou ako <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Vyrovnávacia pamäť interných reťazcov OPcache je takmer plná. Aby ste sa uistili, že opakujúce sa reťazce možno efektívne ukladať do vyrovnávacej pamäte, odporúča sa použiť na konfiguráciu PHP <code>opcache.interned_strings_buffer</code> s hodnotou vyššou ako <code>%s</code>.",
+ "Administrator documentation" : "Príručka administrátora",
+ "User documentation" : "Príručka používateľa",
"Invalid SMTP password." : "Nesprávne heslo pre SMTP.",
"Email setting test" : "Test nastavení emailu",
"Well done, %s!" : "Dobrá práca, %s!",
@@ -168,7 +170,6 @@
"View in store" : "Zobraz v obchode",
"Visit website" : "Navštíviť webstránku",
"Report a bug" : "Nahlásiť chybu",
- "User documentation" : "Príručka používateľa",
"Admin documentation" : "Príručka administrátora",
"Developer documentation" : "Dokumentácia vývojára",
"This app is supported via your current Nextcloud subscription." : "Táto aplikácia je podporovaná prostredníctvom vášho aktuálneho predplatného Nextcloud.",
@@ -379,11 +380,6 @@
"The following devices are configured for your account:" : "Pre váš účet máte nastavené nasledujúce zariadenia:",
"Your browser does not support WebAuthn." : "Váš prehliadač nepodporuje WebAuthn.",
"Your apps" : "Vaše aplikácie",
- "Active apps" : "Aktívne aplikácie",
- "Disabled apps" : "Zakázané aplikácie",
- "Updates" : "Aktualizácie",
- "App bundles" : "Aplikačné balíky",
- "Featured apps" : "Odporúčané aplikácie",
"{license}-licensed" : "{license}-licencovaný",
"Changelog" : "Zoznam zmien",
"by {author}\n{license}" : "od {author}\n{license}",
@@ -417,6 +413,11 @@
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Nie je k dispozícii, pretože táto vlastnosť je potrebná pre základné funkcie vrátane zdieľania súborov a pozvánok do kalendára",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Nie je k dispozícii, pretože federácia bola pre váš účet zakázaná. Ak máte nejaké otázky, kontaktujte správcu systému",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Nie je k dispozícii, pretože publikovanie špecifických údajov užívateľa na vyhľadávacom serveri nie je povolené. Ak máte nejaké otázky, kontaktujte správcu systému",
+ "Active apps" : "Aktívne aplikácie",
+ "Disabled apps" : "Zakázané aplikácie",
+ "Updates" : "Aktualizácie",
+ "App bundles" : "Aplikačné balíky",
+ "Featured apps" : "Odporúčané aplikácie",
"Show to everyone" : "Viditeľné pre všetkých",
"Show to logged in users only" : "Viditeľné iba pre prihlásených užívateľov",
"Hide" : "Skyť",
@@ -428,7 +429,6 @@
"An error occurred during the request. Unable to proceed." : "Počas vykonania požiadavky nastala chyba. Nie je možné pokračovať.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikácia bola povolená, ale vyžaduje sa aktualizácia. Presmerovanie na stránku aktualizácie o 5 sekúnd.",
"Error: This app cannot be enabled because it makes the server unstable" : "Chyba: aplikáciu nie je možné povoliť, lebo naruší stabilitu servera",
- "Administrator documentation" : "Príručka administrátora",
"Documentation" : "Dokumentácia",
"Forum" : "Fórum",
"Login" : "Prihlásenie",
diff --git a/apps/settings/l10n/sl.js b/apps/settings/l10n/sl.js
index 7f78e1b9d35..b9581324959 100644
--- a/apps/settings/l10n/sl.js
+++ b/apps/settings/l10n/sl.js
@@ -57,6 +57,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "Napačno navedeno skrbniško obnovitveno geslo. Preverite geslo in poskusite znova.",
"Federated Cloud Sharing" : "Souporaba zveznega oblaka",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "Program cURL uporablja zastarelo različico %1$s (%2$s). Priporočljivo je posodobiti operacijski sistem, sicer možnosti, kot je %3$s, ne bodo delovale pravilno.",
+ "Administrator documentation" : "Skrbniška dokumentacija",
+ "User documentation" : "Uporabniška dokumentacija",
"Invalid SMTP password." : "Neveljavno geslo SMTP",
"Email setting test" : "Preizkus nastavitev elektronske pošte",
"Well done, %s!" : "Odlično, %s!",
@@ -147,7 +149,6 @@ OC.L10N.register(
"View in store" : "Pokaži v trgovini",
"Visit website" : "Odpri spletno stran",
"Report a bug" : "Pošlji poročilo o hrošču",
- "User documentation" : "Uporabniška dokumentacija",
"Admin documentation" : "Skrbniška dokumentacija",
"Developer documentation" : "Dokumentacija za razvijalce",
"This app is supported via your current Nextcloud subscription." : "Program je podprt prek trenutne naročnine Nextcloud",
@@ -319,11 +320,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Z vašim računom so povezane navedene naprave:",
"Your browser does not support WebAuthn." : "Brskalnik ne podpira overitve WebAuthn.",
"Your apps" : "Vsi programi",
- "Active apps" : "Zagnani programi",
- "Disabled apps" : "Onemogočeni programi",
- "Updates" : "Posodobitve",
- "App bundles" : "Paketi programov",
- "Featured apps" : "Predlagani programi",
"{license}-licensed" : "dovoljenje {license}",
"Changelog" : "Dnevnik sprememb",
"by {author}\n{license}" : "Razvoj: {author}\nDovoljenje: {license}",
@@ -354,6 +350,11 @@ OC.L10N.register(
"Twitter" : "Račun Twitter",
"Website" : "Spletna stran",
"Profile visibility" : "Vidnost profila",
+ "Active apps" : "Zagnani programi",
+ "Disabled apps" : "Onemogočeni programi",
+ "Updates" : "Posodobitve",
+ "App bundles" : "Paketi programov",
+ "Featured apps" : "Predlagani programi",
"Show to everyone" : "Pokaži vsem",
"Hide" : "Skrij",
"Download and enable" : "Prejmi in omogoči",
@@ -362,7 +363,6 @@ OC.L10N.register(
"Never" : "Nikoli",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Program je omogočen, vendar zahteva posodobitev. Po nekaj sekundah boste preusmerjeni na stran za posodobitev.",
"Error: This app cannot be enabled because it makes the server unstable" : "Napaka: tega programa ni mogoče namestiti, ker povzroča nestabilnost strežnika.",
- "Administrator documentation" : "Skrbniška dokumentacija",
"Documentation" : "Dokumentacija",
"Forum" : "Forum",
"Login" : "Prijava",
diff --git a/apps/settings/l10n/sl.json b/apps/settings/l10n/sl.json
index ad306368256..86b2d1d7616 100644
--- a/apps/settings/l10n/sl.json
+++ b/apps/settings/l10n/sl.json
@@ -55,6 +55,8 @@
"Wrong admin recovery password. Please check the password and try again." : "Napačno navedeno skrbniško obnovitveno geslo. Preverite geslo in poskusite znova.",
"Federated Cloud Sharing" : "Souporaba zveznega oblaka",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "Program cURL uporablja zastarelo različico %1$s (%2$s). Priporočljivo je posodobiti operacijski sistem, sicer možnosti, kot je %3$s, ne bodo delovale pravilno.",
+ "Administrator documentation" : "Skrbniška dokumentacija",
+ "User documentation" : "Uporabniška dokumentacija",
"Invalid SMTP password." : "Neveljavno geslo SMTP",
"Email setting test" : "Preizkus nastavitev elektronske pošte",
"Well done, %s!" : "Odlično, %s!",
@@ -145,7 +147,6 @@
"View in store" : "Pokaži v trgovini",
"Visit website" : "Odpri spletno stran",
"Report a bug" : "Pošlji poročilo o hrošču",
- "User documentation" : "Uporabniška dokumentacija",
"Admin documentation" : "Skrbniška dokumentacija",
"Developer documentation" : "Dokumentacija za razvijalce",
"This app is supported via your current Nextcloud subscription." : "Program je podprt prek trenutne naročnine Nextcloud",
@@ -317,11 +318,6 @@
"The following devices are configured for your account:" : "Z vašim računom so povezane navedene naprave:",
"Your browser does not support WebAuthn." : "Brskalnik ne podpira overitve WebAuthn.",
"Your apps" : "Vsi programi",
- "Active apps" : "Zagnani programi",
- "Disabled apps" : "Onemogočeni programi",
- "Updates" : "Posodobitve",
- "App bundles" : "Paketi programov",
- "Featured apps" : "Predlagani programi",
"{license}-licensed" : "dovoljenje {license}",
"Changelog" : "Dnevnik sprememb",
"by {author}\n{license}" : "Razvoj: {author}\nDovoljenje: {license}",
@@ -352,6 +348,11 @@
"Twitter" : "Račun Twitter",
"Website" : "Spletna stran",
"Profile visibility" : "Vidnost profila",
+ "Active apps" : "Zagnani programi",
+ "Disabled apps" : "Onemogočeni programi",
+ "Updates" : "Posodobitve",
+ "App bundles" : "Paketi programov",
+ "Featured apps" : "Predlagani programi",
"Show to everyone" : "Pokaži vsem",
"Hide" : "Skrij",
"Download and enable" : "Prejmi in omogoči",
@@ -360,7 +361,6 @@
"Never" : "Nikoli",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Program je omogočen, vendar zahteva posodobitev. Po nekaj sekundah boste preusmerjeni na stran za posodobitev.",
"Error: This app cannot be enabled because it makes the server unstable" : "Napaka: tega programa ni mogoče namestiti, ker povzroča nestabilnost strežnika.",
- "Administrator documentation" : "Skrbniška dokumentacija",
"Documentation" : "Dokumentacija",
"Forum" : "Forum",
"Login" : "Prijava",
diff --git a/apps/settings/l10n/sq.js b/apps/settings/l10n/sq.js
index 1fd37dec143..f05f10e88af 100644
--- a/apps/settings/l10n/sq.js
+++ b/apps/settings/l10n/sq.js
@@ -30,6 +30,8 @@ OC.L10N.register(
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Ju lutemi siguro një fjalëkalim të rikuperueshëm admini; përndryshe, të gjithë të dhënat e përdoruesit do të humbasin ",
"Wrong admin recovery password. Please check the password and try again." : "Fjalëkalim i gabuar rikthimesh për përgjegjësin. Ju lutemi, kontrolloni fjalëkalimin dhe provoni përsëri.",
"Federated Cloud Sharing" : "Ndarje Në Re të Federuar ",
+ "Administrator documentation" : "Dokumentim për përgjegjës",
+ "User documentation" : "Dokumentim për përdoruesit",
"Invalid SMTP password." : "Fjalëkalim SMTP i pavlefshëm",
"Email setting test" : "Test i konfigurimeve të Email-it",
"Well done, %s!" : "U krye, %s!",
@@ -91,7 +93,6 @@ OC.L10N.register(
"View in store" : "Shiko në dyqan",
"Visit website" : "Vizitoni sajtin",
"Report a bug" : "Njoftoni një të metë",
- "User documentation" : "Dokumentim për përdoruesit",
"Admin documentation" : "Dokumentim për përgjegjësit",
"Developer documentation" : "Dokumentim për zhvillues",
"Featured" : "I paraqitur",
@@ -165,10 +166,6 @@ OC.L10N.register(
"Adding your device …" : "Shtoni pajisjen tuaj ...",
"Unnamed device" : "Paisje pa emër",
"Your apps" : "Aplikacionet tuaja ",
- "Active apps" : "Aplikacionet aktive",
- "Disabled apps" : "Aplikacionet pa aftësi ",
- "Updates" : "Përditësime",
- "App bundles" : "Pako e aplikacionit ",
"Changelog" : "Katalogu i ndryshimeve",
"Add group" : "Shto grup",
"Active users" : "Përdoruesit aktivë",
@@ -187,10 +184,13 @@ OC.L10N.register(
"Phone number" : "Numri i telefonit",
"Twitter" : "Twitter",
"Website" : "Faqe web-i",
+ "Active apps" : "Aplikacionet aktive",
+ "Disabled apps" : "Aplikacionet pa aftësi ",
+ "Updates" : "Përditësime",
+ "App bundles" : "Pako e aplikacionit ",
"Hide" : "Fshihe",
"Never" : "Kurrë",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacioni është aktivizuar, por lyp të përditësohet. Do të ridrejtoheni te faqja e përditësimeve brenda 5 sekondash.",
- "Administrator documentation" : "Dokumentim për përgjegjës",
"Documentation" : "Dokumentacioni",
"Forum" : "Forum",
"Login" : "Hyrje",
diff --git a/apps/settings/l10n/sq.json b/apps/settings/l10n/sq.json
index f1968a54517..67c7ffea20f 100644
--- a/apps/settings/l10n/sq.json
+++ b/apps/settings/l10n/sq.json
@@ -28,6 +28,8 @@
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Ju lutemi siguro një fjalëkalim të rikuperueshëm admini; përndryshe, të gjithë të dhënat e përdoruesit do të humbasin ",
"Wrong admin recovery password. Please check the password and try again." : "Fjalëkalim i gabuar rikthimesh për përgjegjësin. Ju lutemi, kontrolloni fjalëkalimin dhe provoni përsëri.",
"Federated Cloud Sharing" : "Ndarje Në Re të Federuar ",
+ "Administrator documentation" : "Dokumentim për përgjegjës",
+ "User documentation" : "Dokumentim për përdoruesit",
"Invalid SMTP password." : "Fjalëkalim SMTP i pavlefshëm",
"Email setting test" : "Test i konfigurimeve të Email-it",
"Well done, %s!" : "U krye, %s!",
@@ -89,7 +91,6 @@
"View in store" : "Shiko në dyqan",
"Visit website" : "Vizitoni sajtin",
"Report a bug" : "Njoftoni një të metë",
- "User documentation" : "Dokumentim për përdoruesit",
"Admin documentation" : "Dokumentim për përgjegjësit",
"Developer documentation" : "Dokumentim për zhvillues",
"Featured" : "I paraqitur",
@@ -163,10 +164,6 @@
"Adding your device …" : "Shtoni pajisjen tuaj ...",
"Unnamed device" : "Paisje pa emër",
"Your apps" : "Aplikacionet tuaja ",
- "Active apps" : "Aplikacionet aktive",
- "Disabled apps" : "Aplikacionet pa aftësi ",
- "Updates" : "Përditësime",
- "App bundles" : "Pako e aplikacionit ",
"Changelog" : "Katalogu i ndryshimeve",
"Add group" : "Shto grup",
"Active users" : "Përdoruesit aktivë",
@@ -185,10 +182,13 @@
"Phone number" : "Numri i telefonit",
"Twitter" : "Twitter",
"Website" : "Faqe web-i",
+ "Active apps" : "Aplikacionet aktive",
+ "Disabled apps" : "Aplikacionet pa aftësi ",
+ "Updates" : "Përditësime",
+ "App bundles" : "Pako e aplikacionit ",
"Hide" : "Fshihe",
"Never" : "Kurrë",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Aplikacioni është aktivizuar, por lyp të përditësohet. Do të ridrejtoheni te faqja e përditësimeve brenda 5 sekondash.",
- "Administrator documentation" : "Dokumentim për përgjegjës",
"Documentation" : "Dokumentacioni",
"Forum" : "Forum",
"Login" : "Hyrje",
diff --git a/apps/settings/l10n/sr.js b/apps/settings/l10n/sr.js
index c6fcb745e8d..e24ddc1fa26 100644
--- a/apps/settings/l10n/sr.js
+++ b/apps/settings/l10n/sr.js
@@ -54,6 +54,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "Погрешна администраторска лозинка опоравка. Проверите лозинку и покушајте поново.",
"Federated Cloud Sharing" : "Здружено дељење у облаку",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL користи застарелу верзију %1$s (%2$s). Ажурирајте оперативни систем или функционалности као што је %3$s неће радити поуздано.",
+ "Administrator documentation" : "Администраторска документација",
+ "User documentation" : "Корисничка документација",
"Invalid SMTP password." : "Неисправна SMTP лозинка.",
"Email setting test" : "Тестирај поставке е-поште",
"Well done, %s!" : "Свака част, %s!",
@@ -135,7 +137,6 @@ OC.L10N.register(
"View in store" : "Погледај у продавници",
"Visit website" : "Посети веб сајт",
"Report a bug" : "Пријави проблем",
- "User documentation" : "Корисничка документација",
"Admin documentation" : "Администраторска документација",
"Developer documentation" : "Програмерска документација",
"This app is supported via your current Nextcloud subscription." : "Ова апликација је подржана са Вашом тренутном Некстклауд претплатом.",
@@ -269,11 +270,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Следећи уређају су подешени за Ваш налог:",
"Your browser does not support WebAuthn." : "Ваш веб читач не подржава WebAuthn.",
"Your apps" : "Ваше апликације",
- "Active apps" : "Активне апликације",
- "Disabled apps" : "Искључене апликације",
- "Updates" : "Ажурирања",
- "App bundles" : "Пакети апликација",
- "Featured apps" : "Препоручене апликације",
"{license}-licensed" : "{license}-лиценцирано",
"Changelog" : "Дневник измена",
"by {author}\n{license}" : "од {author}\n{license}",
@@ -300,13 +296,17 @@ OC.L10N.register(
"Phone number" : "Број телефона",
"Twitter" : "Твитер",
"Website" : "Веб сајт",
+ "Active apps" : "Активне апликације",
+ "Disabled apps" : "Искључене апликације",
+ "Updates" : "Ажурирања",
+ "App bundles" : "Пакети апликација",
+ "Featured apps" : "Препоручене апликације",
"Hide" : "Сакриј",
"Download and enable" : "Скини и укључи",
"Enable untested app" : "Омогући нетестиране апликације",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ова апликација није означена као компатибилна са Вашом верзијом Некстклауда. Ако наставите, моћи ћете свеједно да инсталирате апликацију. Врло је могуће да апликација неће радити како је планирано.",
"Never" : "Никад",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Апликација је укључена, али треба да се ажурира. Бићете преусмерени на страну са ажурирањем за 5 секунди.",
- "Administrator documentation" : "Администраторска документација",
"Documentation" : "Документација",
"Forum" : "Форум",
"Login" : "Пријава",
diff --git a/apps/settings/l10n/sr.json b/apps/settings/l10n/sr.json
index 465f82633b5..f1e37997ed7 100644
--- a/apps/settings/l10n/sr.json
+++ b/apps/settings/l10n/sr.json
@@ -52,6 +52,8 @@
"Wrong admin recovery password. Please check the password and try again." : "Погрешна администраторска лозинка опоравка. Проверите лозинку и покушајте поново.",
"Federated Cloud Sharing" : "Здружено дељење у облаку",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL користи застарелу верзију %1$s (%2$s). Ажурирајте оперативни систем или функционалности као што је %3$s неће радити поуздано.",
+ "Administrator documentation" : "Администраторска документација",
+ "User documentation" : "Корисничка документација",
"Invalid SMTP password." : "Неисправна SMTP лозинка.",
"Email setting test" : "Тестирај поставке е-поште",
"Well done, %s!" : "Свака част, %s!",
@@ -133,7 +135,6 @@
"View in store" : "Погледај у продавници",
"Visit website" : "Посети веб сајт",
"Report a bug" : "Пријави проблем",
- "User documentation" : "Корисничка документација",
"Admin documentation" : "Администраторска документација",
"Developer documentation" : "Програмерска документација",
"This app is supported via your current Nextcloud subscription." : "Ова апликација је подржана са Вашом тренутном Некстклауд претплатом.",
@@ -267,11 +268,6 @@
"The following devices are configured for your account:" : "Следећи уређају су подешени за Ваш налог:",
"Your browser does not support WebAuthn." : "Ваш веб читач не подржава WebAuthn.",
"Your apps" : "Ваше апликације",
- "Active apps" : "Активне апликације",
- "Disabled apps" : "Искључене апликације",
- "Updates" : "Ажурирања",
- "App bundles" : "Пакети апликација",
- "Featured apps" : "Препоручене апликације",
"{license}-licensed" : "{license}-лиценцирано",
"Changelog" : "Дневник измена",
"by {author}\n{license}" : "од {author}\n{license}",
@@ -298,13 +294,17 @@
"Phone number" : "Број телефона",
"Twitter" : "Твитер",
"Website" : "Веб сајт",
+ "Active apps" : "Активне апликације",
+ "Disabled apps" : "Искључене апликације",
+ "Updates" : "Ажурирања",
+ "App bundles" : "Пакети апликација",
+ "Featured apps" : "Препоручене апликације",
"Hide" : "Сакриј",
"Download and enable" : "Скини и укључи",
"Enable untested app" : "Омогући нетестиране апликације",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ова апликација није означена као компатибилна са Вашом верзијом Некстклауда. Ако наставите, моћи ћете свеједно да инсталирате апликацију. Врло је могуће да апликација неће радити како је планирано.",
"Never" : "Никад",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Апликација је укључена, али треба да се ажурира. Бићете преусмерени на страну са ажурирањем за 5 секунди.",
- "Administrator documentation" : "Администраторска документација",
"Documentation" : "Документација",
"Forum" : "Форум",
"Login" : "Пријава",
diff --git a/apps/settings/l10n/sv.js b/apps/settings/l10n/sv.js
index 09aeaae078b..a3d1ea18240 100644
--- a/apps/settings/l10n/sv.js
+++ b/apps/settings/l10n/sv.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"You changed your email address" : "Du ändrade din e-postadress",
"Your email address was changed by an administrator" : "Din e-postadress ändrades av en administratör",
"You created app password \"{token}\"" : "Du skapade applösenord \"{token}\"",
+ "An administrator created app password \"{token}\"" : "En administratör skapade applösenord \"{token}\"",
"You deleted app password \"{token}\"" : "Du tog bort applösenordet \"{token}\"",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Du ändrade namn på applösenord \"{token}\" till \"{newToken}\"",
"You granted filesystem access to app password \"{token}\"" : "Du tilldelade filsystem-åtkomst till applösenord \"{token}\"",
@@ -49,21 +50,38 @@ OC.L10N.register(
"Remote wipe was started on %1$s" : "Fjärrensning startades på %1$s",
"Remote wipe has finished on %1$s" : "Fjärrensning slutfördes på %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ditt <strong>lösenord</strong> eller <strong>e-postadress</strong> har ändrats",
+ "Could not remove app." : "Kunde inte ta bort app.",
+ "Could not update app." : "Kunde inte uppdatera app.",
"Wrong password" : "Fel lösenord",
+ "Unable to change personal password" : "Kunde inte byta personligt lösenord",
"Saved" : "Sparad",
"No user supplied" : "Ingen användare angiven",
+ "Unable to change password. Password too long." : "Kunde inte byta lösenord. Lösenord för långt.",
"Authentication error" : "Fel vid autentisering",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Vänligen ange ett administratörs återställningslösenord; annars kommer alla användardata att försvinna.",
"Wrong admin recovery password. Please check the password and try again." : "Felaktigt återställningslösenord för administratör. Kontrollera lösenordet och prova igen.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Backend stödjer inte att lösenord ändras, men användarens krypteringsnyckel uppdaterades.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installera och uppdatera appar via appbutiken eller federerad molndelning",
"Federated Cloud Sharing" : "Federerad Moln-delning",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL använder en föråldrad %1$s version (%2$s). Uppdatera ditt operativsystem annars kommer inte funktioner som %3$s fungera pålitligt.",
+ "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Kunde inte bestämma om TLS-versionen av cURL är för gammal eller inte för ett fel uppstod under HTTPS-förfrågan mot https://nextcloud.com. Vänligen kontrollera Nextcloud loggfilen för fler detaljer.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcache-modulen är inte laddad. För bättre prestanda rekommenderas det att ladda den i din PHP-installation.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache är inaktiverat. För bättre prestanda rekommenderas att lägga till <code>opcache.enable=1</code> i din PHP-konfiguration.",
+ "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache är konfigurerad för att ta bort kodkommentarer. Med OPcache aktiverat måste <code>opcache.save_comments=1</code> sättas för att Nextcloud ska fungera.",
+ "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud får inte använda OPcache API. Med OPcache aktiverat rekommenderas det starkt att inkludera alla Nextcloud-kataloger med <code>opcache.restrict_api</code> eller avaktivera denna inställning för att inaktivera OPcache API-begränsningar, för att förhindra fel under Nextcloud kärna eller appuppgraderingar.",
+ "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud får inte använda OPcache API. Det rekommenderas starkt att inkludera alla Nextcloud-kataloger med <code>opcache.restrict_api</code> eller avaktivera denna inställning för att inaktivera OPcache API-begränsningar, för att förhindra fel under Nextcloud core eller appuppgraderingar.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Det maximala antalet OPcache-nycklar har nästan överskridits. För att säkerställa att alla skript kan behållas i cachen, rekommenderas det att tillämpa <code>opcache.max_accelerated_files</code> i din PHP-konfiguration med ett värde högre än <code>%s</code>.",
+ "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache-bufferten är nästan full. För att säkerställa att alla skript kan lagras i cache, rekommenderas det att tillämpa <code>opcache.memory_consumption</code> i din PHP-konfiguration med ett värde högre än <code>%s</code>.",
+ "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcachens internerade strängbuffert är nästan full. För att säkerställa att upprepade strängar effektivt kan cachelagras, rekommenderas det att använda <code>opcache.interned_strings_buffer</code> i din PHP-konfiguration med ett värde högre än <code>%s</code>.",
+ "Administrator documentation" : "Administratörsdokumentation",
+ "User documentation" : "Användardokumentation",
"Invalid SMTP password." : "Ogiltigt SMTP-lösenord.",
"Email setting test" : "E-postinställningar test",
"Well done, %s!" : "Bra gjort, %s!",
"If you received this email, the email configuration seems to be correct." : "Om du får detta e-postmeddelande så har du ställt in e-postinställningarna rätt.",
"Email could not be sent. Check your mail server log" : "E-post kunde inte skickas. Titta i din e-postserverlogg",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ett problem uppstod när e-post försökte skickas. Kontrollera dina inställningar. (Fel: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Du måste ställa in din användarmailadress innan du kan skicka testmail. Gå till %s för att göra det.",
"Invalid user" : "Ogiltig användare",
"Invalid mail address" : "Ogiltig e-postadress",
"Settings saved" : "Inställningar sparade",
@@ -120,9 +138,15 @@ OC.L10N.register(
"Verifying" : "Verifiera",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Ett bakgrundsjobb väntar som söker efter användarimporterade SSL-certifikat. Vänligen kontrollera igen senare.",
"There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Det finns några användarimporterade SSL-certifikat närvarande som inte längre används med Nextcloud 21. De kan importeras i kommandoraden via \"occ security:certificates:import\". Deras sökvägar inuti data-mappen visas nedanför.",
+ "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them." : "Ogiltiga UUID för LDAP-användare eller -grupper har hittats. Granska dina \"Åsidosätt UUID-detektering\"-inställningar i expertdelen av LDAP-konfigurationen och använd \"occ ldap:update-uuid\" för att uppdatera dem.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Det gamla krypteringsformatet på servern är aktiverat. Vi rekommenderar att du inaktiverar detta.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB version \"%s\" används. Nextcloud 21 och högre stöder inte denna version och kräver MariaDB 10.2 eller högre.",
+ "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL-versionen \"%s\" används. Nextcloud 21 och högre stöder inte denna version och kräver MySQL 8.0 eller MariaDB 10.2 eller högre.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "PostgreSQL-versionen \"%s\" används. Nextcloud 21 och högre stöder inte denna version och kräver PostgreSQL 9.6 eller högre.",
+ "Profile information" : "Profilinformation",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profilbild, fullständigt namn, e-post, telefonnummer, adress, webbplats, Twitter, organisation, roll, rubrik, biografi och om din profil är aktiverad",
"Nextcloud settings" : "Nextcloud-inställningar",
- "Here you can decide which group can access certain sections of the administration settings." : "Här kan du bestämma vilken gruppen som har tillgång till vissa delar av administrationsinställningarna.",
+ "Here you can decide which group can access certain sections of the administration settings." : "Här kan du bestämma vilken grupp som har tillgång till vissa delar av administrationsinställningarna.",
"None" : "Ingen",
"Unable to modify setting" : "Kunde inte ändra inställning.",
"Two-Factor Authentication" : "Tvåfaktorsautentisering",
@@ -148,7 +172,6 @@ OC.L10N.register(
"View in store" : "Visa i butik",
"Visit website" : "Besök webbplats",
"Report a bug" : "Rapportera ett problem",
- "User documentation" : "Användardokumentation",
"Admin documentation" : "Administratörsdokumentation",
"Developer documentation" : "Utvecklardokumentation",
"This app is supported via your current Nextcloud subscription." : "Den här appen stöds via ditt nuvarande Nextcloud-abonnemang.",
@@ -156,17 +179,20 @@ OC.L10N.register(
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Utvalda appar utvecklas av och inom gemenskapen. De erbjuder central funktionalitet och är redo för produktionsanvändning.",
"Featured" : "Utvalda",
"Update to {update}" : "Uppdatera till {update}",
+ "All apps are up-to-date." : "Alla appar är uppdaterade.",
"Results from other categories" : "Resultat från andra kategorier",
"No apps found for your version" : "Inga appar funna för din version",
"Disable all" : "Inaktivera alla",
"Enable all" : "Aktivera alla",
"_%n app has an update available_::_%n apps have an update available_" : ["%n app har en uppdatering tillgänglig","%n appar har en uppdatering tillgänglig"],
+ "_Update_::_Update all_" : ["Uppdatera","Uppdatera alla"],
"Marked for remote wipe" : "Markerad för fjärrensning",
"Device settings" : "Enhetsinställningar",
"Allow filesystem access" : "Tillåt åtkomst till filsystemet",
"Rename" : "Byt namn",
"Revoke" : "Återkalla",
"Wipe device" : "Rensa enhet",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Återkallning kan förhindra att enheten rensas om inte rensningen redan har startat.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -203,12 +229,27 @@ OC.L10N.register(
"Copied!" : "Kopierad!",
"Copy" : "Kopiera",
"Could not copy app password. Please copy it manually." : "Det gick inte att kopiera applösenordet. Kopiera det manuellt.",
+ "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "För att servern ska fungera korrekt är det viktigt att konfigurera bakgrundsjobb korrekt. Cron är den rekommenderade inställningen. Se dokumentationen för mer information.",
+ "Last job execution ran {time}. Something seems wrong." : "Senaste jobbexekveringen kördes {time}. Något verkar vara fel.",
+ "Last job ran {relativeTime}." : "Senaste jobbet kördes {relativeTime}.",
+ "Background job did not run yet!" : "Bakgrundsjobb har inte kört ännu!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Utför en uppgift med varje sidladdning. Användningsfall: instans med en användare.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php är registrerad på en webcron-tjänst för att anropa cron.php var 5:e minut över HTTP. Användningsfall: Mycket liten instans (1–5 användare beroende på användning).",
+ "Cron (Recommended)" : "Cron (Rekommenderad)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "För att köra detta behöver du PHP POSIX-tillägget. Se {linkstart}PHP dokumentation{linkend} för mer detaljer.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Använd systemets cron-tjänst för att anropa filen cron.php var 5:e minut. Rekommenderas för alla fall.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "cron.php måste köras av systemanvändaren \"{user}\".",
+ "Unable to update background job mode" : "Det gick inte att uppdatera bakgrundsjobbläget",
"Profile" : "Profil",
+ "Enable or disable profile by default for new users." : "Aktivera eller inaktivera profil som standard för nya användare.",
"Enable" : "Aktivera",
+ "Unable to update profile default setting" : "Det gick inte att uppdatera profilens standardinställning",
"Server-side encryption" : "Serverkryptering",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Kryptering från servern möjliggör kryptering av filer som är uppladdade till servern. Detta innebär vissa begränsningar som prestandaförluster, så aktivera bara om det behövs.",
"Enable server-side encryption" : "Aktivera kryptering på server.",
+ "Please read carefully before activating server-side encryption:" : "Läs noga innan du aktiverar kryptering på serversidan:",
"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." : "När kryptering är aktiverat, så kommer alla filer som laddas upp till servern från den tidpunkt och framåt bli krypterad på servern. Det kommer bara vara möjligt att inaktivera kryptering vid ett senare tillfälle om krypteringsmodulen stödjer den funktionen och alla förvillkor (exempelvis använder återställningsnyckel) är mötta.",
"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." : "Enbart kryptering garanterar inte säkerhet i systemet. Se dokumentationen för ytterligare information om hur krypteringsappen fungerar, och de supporterade användarfallen.",
"Be aware that encryption always increases the file size." : "OBS! Observera att kryptering alltid ökar filstorleken",
@@ -216,15 +257,30 @@ OC.L10N.register(
"This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?",
"No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul inläst, aktivera krypteringsmodulen i applikationsmenyn.",
"Select default encryption module:" : "Välj krypteringsmodul:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Du måste migrera dina krypteringsnycklar från den gamla krypteringen (ownCloud <= 8.0) till den nya. Aktivera \"Standard krypteringsmodule\" och kör {command}",
+ "Unable to update server side encryption config" : "Kunde inte uppdatera serversidans krypteringskonfiguration",
+ "Rename group" : "Byt namn på grupp",
"Remove group" : "Ta bort grupp",
"You are about to remove the group {group}. The users will NOT be deleted." : "Du håller på att ta bort gruppen {group}. Användarna kommer INTE att raderas.",
"Please confirm the group removal " : "Bekräfta borttagning av gruppen",
"Current password" : "Nuvarande lösenord",
"New password" : "Nytt lösenord",
"Change password" : "Ändra lösenord",
+ "Your profile picture" : "Din profilbild",
+ "Upload profile picture" : "Ladda upp profilbild",
+ "Choose profile picture from files" : "Välj profilbild från filer",
+ "Remove profile picture" : "Ta bort profilbild",
"png or jpg, max. 20 MB" : "png eller jpg, max 20 MB",
"Picture provided by original account" : "Bild gjordes tillgänglig av orginalkonto",
"Cancel" : "Avbryt",
+ "Set as profile picture" : "Ställ in som profilbild",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Observera att det kan ta upp till 24 timmar för din profilbild att uppdateras överallt.",
+ "Choose your profile picture" : "Välj din profilbild",
+ "Please select a valid png or jpg file" : "Välj en giltig png- eller jpg-fil",
+ "Error setting profile picture" : "Fel vid inställning av profilbild",
+ "Error cropping profile picture" : "Det gick inte att beskära profilbilden",
+ "Error saving profile picture" : "Det gick inte att spara profilbilden",
+ "Error removing profile picture" : "Det gick inte att ta bort profilbilden",
"Your biography" : "Din biografi",
"Details" : "Detaljer",
"You are a member of the following groups:" : "Du är medlem i följande grupper:",
@@ -254,16 +310,26 @@ OC.L10N.register(
"No language set" : "Inget språk angivet",
"Locale" : "Plats",
"Week starts on {firstDayOfWeek}" : "Veckan börjar med {firstDayOfWeek}",
+ "Unable to update locale" : "Det gick inte att uppdatera språk",
+ "No locale set" : "Inget språk angivet",
+ "Your location" : "Din plats",
"Your organisation" : "Din organisation",
"Your phone number" : "Ditt telefonnummer",
"Edit your Profile visibility" : "Ändra synligheten för din profil",
"Enable Profile" : "Aktivera profil",
"Unable to update profile enabled state" : "Kunde inte uppdatera profilaktivering",
+ "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mer restriktiva inställningen av antingen synlighet eller omfattning respekteras på din profil. Till exempel, om synlighet är inställd på \"Visa för alla\" och omfattningen är inställd på \"Privat\", respekteras \"Privat\".",
"{displayId}" : "{displayId}",
"Unable to update visibility of {displayId}" : "Kunde inte uppdatera synlighet för {displayId}",
"Your role" : "Din roll",
"Your Twitter handle" : "Ditt Twitterkonto",
"Your website" : "Din webbsida",
+ "No {property} set" : "Ingen {property} inställd",
+ "Unable to update {property}" : "Det gick inte att uppdatera {property}",
+ "Change scope level of {property}, current scope is {scope}" : "Ändra omfattningsnivå för {property}, nuvarande omfattning är {scope}",
+ "Unable to update federation scope of the primary {property}" : "Det gick inte att uppdatera federationsomfånget för den primära {property}",
+ "Unable to update federation scope of additional {property}" : "Det gick inte att uppdatera federationens omfattning för ytterligare {property}",
+ "Add additional email" : "Lägg till ytterligare e-post",
"Add" : "Lägg till",
"You do not have permissions to see the details of this user" : "Du har inte behörighet att se detaljerna för den här användaren",
"Add new password" : "Lägg till nytt lösenord",
@@ -316,11 +382,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Följande enheter är konfigurerade för ditt konto:",
"Your browser does not support WebAuthn." : "Din webbläsare stödjer inte WebAuthn.",
"Your apps" : "Dina appar",
- "Active apps" : "Aktiva appar",
- "Disabled apps" : "Inaktiverade appar",
- "Updates" : "Uppdateringar",
- "App bundles" : "App-paket",
- "Featured apps" : "Utvalda appar",
"{license}-licensed" : "{license}-licensierad",
"Changelog" : "Ändringslogg",
"by {author}\n{license}" : "av {author}\n{license}",
@@ -349,10 +410,17 @@ OC.L10N.register(
"Phone number" : "Telefonnummer",
"Role" : "Roll",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (t.ex. Mastodon)",
"Website" : "Webbplats",
"Profile visibility" : "Profilsynlighet",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Inte tillgänglig då denna inställning krävs för essentiell funktionalitet såsom fildelning och kalenderinbjudningar",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Ej tillgängligt eftersom federation har inaktiverats för ditt konto, kontakta din systemadministratör om du har några frågor",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Inte tillgänglig då publicering av användarspecifik data till lookup-servern inte är tillåten, kontakta din systemadministratör ifall du har frågor",
+ "Active apps" : "Aktiva appar",
+ "Disabled apps" : "Inaktiverade appar",
+ "Updates" : "Uppdateringar",
+ "App bundles" : "App-paket",
+ "Featured apps" : "Utvalda appar",
"Show to everyone" : "Visa för alla",
"Show to logged in users only" : "Visa endast för inloggade användare",
"Hide" : "Dölj",
@@ -361,9 +429,9 @@ OC.L10N.register(
"The app will be downloaded from the App Store" : "Appen kommer hämtas från appbutiken",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Den här appen är inte markerad som kompatibel med din Nextcloud-version. Om du fortsätter kan du fortfarande installera appen. Observera att appen kanske inte fungerar som förväntat.",
"Never" : "Aldrig",
+ "An error occurred during the request. Unable to proceed." : "Ett fel uppstod under begäran. Det gick inte att fortsätta.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen har aktiverats men måste uppdateras. Du kommer att omdirigeras till uppdateringssidan om 5 sekunder.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fel: Denna appen kan inte aktiveras eftersom den gör servern instabil",
- "Administrator documentation" : "Administratörsdokumentation",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
"Login" : "Logga in",
@@ -385,6 +453,7 @@ OC.L10N.register(
"SMTP Username" : "SMTP-användarnamn",
"SMTP Password" : "SMTP-lösenord",
"Save" : "Spara",
+ "Test and verify email settings" : "Testa och verifiera e-postinställningar",
"Send email" : "Skicka e-post",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Det är viktigt för säkerhet och prestanda av din instans att allt är korrekt konfigurerat. För att hjälpa dig med det gör vi några automatiska kontroller. Se den länkade dokumentationen för mer information.",
"All checks passed." : "Alla kontroller lyckades!",
@@ -406,6 +475,7 @@ OC.L10N.register(
"Allow public uploads" : "Tillåt offentlig uppladdning",
"Always ask for a password" : "Fråga alltid efter lösenord",
"Enforce password protection" : "Tillämpa lösenordskydd",
+ "Exclude groups from password requirements:" : "Exkludera grupper från lösenordskrav: ",
"Set default expiration date" : "Ställ in standardutgångsdatum",
"Exclude groups from creating link shares:" : "Exkludera grupper från att skapa länkdelningar:",
"Allow resharing" : "Tillåt vidaredelning",
@@ -417,6 +487,7 @@ OC.L10N.register(
"Allow username autocompletion to users within the same groups" : "Tillåt autokomplettering av användarnamn till användare inom samma grupper",
"Allow username autocompletion to users based on phone number integration" : "Tillåt autokomplettering av användarnamn till användare baserad på telefonnummerintegration",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Om komplettering för \"samma grupp\" och \"telefonnummerintegration\" är aktiverade räcker det med en matchning i en av dem för att visa användaren.",
+ "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tillåt autokomplettering när du anger hela namnet eller e-postadressen (ignorera saknad telefonboksmatchning och att vara i samma grupp)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Visa friskrivningstext på offentliga uppladdningssidan (visas endast när fil-listan är gömd)",
"This text will be shown on the public link upload page when the file list is hidden." : "Denna text kommer att visa på den offentliga uppladdnings-sidan när fil-listan är gömd.",
"Default share permissions" : "Standardrättigheter för delning",
@@ -440,6 +511,7 @@ OC.L10N.register(
"Couldn't update app." : "Kunde inte uppdatera appen.",
"Backend doesn't support password change, but the user's encryption key was updated." : "Backend stödjer inte att lösenord ändras men användarens krypteringsnyckel uppdaterades.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Kunde inte bestämma om TLS-versionen av cURL är för gammal eller inte för ett fel uppstod under HTTPS-förfrågan mot https://nextcloud.com. Vänligen kontrollera nextcloud loggfilen för fler detaljer.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Det maximala antalet OPcache-nycklar har nästan överskridits. För att säkerställa att alla skript kan hållas i cache, rekommenderas det att tillämpa <code>opcache.max_accelerated_files</code> i din PHP-konfiguration med ett värde högre än <code>%s</code>.",
"Admin privileges" : "Adminprivilegier",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Återkallning kan förhindra att enheten rensas om inte rensningen redan har startat.",
"Unable to update biography" : "Kunde inte uppdatera biografi",
@@ -448,6 +520,9 @@ OC.L10N.register(
"Unable to update headline" : "Kunde inte uppdatera rubrik",
"Unable to update organisation" : "Kunde inte uppdatera organisation",
"Unable to update role" : "Kunde inte uppdatera roll",
+ "Change scope level of {accountProperty}" : "Ändra omfattningsnivå för {accountProperty}",
+ "Unable to update federation scope of the primary {accountProperty}" : "Det gick inte att uppdatera federationsomfånget för primära {accountProperty}",
+ "Unable to update federation scope of additional {accountProperty}" : "Det gick inte att uppdatera federationens omfattning för ytterligare {accountProperty}",
"Address" : "Ort/Stad",
"Avatar" : "Avatar",
"An error occured during the request. Unable to proceed." : "Ett fel uppstod under förfrågan. Kan inte fortsätta.",
@@ -461,6 +536,7 @@ OC.L10N.register(
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Vissa jobb utfördes inte sedan %s. Överväg att byta till system cron.",
"Last job ran %s." : "Senaste jobbet kördes %s.",
"Background job didn’t run yet!" : "Bakgrundsjobb har inte kört ännu!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "För att servern ska fungera korrekt är det viktigt att konfigurera bakgrundsjobb korrekt. \"Cron\" är den rekommenderade inställningen. Se dokumentationen för mer information.",
"Pick background job setting" : "Välj inställning för bakgrundsjobb",
"Recommended" : "Rekomenderad",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php behöver exekveras av systemanvändaren \"%s\".",
@@ -469,6 +545,7 @@ OC.L10N.register(
"Upload new" : "Ladda upp ny",
"Select from Files" : "Välj från Filer",
"Remove image" : "Ta bort bild",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Observera att det kan ta upp till 24 timmar för avataren att uppdateras överallt.",
"Choose as profile picture" : "Välj som profilbild",
"You are using <strong>%s</strong>" : "Du använder <strong>%s</strong>",
"You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Du använder <strong>%1$s</strong> av <strong>%2$s</strong> (<strong>%3$s %%</strong>)",
diff --git a/apps/settings/l10n/sv.json b/apps/settings/l10n/sv.json
index 6b4b39e8b80..fba693e26ac 100644
--- a/apps/settings/l10n/sv.json
+++ b/apps/settings/l10n/sv.json
@@ -37,6 +37,7 @@
"You changed your email address" : "Du ändrade din e-postadress",
"Your email address was changed by an administrator" : "Din e-postadress ändrades av en administratör",
"You created app password \"{token}\"" : "Du skapade applösenord \"{token}\"",
+ "An administrator created app password \"{token}\"" : "En administratör skapade applösenord \"{token}\"",
"You deleted app password \"{token}\"" : "Du tog bort applösenordet \"{token}\"",
"You renamed app password \"{token}\" to \"{newToken}\"" : "Du ändrade namn på applösenord \"{token}\" till \"{newToken}\"",
"You granted filesystem access to app password \"{token}\"" : "Du tilldelade filsystem-åtkomst till applösenord \"{token}\"",
@@ -47,21 +48,38 @@
"Remote wipe was started on %1$s" : "Fjärrensning startades på %1$s",
"Remote wipe has finished on %1$s" : "Fjärrensning slutfördes på %1$s",
"Your <strong>password</strong> or <strong>email</strong> was modified" : "Ditt <strong>lösenord</strong> eller <strong>e-postadress</strong> har ändrats",
+ "Could not remove app." : "Kunde inte ta bort app.",
+ "Could not update app." : "Kunde inte uppdatera app.",
"Wrong password" : "Fel lösenord",
+ "Unable to change personal password" : "Kunde inte byta personligt lösenord",
"Saved" : "Sparad",
"No user supplied" : "Ingen användare angiven",
+ "Unable to change password. Password too long." : "Kunde inte byta lösenord. Lösenord för långt.",
"Authentication error" : "Fel vid autentisering",
"Please provide an admin recovery password; otherwise, all user data will be lost." : "Vänligen ange ett administratörs återställningslösenord; annars kommer alla användardata att försvinna.",
"Wrong admin recovery password. Please check the password and try again." : "Felaktigt återställningslösenord för administratör. Kontrollera lösenordet och prova igen.",
+ "Backend does not support password change, but the user's encryption key was updated." : "Backend stödjer inte att lösenord ändras, men användarens krypteringsnyckel uppdaterades.",
"installing and updating apps via the App Store or Federated Cloud Sharing" : "installera och uppdatera appar via appbutiken eller federerad molndelning",
"Federated Cloud Sharing" : "Federerad Moln-delning",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL använder en föråldrad %1$s version (%2$s). Uppdatera ditt operativsystem annars kommer inte funktioner som %3$s fungera pålitligt.",
+ "Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the Nextcloud log file for more details." : "Kunde inte bestämma om TLS-versionen av cURL är för gammal eller inte för ett fel uppstod under HTTPS-förfrågan mot https://nextcloud.com. Vänligen kontrollera Nextcloud loggfilen för fler detaljer.",
+ "The PHP OPcache module is not loaded. For better performance it is recommended to load it into your PHP installation." : "PHP OPcache-modulen är inte laddad. För bättre prestanda rekommenderas det att ladda den i din PHP-installation.",
+ "OPcache is disabled. For better performance, it is recommended to apply <code>opcache.enable=1</code> to your PHP configuration." : "OPcache är inaktiverat. För bättre prestanda rekommenderas att lägga till <code>opcache.enable=1</code> i din PHP-konfiguration.",
+ "OPcache is configured to remove code comments. With OPcache enabled, <code>opcache.save_comments=1</code> must be set for Nextcloud to function." : "OPcache är konfigurerad för att ta bort kodkommentarer. Med OPcache aktiverat måste <code>opcache.save_comments=1</code> sättas för att Nextcloud ska fungera.",
+ "Nextcloud is not allowed to use the OPcache API. With OPcache enabled, it is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud får inte använda OPcache API. Med OPcache aktiverat rekommenderas det starkt att inkludera alla Nextcloud-kataloger med <code>opcache.restrict_api</code> eller avaktivera denna inställning för att inaktivera OPcache API-begränsningar, för att förhindra fel under Nextcloud kärna eller appuppgraderingar.",
+ "Nextcloud is not allowed to use the OPcache API. It is highly recommended to include all Nextcloud directories with <code>opcache.restrict_api</code> or unset this setting to disable OPcache API restrictions, to prevent errors during Nextcloud core or app upgrades." : "Nextcloud får inte använda OPcache API. Det rekommenderas starkt att inkludera alla Nextcloud-kataloger med <code>opcache.restrict_api</code> eller avaktivera denna inställning för att inaktivera OPcache API-begränsningar, för att förhindra fel under Nextcloud core eller appuppgraderingar.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Det maximala antalet OPcache-nycklar har nästan överskridits. För att säkerställa att alla skript kan behållas i cachen, rekommenderas det att tillämpa <code>opcache.max_accelerated_files</code> i din PHP-konfiguration med ett värde högre än <code>%s</code>.",
+ "The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache-bufferten är nästan full. För att säkerställa att alla skript kan lagras i cache, rekommenderas det att tillämpa <code>opcache.memory_consumption</code> i din PHP-konfiguration med ett värde högre än <code>%s</code>.",
+ "The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcachens internerade strängbuffert är nästan full. För att säkerställa att upprepade strängar effektivt kan cachelagras, rekommenderas det att använda <code>opcache.interned_strings_buffer</code> i din PHP-konfiguration med ett värde högre än <code>%s</code>.",
+ "Administrator documentation" : "Administratörsdokumentation",
+ "User documentation" : "Användardokumentation",
"Invalid SMTP password." : "Ogiltigt SMTP-lösenord.",
"Email setting test" : "E-postinställningar test",
"Well done, %s!" : "Bra gjort, %s!",
"If you received this email, the email configuration seems to be correct." : "Om du får detta e-postmeddelande så har du ställt in e-postinställningarna rätt.",
"Email could not be sent. Check your mail server log" : "E-post kunde inte skickas. Titta i din e-postserverlogg",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "Ett problem uppstod när e-post försökte skickas. Kontrollera dina inställningar. (Fel: %s)",
+ "You need to set your user email before being able to send test emails. Go to %s for that." : "Du måste ställa in din användarmailadress innan du kan skicka testmail. Gå till %s för att göra det.",
"Invalid user" : "Ogiltig användare",
"Invalid mail address" : "Ogiltig e-postadress",
"Settings saved" : "Inställningar sparade",
@@ -118,9 +136,15 @@
"Verifying" : "Verifiera",
"A background job is pending that checks for user imported SSL certificates. Please check back later." : "Ett bakgrundsjobb väntar som söker efter användarimporterade SSL-certifikat. Vänligen kontrollera igen senare.",
"There are some user imported SSL certificates present, that are not used anymore with Nextcloud 21. They can be imported on the command line via \"occ security:certificates:import\" command. Their paths inside the data directory are shown below." : "Det finns några användarimporterade SSL-certifikat närvarande som inte längre används med Nextcloud 21. De kan importeras i kommandoraden via \"occ security:certificates:import\". Deras sökvägar inuti data-mappen visas nedanför.",
+ "Invalid UUIDs of LDAP users or groups have been found. Please review your \"Override UUID detection\" settings in the Expert part of the LDAP configuration and use \"occ ldap:update-uuid\" to update them." : "Ogiltiga UUID för LDAP-användare eller -grupper har hittats. Granska dina \"Åsidosätt UUID-detektering\"-inställningar i expertdelen av LDAP-konfigurationen och använd \"occ ldap:update-uuid\" för att uppdatera dem.",
"The old server-side-encryption format is enabled. We recommend disabling this." : "Det gamla krypteringsformatet på servern är aktiverat. Vi rekommenderar att du inaktiverar detta.",
+ "MariaDB version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MariaDB 10.2 or higher." : "MariaDB version \"%s\" används. Nextcloud 21 och högre stöder inte denna version och kräver MariaDB 10.2 eller högre.",
+ "MySQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require MySQL 8.0 or MariaDB 10.2 or higher." : "MySQL-versionen \"%s\" används. Nextcloud 21 och högre stöder inte denna version och kräver MySQL 8.0 eller MariaDB 10.2 eller högre.",
+ "PostgreSQL version \"%s\" is used. Nextcloud 21 and higher do not support this version and require PostgreSQL 9.6 or higher." : "PostgreSQL-versionen \"%s\" används. Nextcloud 21 och högre stöder inte denna version och kräver PostgreSQL 9.6 eller högre.",
+ "Profile information" : "Profilinformation",
+ "Profile picture, full name, email, phone number, address, website, Twitter, organisation, role, headline, biography, and whether your profile is enabled" : "Profilbild, fullständigt namn, e-post, telefonnummer, adress, webbplats, Twitter, organisation, roll, rubrik, biografi och om din profil är aktiverad",
"Nextcloud settings" : "Nextcloud-inställningar",
- "Here you can decide which group can access certain sections of the administration settings." : "Här kan du bestämma vilken gruppen som har tillgång till vissa delar av administrationsinställningarna.",
+ "Here you can decide which group can access certain sections of the administration settings." : "Här kan du bestämma vilken grupp som har tillgång till vissa delar av administrationsinställningarna.",
"None" : "Ingen",
"Unable to modify setting" : "Kunde inte ändra inställning.",
"Two-Factor Authentication" : "Tvåfaktorsautentisering",
@@ -146,7 +170,6 @@
"View in store" : "Visa i butik",
"Visit website" : "Besök webbplats",
"Report a bug" : "Rapportera ett problem",
- "User documentation" : "Användardokumentation",
"Admin documentation" : "Administratörsdokumentation",
"Developer documentation" : "Utvecklardokumentation",
"This app is supported via your current Nextcloud subscription." : "Den här appen stöds via ditt nuvarande Nextcloud-abonnemang.",
@@ -154,17 +177,20 @@
"Featured apps are developed by and within the community. They offer central functionality and are ready for production use." : "Utvalda appar utvecklas av och inom gemenskapen. De erbjuder central funktionalitet och är redo för produktionsanvändning.",
"Featured" : "Utvalda",
"Update to {update}" : "Uppdatera till {update}",
+ "All apps are up-to-date." : "Alla appar är uppdaterade.",
"Results from other categories" : "Resultat från andra kategorier",
"No apps found for your version" : "Inga appar funna för din version",
"Disable all" : "Inaktivera alla",
"Enable all" : "Aktivera alla",
"_%n app has an update available_::_%n apps have an update available_" : ["%n app har en uppdatering tillgänglig","%n appar har en uppdatering tillgänglig"],
+ "_Update_::_Update all_" : ["Uppdatera","Uppdatera alla"],
"Marked for remote wipe" : "Markerad för fjärrensning",
"Device settings" : "Enhetsinställningar",
"Allow filesystem access" : "Tillåt åtkomst till filsystemet",
"Rename" : "Byt namn",
"Revoke" : "Återkalla",
"Wipe device" : "Rensa enhet",
+ "Revoking this token might prevent the wiping of your device if it has not started the wipe yet." : "Återkallning kan förhindra att enheten rensas om inte rensningen redan har startat.",
"Internet Explorer" : "Internet Explorer",
"Edge" : "Edge",
"Firefox" : "Firefox",
@@ -201,12 +227,27 @@
"Copied!" : "Kopierad!",
"Copy" : "Kopiera",
"Could not copy app password. Please copy it manually." : "Det gick inte att kopiera applösenordet. Kopiera det manuellt.",
+ "For the server to work properly, it's important to configure background jobs correctly. Cron is the recommended setting. Please see the documentation for more information." : "För att servern ska fungera korrekt är det viktigt att konfigurera bakgrundsjobb korrekt. Cron är den rekommenderade inställningen. Se dokumentationen för mer information.",
+ "Last job execution ran {time}. Something seems wrong." : "Senaste jobbexekveringen kördes {time}. Något verkar vara fel.",
+ "Last job ran {relativeTime}." : "Senaste jobbet kördes {relativeTime}.",
+ "Background job did not run yet!" : "Bakgrundsjobb har inte kört ännu!",
+ "AJAX" : "AJAX",
+ "Execute one task with each page loaded. Use case: Single user instance." : "Utför en uppgift med varje sidladdning. Användningsfall: instans med en användare.",
+ "Webcron" : "Webcron",
+ "cron.php is registered at a webcron service to call cron.php every 5 minutes over HTTP. Use case: Very small instance (1–5 users depending on the usage)." : "cron.php är registrerad på en webcron-tjänst för att anropa cron.php var 5:e minut över HTTP. Användningsfall: Mycket liten instans (1–5 användare beroende på användning).",
+ "Cron (Recommended)" : "Cron (Rekommenderad)",
"To run this you need the PHP POSIX extension. See {linkstart}PHP documentation{linkend} for more details." : "För att köra detta behöver du PHP POSIX-tillägget. Se {linkstart}PHP dokumentation{linkend} för mer detaljer.",
+ "Use system cron service to call the cron.php file every 5 minutes. Recommended for all instances." : "Använd systemets cron-tjänst för att anropa filen cron.php var 5:e minut. Rekommenderas för alla fall.",
+ "The cron.php needs to be executed by the system user \"{user}\"." : "cron.php måste köras av systemanvändaren \"{user}\".",
+ "Unable to update background job mode" : "Det gick inte att uppdatera bakgrundsjobbläget",
"Profile" : "Profil",
+ "Enable or disable profile by default for new users." : "Aktivera eller inaktivera profil som standard för nya användare.",
"Enable" : "Aktivera",
+ "Unable to update profile default setting" : "Det gick inte att uppdatera profilens standardinställning",
"Server-side encryption" : "Serverkryptering",
"Server-side encryption makes it possible to encrypt files which are uploaded to this server. This comes with limitations like a performance penalty, so enable this only if needed." : "Kryptering från servern möjliggör kryptering av filer som är uppladdade till servern. Detta innebär vissa begränsningar som prestandaförluster, så aktivera bara om det behövs.",
"Enable server-side encryption" : "Aktivera kryptering på server.",
+ "Please read carefully before activating server-side encryption:" : "Läs noga innan du aktiverar kryptering på serversidan:",
"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." : "När kryptering är aktiverat, så kommer alla filer som laddas upp till servern från den tidpunkt och framåt bli krypterad på servern. Det kommer bara vara möjligt att inaktivera kryptering vid ett senare tillfälle om krypteringsmodulen stödjer den funktionen och alla förvillkor (exempelvis använder återställningsnyckel) är mötta.",
"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." : "Enbart kryptering garanterar inte säkerhet i systemet. Se dokumentationen för ytterligare information om hur krypteringsappen fungerar, och de supporterade användarfallen.",
"Be aware that encryption always increases the file size." : "OBS! Observera att kryptering alltid ökar filstorleken",
@@ -214,15 +255,30 @@
"This is the final warning: Do you really want to enable encryption?" : "Detta är en slutgiltig varning: Vill du verkligen aktivera kryptering?",
"No encryption module loaded, please enable an encryption module in the app menu." : "Ingen krypteringsmodul inläst, aktivera krypteringsmodulen i applikationsmenyn.",
"Select default encryption module:" : "Välj krypteringsmodul:",
+ "You need to migrate your encryption keys from the old encryption (ownCloud <= 8.0) to the new one. Please enable the \"Default encryption module\" and run {command}" : "Du måste migrera dina krypteringsnycklar från den gamla krypteringen (ownCloud <= 8.0) till den nya. Aktivera \"Standard krypteringsmodule\" och kör {command}",
+ "Unable to update server side encryption config" : "Kunde inte uppdatera serversidans krypteringskonfiguration",
+ "Rename group" : "Byt namn på grupp",
"Remove group" : "Ta bort grupp",
"You are about to remove the group {group}. The users will NOT be deleted." : "Du håller på att ta bort gruppen {group}. Användarna kommer INTE att raderas.",
"Please confirm the group removal " : "Bekräfta borttagning av gruppen",
"Current password" : "Nuvarande lösenord",
"New password" : "Nytt lösenord",
"Change password" : "Ändra lösenord",
+ "Your profile picture" : "Din profilbild",
+ "Upload profile picture" : "Ladda upp profilbild",
+ "Choose profile picture from files" : "Välj profilbild från filer",
+ "Remove profile picture" : "Ta bort profilbild",
"png or jpg, max. 20 MB" : "png eller jpg, max 20 MB",
"Picture provided by original account" : "Bild gjordes tillgänglig av orginalkonto",
"Cancel" : "Avbryt",
+ "Set as profile picture" : "Ställ in som profilbild",
+ "Please note that it can take up to 24 hours for your profile picture to be updated everywhere." : "Observera att det kan ta upp till 24 timmar för din profilbild att uppdateras överallt.",
+ "Choose your profile picture" : "Välj din profilbild",
+ "Please select a valid png or jpg file" : "Välj en giltig png- eller jpg-fil",
+ "Error setting profile picture" : "Fel vid inställning av profilbild",
+ "Error cropping profile picture" : "Det gick inte att beskära profilbilden",
+ "Error saving profile picture" : "Det gick inte att spara profilbilden",
+ "Error removing profile picture" : "Det gick inte att ta bort profilbilden",
"Your biography" : "Din biografi",
"Details" : "Detaljer",
"You are a member of the following groups:" : "Du är medlem i följande grupper:",
@@ -252,16 +308,26 @@
"No language set" : "Inget språk angivet",
"Locale" : "Plats",
"Week starts on {firstDayOfWeek}" : "Veckan börjar med {firstDayOfWeek}",
+ "Unable to update locale" : "Det gick inte att uppdatera språk",
+ "No locale set" : "Inget språk angivet",
+ "Your location" : "Din plats",
"Your organisation" : "Din organisation",
"Your phone number" : "Ditt telefonnummer",
"Edit your Profile visibility" : "Ändra synligheten för din profil",
"Enable Profile" : "Aktivera profil",
"Unable to update profile enabled state" : "Kunde inte uppdatera profilaktivering",
+ "The more restrictive setting of either visibility or scope is respected on your Profile. For example, if visibility is set to \"Show to everyone\" and scope is set to \"Private\", \"Private\" is respected." : "Den mer restriktiva inställningen av antingen synlighet eller omfattning respekteras på din profil. Till exempel, om synlighet är inställd på \"Visa för alla\" och omfattningen är inställd på \"Privat\", respekteras \"Privat\".",
"{displayId}" : "{displayId}",
"Unable to update visibility of {displayId}" : "Kunde inte uppdatera synlighet för {displayId}",
"Your role" : "Din roll",
"Your Twitter handle" : "Ditt Twitterkonto",
"Your website" : "Din webbsida",
+ "No {property} set" : "Ingen {property} inställd",
+ "Unable to update {property}" : "Det gick inte att uppdatera {property}",
+ "Change scope level of {property}, current scope is {scope}" : "Ändra omfattningsnivå för {property}, nuvarande omfattning är {scope}",
+ "Unable to update federation scope of the primary {property}" : "Det gick inte att uppdatera federationsomfånget för den primära {property}",
+ "Unable to update federation scope of additional {property}" : "Det gick inte att uppdatera federationens omfattning för ytterligare {property}",
+ "Add additional email" : "Lägg till ytterligare e-post",
"Add" : "Lägg till",
"You do not have permissions to see the details of this user" : "Du har inte behörighet att se detaljerna för den här användaren",
"Add new password" : "Lägg till nytt lösenord",
@@ -314,11 +380,6 @@
"The following devices are configured for your account:" : "Följande enheter är konfigurerade för ditt konto:",
"Your browser does not support WebAuthn." : "Din webbläsare stödjer inte WebAuthn.",
"Your apps" : "Dina appar",
- "Active apps" : "Aktiva appar",
- "Disabled apps" : "Inaktiverade appar",
- "Updates" : "Uppdateringar",
- "App bundles" : "App-paket",
- "Featured apps" : "Utvalda appar",
"{license}-licensed" : "{license}-licensierad",
"Changelog" : "Ändringslogg",
"by {author}\n{license}" : "av {author}\n{license}",
@@ -347,10 +408,17 @@
"Phone number" : "Telefonnummer",
"Role" : "Roll",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (t.ex. Mastodon)",
"Website" : "Webbplats",
"Profile visibility" : "Profilsynlighet",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Inte tillgänglig då denna inställning krävs för essentiell funktionalitet såsom fildelning och kalenderinbjudningar",
+ "Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Ej tillgängligt eftersom federation har inaktiverats för ditt konto, kontakta din systemadministratör om du har några frågor",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Inte tillgänglig då publicering av användarspecifik data till lookup-servern inte är tillåten, kontakta din systemadministratör ifall du har frågor",
+ "Active apps" : "Aktiva appar",
+ "Disabled apps" : "Inaktiverade appar",
+ "Updates" : "Uppdateringar",
+ "App bundles" : "App-paket",
+ "Featured apps" : "Utvalda appar",
"Show to everyone" : "Visa för alla",
"Show to logged in users only" : "Visa endast för inloggade användare",
"Hide" : "Dölj",
@@ -359,9 +427,9 @@
"The app will be downloaded from the App Store" : "Appen kommer hämtas från appbutiken",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Den här appen är inte markerad som kompatibel med din Nextcloud-version. Om du fortsätter kan du fortfarande installera appen. Observera att appen kanske inte fungerar som förväntat.",
"Never" : "Aldrig",
+ "An error occurred during the request. Unable to proceed." : "Ett fel uppstod under begäran. Det gick inte att fortsätta.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Appen har aktiverats men måste uppdateras. Du kommer att omdirigeras till uppdateringssidan om 5 sekunder.",
"Error: This app cannot be enabled because it makes the server unstable" : "Fel: Denna appen kan inte aktiveras eftersom den gör servern instabil",
- "Administrator documentation" : "Administratörsdokumentation",
"Documentation" : "Dokumentation",
"Forum" : "Forum",
"Login" : "Logga in",
@@ -383,6 +451,7 @@
"SMTP Username" : "SMTP-användarnamn",
"SMTP Password" : "SMTP-lösenord",
"Save" : "Spara",
+ "Test and verify email settings" : "Testa och verifiera e-postinställningar",
"Send email" : "Skicka e-post",
"It's important for the security and performance of your instance that everything is configured correctly. To help you with that we are doing some automatic checks. Please see the linked documentation for more information." : "Det är viktigt för säkerhet och prestanda av din instans att allt är korrekt konfigurerat. För att hjälpa dig med det gör vi några automatiska kontroller. Se den länkade dokumentationen för mer information.",
"All checks passed." : "Alla kontroller lyckades!",
@@ -404,6 +473,7 @@
"Allow public uploads" : "Tillåt offentlig uppladdning",
"Always ask for a password" : "Fråga alltid efter lösenord",
"Enforce password protection" : "Tillämpa lösenordskydd",
+ "Exclude groups from password requirements:" : "Exkludera grupper från lösenordskrav: ",
"Set default expiration date" : "Ställ in standardutgångsdatum",
"Exclude groups from creating link shares:" : "Exkludera grupper från att skapa länkdelningar:",
"Allow resharing" : "Tillåt vidaredelning",
@@ -415,6 +485,7 @@
"Allow username autocompletion to users within the same groups" : "Tillåt autokomplettering av användarnamn till användare inom samma grupper",
"Allow username autocompletion to users based on phone number integration" : "Tillåt autokomplettering av användarnamn till användare baserad på telefonnummerintegration",
"If autocompletion \"same group\" and \"phone number integration\" are enabled a match in either is enough to show the user." : "Om komplettering för \"samma grupp\" och \"telefonnummerintegration\" är aktiverade räcker det med en matchning i en av dem för att visa användaren.",
+ "Allow autocompletion when entering the full name or email address (ignoring missing phonebook match and being in the same group)" : "Tillåt autokomplettering när du anger hela namnet eller e-postadressen (ignorera saknad telefonboksmatchning och att vara i samma grupp)",
"Show disclaimer text on the public link upload page (only shown when the file list is hidden)" : "Visa friskrivningstext på offentliga uppladdningssidan (visas endast när fil-listan är gömd)",
"This text will be shown on the public link upload page when the file list is hidden." : "Denna text kommer att visa på den offentliga uppladdnings-sidan när fil-listan är gömd.",
"Default share permissions" : "Standardrättigheter för delning",
@@ -438,6 +509,7 @@
"Couldn't update app." : "Kunde inte uppdatera appen.",
"Backend doesn't support password change, but the user's encryption key was updated." : "Backend stödjer inte att lösenord ändras men användarens krypteringsnyckel uppdaterades.",
"Could not determine if TLS version of cURL is outdated or not because an error happened during the HTTPS request against https://nextcloud.com. Please check the nextcloud log file for more details." : "Kunde inte bestämma om TLS-versionen av cURL är för gammal eller inte för ett fel uppstod under HTTPS-förfrågan mot https://nextcloud.com. Vänligen kontrollera nextcloud loggfilen för fler detaljer.",
+ "The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Det maximala antalet OPcache-nycklar har nästan överskridits. För att säkerställa att alla skript kan hållas i cache, rekommenderas det att tillämpa <code>opcache.max_accelerated_files</code> i din PHP-konfiguration med ett värde högre än <code>%s</code>.",
"Admin privileges" : "Adminprivilegier",
"Revoking this token might prevent the wiping of your device if it hasn't started the wipe yet." : "Återkallning kan förhindra att enheten rensas om inte rensningen redan har startat.",
"Unable to update biography" : "Kunde inte uppdatera biografi",
@@ -446,6 +518,9 @@
"Unable to update headline" : "Kunde inte uppdatera rubrik",
"Unable to update organisation" : "Kunde inte uppdatera organisation",
"Unable to update role" : "Kunde inte uppdatera roll",
+ "Change scope level of {accountProperty}" : "Ändra omfattningsnivå för {accountProperty}",
+ "Unable to update federation scope of the primary {accountProperty}" : "Det gick inte att uppdatera federationsomfånget för primära {accountProperty}",
+ "Unable to update federation scope of additional {accountProperty}" : "Det gick inte att uppdatera federationens omfattning för ytterligare {accountProperty}",
"Address" : "Ort/Stad",
"Avatar" : "Avatar",
"An error occured during the request. Unable to proceed." : "Ett fel uppstod under förfrågan. Kan inte fortsätta.",
@@ -459,6 +534,7 @@
"Some jobs didn’t execute since %s. Please consider switching to system cron." : "Vissa jobb utfördes inte sedan %s. Överväg att byta till system cron.",
"Last job ran %s." : "Senaste jobbet kördes %s.",
"Background job didn’t run yet!" : "Bakgrundsjobb har inte kört ännu!",
+ "For the server to work properly, it's important to configure background jobs correctly. \"Cron\" is the recommended setting. Please see the documentation for more information." : "För att servern ska fungera korrekt är det viktigt att konfigurera bakgrundsjobb korrekt. \"Cron\" är den rekommenderade inställningen. Se dokumentationen för mer information.",
"Pick background job setting" : "Välj inställning för bakgrundsjobb",
"Recommended" : "Rekomenderad",
"The cron.php needs to be executed by the system user \"%s\"." : "Cron.php behöver exekveras av systemanvändaren \"%s\".",
@@ -467,6 +543,7 @@
"Upload new" : "Ladda upp ny",
"Select from Files" : "Välj från Filer",
"Remove image" : "Ta bort bild",
+ "Please note that it can take up to 24 hours for the avatar to get updated everywhere." : "Observera att det kan ta upp till 24 timmar för avataren att uppdateras överallt.",
"Choose as profile picture" : "Välj som profilbild",
"You are using <strong>%s</strong>" : "Du använder <strong>%s</strong>",
"You are using <strong>%1$s</strong> of <strong>%2$s</strong> (<strong>%3$s %%</strong>)" : "Du använder <strong>%1$s</strong> av <strong>%2$s</strong> (<strong>%3$s %%</strong>)",
diff --git a/apps/settings/l10n/th.js b/apps/settings/l10n/th.js
index 875cd8c21d8..41e5300b1c4 100644
--- a/apps/settings/l10n/th.js
+++ b/apps/settings/l10n/th.js
@@ -49,6 +49,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "รหัสผ่านกู้คืนของผู้ดูแลระบบไม่ถูกต้อง กรุณาตรวจสอบรหัสผ่านและลองอีกครั้ง",
"Federated Cloud Sharing" : "แชร์กับสหพันธ์คลาวด์",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL กำลังใช้ %1$s รุ่นเก่า (%2$s) โปรดอัปเดตระบบปฏิบัติการ ไม่เช่นนั้นคุณสมบัติเช่น %3$s จะไม่สามารถทำงานอย่างมีประสิทธิภาพ",
+ "Administrator documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ",
+ "User documentation" : "เอกสารประกอบสำหรับผู้ใช้",
"Email setting test" : "ทดสอบการตั้งค่าอีเมล",
"Well done, %s!" : "เยี่ยมยอด คุณ %s!",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "เกิดปัญหาขณะส่งอีเมล กรุณาแก้ไขการตั้งค่าของคุณ (ข้อผิดพลาด: %s)",
@@ -88,7 +90,6 @@ OC.L10N.register(
"View in store" : "ดูในร้านค้า",
"Visit website" : "เข้าสู่เว็บไซต์",
"Report a bug" : "รายงานข้อผิดพลาด",
- "User documentation" : "เอกสารประกอบสำหรับผู้ใช้",
"Admin documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ",
"Developer documentation" : "เอกสารประกอบสำหรับนักพัฒนา",
"This app is supported via your current Nextcloud subscription." : "แอปนี้รองรับผ่านการเป็นสมาชิก Nextcloud ปัจจุบันของคุณ",
@@ -224,11 +225,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "อุปกรณ์เหล่านี้มีการกำหนดค่าสำหรับบัญชีของคุณแล้ว:",
"Your browser does not support WebAuthn." : "เบราว์เซอร์ของคุณไม่รองรับ WebAuthn",
"Your apps" : "แอปของคุณ",
- "Active apps" : "แอปที่เปิดใช้งานอยู่",
- "Disabled apps" : "แอปที่ปิดใช้งาน",
- "Updates" : "อัปเดต",
- "App bundles" : "ชุดรวมแอป",
- "Featured apps" : "แอปแนะนำ",
"{license}-licensed" : "สัญญาอนุญาต {license}",
"Changelog" : "บันทึกการเปลี่ยนแปลง",
"by {author}\n{license}" : "โดย {author}\n{license}",
@@ -254,6 +250,11 @@ OC.L10N.register(
"Phone number" : "หมายเลขโทรศัพท์",
"Twitter" : "ทวิตเตอร์",
"Website" : "เว็บไซต์",
+ "Active apps" : "แอปที่เปิดใช้งานอยู่",
+ "Disabled apps" : "แอปที่ปิดใช้งาน",
+ "Updates" : "อัปเดต",
+ "App bundles" : "ชุดรวมแอป",
+ "Featured apps" : "แอปแนะนำ",
"Hide" : "ซ๋อน",
"Download and enable" : "ดาวน์โหลดและเปิดใช้งาน",
"Enable untested app" : "เปิดใช้งานแอปที่ไม่ได้ทดสอบ",
@@ -262,7 +263,6 @@ OC.L10N.register(
"Never" : "ไม่เคย",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "แอปเปิดใช้งานแล้ว แต่ต้องทำการอัปเดต คุณจะถูกนำไปยังหน้าอัปเดตใน 5 วินาที",
"Error: This app cannot be enabled because it makes the server unstable" : "ข้อผิดพลาด: ไม่สามารถเปิดใช้งานแอปนี้เพราะทำให้เซิร์ฟเวอร์ไม่เสถียร",
- "Administrator documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ",
"Documentation" : "เอกสารประกอบ",
"Forum" : "ฟอรัม",
"Login" : "เข้าสู่ระบบ",
diff --git a/apps/settings/l10n/th.json b/apps/settings/l10n/th.json
index 622a4f12b58..62ad16aaea8 100644
--- a/apps/settings/l10n/th.json
+++ b/apps/settings/l10n/th.json
@@ -47,6 +47,8 @@
"Wrong admin recovery password. Please check the password and try again." : "รหัสผ่านกู้คืนของผู้ดูแลระบบไม่ถูกต้อง กรุณาตรวจสอบรหัสผ่านและลองอีกครั้ง",
"Federated Cloud Sharing" : "แชร์กับสหพันธ์คลาวด์",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL กำลังใช้ %1$s รุ่นเก่า (%2$s) โปรดอัปเดตระบบปฏิบัติการ ไม่เช่นนั้นคุณสมบัติเช่น %3$s จะไม่สามารถทำงานอย่างมีประสิทธิภาพ",
+ "Administrator documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ",
+ "User documentation" : "เอกสารประกอบสำหรับผู้ใช้",
"Email setting test" : "ทดสอบการตั้งค่าอีเมล",
"Well done, %s!" : "เยี่ยมยอด คุณ %s!",
"A problem occurred while sending the email. Please revise your settings. (Error: %s)" : "เกิดปัญหาขณะส่งอีเมล กรุณาแก้ไขการตั้งค่าของคุณ (ข้อผิดพลาด: %s)",
@@ -86,7 +88,6 @@
"View in store" : "ดูในร้านค้า",
"Visit website" : "เข้าสู่เว็บไซต์",
"Report a bug" : "รายงานข้อผิดพลาด",
- "User documentation" : "เอกสารประกอบสำหรับผู้ใช้",
"Admin documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ",
"Developer documentation" : "เอกสารประกอบสำหรับนักพัฒนา",
"This app is supported via your current Nextcloud subscription." : "แอปนี้รองรับผ่านการเป็นสมาชิก Nextcloud ปัจจุบันของคุณ",
@@ -222,11 +223,6 @@
"The following devices are configured for your account:" : "อุปกรณ์เหล่านี้มีการกำหนดค่าสำหรับบัญชีของคุณแล้ว:",
"Your browser does not support WebAuthn." : "เบราว์เซอร์ของคุณไม่รองรับ WebAuthn",
"Your apps" : "แอปของคุณ",
- "Active apps" : "แอปที่เปิดใช้งานอยู่",
- "Disabled apps" : "แอปที่ปิดใช้งาน",
- "Updates" : "อัปเดต",
- "App bundles" : "ชุดรวมแอป",
- "Featured apps" : "แอปแนะนำ",
"{license}-licensed" : "สัญญาอนุญาต {license}",
"Changelog" : "บันทึกการเปลี่ยนแปลง",
"by {author}\n{license}" : "โดย {author}\n{license}",
@@ -252,6 +248,11 @@
"Phone number" : "หมายเลขโทรศัพท์",
"Twitter" : "ทวิตเตอร์",
"Website" : "เว็บไซต์",
+ "Active apps" : "แอปที่เปิดใช้งานอยู่",
+ "Disabled apps" : "แอปที่ปิดใช้งาน",
+ "Updates" : "อัปเดต",
+ "App bundles" : "ชุดรวมแอป",
+ "Featured apps" : "แอปแนะนำ",
"Hide" : "ซ๋อน",
"Download and enable" : "ดาวน์โหลดและเปิดใช้งาน",
"Enable untested app" : "เปิดใช้งานแอปที่ไม่ได้ทดสอบ",
@@ -260,7 +261,6 @@
"Never" : "ไม่เคย",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "แอปเปิดใช้งานแล้ว แต่ต้องทำการอัปเดต คุณจะถูกนำไปยังหน้าอัปเดตใน 5 วินาที",
"Error: This app cannot be enabled because it makes the server unstable" : "ข้อผิดพลาด: ไม่สามารถเปิดใช้งานแอปนี้เพราะทำให้เซิร์ฟเวอร์ไม่เสถียร",
- "Administrator documentation" : "เอกสารประกอบสำหรับผู้ดูแลระบบ",
"Documentation" : "เอกสารประกอบ",
"Forum" : "ฟอรัม",
"Login" : "เข้าสู่ระบบ",
diff --git a/apps/settings/l10n/tr.js b/apps/settings/l10n/tr.js
index e3bf0b81791..ba0db2acd80 100644
--- a/apps/settings/l10n/tr.js
+++ b/apps/settings/l10n/tr.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.max_accelerated_files</code> uygulamanız önerilir.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache ara belleği neredeyse dolu. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.memory_consumption</code> uygulamanız önerilir.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache interned dizge ara belleği neredeyse dolu. Yinelenen dizgelerin etkin bir şekilde ön belleğe alınabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.interned_strings_buffer</code> uygulamanız önerilir.",
+ "Administrator documentation" : "Yönetici belgeleri",
+ "User documentation" : "Kullanıcı belgeleri",
"Invalid SMTP password." : "SMTP parolası geçersiz.",
"Email setting test" : "E-posta ayarları sınaması",
"Well done, %s!" : "Tamamdır %s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Mağazada görüntüle",
"Visit website" : "Web sayfasına bakın",
"Report a bug" : "Hata bildirin",
- "User documentation" : "Kullanıcı belgeleri",
"Admin documentation" : "Yönetici belgeleri",
"Developer documentation" : "Geliştirici belgeleri",
"This app is supported via your current Nextcloud subscription." : "Bu uygulamanın desteği geçerli Nextcloud aboneliğiniz ile sağlanır.",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "Ek e-posta adresi silinemedi",
"No email address set" : "E-posta adresi belirtilmemiş",
"Additional emails" : "Ek e-posta adresleri",
+ "Your handle" : "Kodunuz",
"Your headline" : "Başlığınız",
"Language" : "Dil",
"Help translate" : "Çeviriye yardım edin",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Hesabınız için şu aygıtlar yapılandırılmış:",
"Your browser does not support WebAuthn." : "Web tarayıcınız WebAuthn desteklemiyor.",
"Your apps" : "Uygulamalarınız",
- "Active apps" : "Etkin uygulamalar",
- "Disabled apps" : "Devre dışı uygulamalar",
- "Updates" : "Güncellemeler",
- "App bundles" : "Uygulama Paketleri",
- "Featured apps" : "Öne çıkarılmış uygulamalar",
"{license}-licensed" : "{license}-lisanslı",
"Changelog" : "Değişiklik günlüğü",
"by {author}\n{license}" : "{author} tarafından\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "Telefon numarası",
"Role" : "Pozisyon",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (Mastodon gibi)",
"Website" : "Web sitesi",
"Profile visibility" : "Profil görünürlüğü",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Bu özellik, dosya paylaşımı ve takvim çağrıları gibi temel işlevler için gerekli olduğundan kullanılamıyor",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Hesabınızda birleşik kullanım devre dışı bırakılmış olduğundan kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Kullanıcıya özel verilerin arama sunucusunda yayınlanmasına izin verilmediğinden kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.",
+ "Active apps" : "Etkin uygulamalar",
+ "Disabled apps" : "Devre dışı uygulamalar",
+ "Updates" : "Güncellemeler",
+ "App bundles" : "Uygulama Paketleri",
+ "Featured apps" : "Öne çıkarılmış uygulamalar",
"Show to everyone" : "Herkese görüntülensin",
"Show to logged in users only" : "Yalnızca oturum açmış kullanıcılara görüntülensin",
"Hide" : "Gizlensin",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "İstek sırasında bir sorun çıktı. İşlem sürdürülemiyor.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Uygulama etkinleştirilmiş fakat güncellenmesi gerekiyor. 5 saniye içinde güncelleme sayfasına yönlendirileceksiniz.",
"Error: This app cannot be enabled because it makes the server unstable" : "Hata: Bu uygulama sunucuda kararsızlığa yol açtığından etkinleştirilemez",
- "Administrator documentation" : "Yönetici belgeleri",
"Documentation" : "Belgeler",
"Forum" : "Forum",
"Login" : "Oturum açın",
diff --git a/apps/settings/l10n/tr.json b/apps/settings/l10n/tr.json
index f89e3021a01..689bf46fea3 100644
--- a/apps/settings/l10n/tr.json
+++ b/apps/settings/l10n/tr.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "En fazla OPcache anahtar sayısına neredeyse erişildi. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.max_accelerated_files</code> uygulamanız önerilir.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache ara belleği neredeyse dolu. Tüm betik dosyalarının ön bellekte tutulabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.memory_consumption</code> uygulamanız önerilir.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache interned dizge ara belleği neredeyse dolu. Yinelenen dizgelerin etkin bir şekilde ön belleğe alınabilmesini sağlamak için, PHP yapılandırmanıza <code>%s</code> üzerinde bir değerle <code>opcache.interned_strings_buffer</code> uygulamanız önerilir.",
+ "Administrator documentation" : "Yönetici belgeleri",
+ "User documentation" : "Kullanıcı belgeleri",
"Invalid SMTP password." : "SMTP parolası geçersiz.",
"Email setting test" : "E-posta ayarları sınaması",
"Well done, %s!" : "Tamamdır %s!",
@@ -168,7 +170,6 @@
"View in store" : "Mağazada görüntüle",
"Visit website" : "Web sayfasına bakın",
"Report a bug" : "Hata bildirin",
- "User documentation" : "Kullanıcı belgeleri",
"Admin documentation" : "Yönetici belgeleri",
"Developer documentation" : "Geliştirici belgeleri",
"This app is supported via your current Nextcloud subscription." : "Bu uygulamanın desteği geçerli Nextcloud aboneliğiniz ile sağlanır.",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "Ek e-posta adresi silinemedi",
"No email address set" : "E-posta adresi belirtilmemiş",
"Additional emails" : "Ek e-posta adresleri",
+ "Your handle" : "Kodunuz",
"Your headline" : "Başlığınız",
"Language" : "Dil",
"Help translate" : "Çeviriye yardım edin",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "Hesabınız için şu aygıtlar yapılandırılmış:",
"Your browser does not support WebAuthn." : "Web tarayıcınız WebAuthn desteklemiyor.",
"Your apps" : "Uygulamalarınız",
- "Active apps" : "Etkin uygulamalar",
- "Disabled apps" : "Devre dışı uygulamalar",
- "Updates" : "Güncellemeler",
- "App bundles" : "Uygulama Paketleri",
- "Featured apps" : "Öne çıkarılmış uygulamalar",
"{license}-licensed" : "{license}-lisanslı",
"Changelog" : "Değişiklik günlüğü",
"by {author}\n{license}" : "{author} tarafından\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "Telefon numarası",
"Role" : "Pozisyon",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse (Mastodon gibi)",
"Website" : "Web sitesi",
"Profile visibility" : "Profil görünürlüğü",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Bu özellik, dosya paylaşımı ve takvim çağrıları gibi temel işlevler için gerekli olduğundan kullanılamıyor",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "Hesabınızda birleşik kullanım devre dışı bırakılmış olduğundan kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Kullanıcıya özel verilerin arama sunucusunda yayınlanmasına izin verilmediğinden kullanılamıyor. Herhangi bir sorunuz varsa sistem yöneticinizle görüşün.",
+ "Active apps" : "Etkin uygulamalar",
+ "Disabled apps" : "Devre dışı uygulamalar",
+ "Updates" : "Güncellemeler",
+ "App bundles" : "Uygulama Paketleri",
+ "Featured apps" : "Öne çıkarılmış uygulamalar",
"Show to everyone" : "Herkese görüntülensin",
"Show to logged in users only" : "Yalnızca oturum açmış kullanıcılara görüntülensin",
"Hide" : "Gizlensin",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "İstek sırasında bir sorun çıktı. İşlem sürdürülemiyor.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Uygulama etkinleştirilmiş fakat güncellenmesi gerekiyor. 5 saniye içinde güncelleme sayfasına yönlendirileceksiniz.",
"Error: This app cannot be enabled because it makes the server unstable" : "Hata: Bu uygulama sunucuda kararsızlığa yol açtığından etkinleştirilemez",
- "Administrator documentation" : "Yönetici belgeleri",
"Documentation" : "Belgeler",
"Forum" : "Forum",
"Login" : "Oturum açın",
diff --git a/apps/settings/l10n/uk.js b/apps/settings/l10n/uk.js
index e0a9c8bc9d7..804e0f4ea8f 100644
--- a/apps/settings/l10n/uk.js
+++ b/apps/settings/l10n/uk.js
@@ -49,7 +49,7 @@ OC.L10N.register(
"A login attempt using two-factor authentication failed (%1$s)" : "Помилка спроби входу в систему з використанням двофакторної автентифікації (%1$s)",
"Remote wipe was started on %1$s" : "Розпочато віддалене стирання на %1$s",
"Remote wipe has finished on %1$s" : "Віддалене стирання на %1$s завершено",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "Ваш <strong>пароль</strong> чи <strong>електронна пошта</strong> були змінені",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Ваш <strong>пароль</strong> чи <strong>електронна пошта</strong> було змінено",
"Could not remove app." : "Не вдалося вилучити застосунок.",
"Could not update app." : "Не вдалося оновити програму.",
"Wrong password" : "Неправильний пароль",
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Майже перевищено максимальну кількість ключів OPcache. Щоб переконатися, що всі сценарії можна зберігати в кеші, рекомендується застосувати <code>opcache.max_accelerated_files</code> до вашої конфігурації PHP зі значенням, вищим за <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер OPcache майже заповнений. Щоб переконатися, що всі сценарії можна зберігати в кеші, рекомендується застосувати <code>opcache.memory_consumption</code> до вашої конфігурації PHP зі значенням, вищим за <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Вбудований буфер рядків OPcache майже заповнений. Щоб забезпечити ефективне кешування рядків, що повторюються, рекомендується застосувати <code>opcache.interned_strings_buffer</code> до вашої конфігурації PHP із значенням, вищим за <code>%s</code>.",
+ "Administrator documentation" : "Документація адміністратора",
+ "User documentation" : "Користувацька документація",
"Invalid SMTP password." : "Недійсний пароль SMTP.",
"Email setting test" : "Тестування параметрів електронної пошти",
"Well done, %s!" : "Молодець, %s!",
@@ -116,14 +118,14 @@ OC.L10N.register(
"Personal" : "Особисте",
"Administration" : "Адміністрування",
"Additional settings" : "Додаткові налаштування",
- "Administration privileges" : "Привілеї адміністратора",
+ "Administration privileges" : "Права адміністратора",
"Groupware" : "Робочі групи",
"Overview" : "Огляд",
"Basic settings" : "Основні налаштування",
"Sharing" : "Спільний доступ",
"Availability" : "Доступність",
"Calendar" : "Календар",
- "Personal info" : "Особиста інформація",
+ "Personal info" : "Про мене",
"Mobile & desktop" : "Застосунки для пристроїв",
"Email server" : "Сервер електронної пошти",
"Security & setup warnings" : "Перевірка безпеки та встановлення системи",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "Переглянути у крамниці застосунків",
"Visit website" : "Перейти на вебсайт",
"Report a bug" : "Повідомити про помилку",
- "User documentation" : "Користувацька документація",
"Admin documentation" : "Документація адміністратора",
"Developer documentation" : "Документація з розробки",
"This app is supported via your current Nextcloud subscription." : "Підтримка застосунку через вашу поточну передплату Nextcloud.",
@@ -381,14 +382,9 @@ OC.L10N.register(
"The following devices are configured for your account:" : "Для вашого облікового запису налаштовано такі пристрої:",
"Your browser does not support WebAuthn." : "Ваш браузер не підтримує WebAuthn.",
"Your apps" : "Ваші застосунки",
- "Active apps" : "Активні застосунки",
- "Disabled apps" : "Неактивні застосунки",
- "Updates" : "Оновлення",
- "App bundles" : "Набори застосунків",
- "Featured apps" : "Функціональні застосунки",
"{license}-licensed" : "Ліцензія: {license}",
"Changelog" : "Зміни",
- "by {author}\n{license}" : "автор: {author} {ліцензія}",
+ "by {author}\n{license}" : "Автор: {author}\n{license}",
"Enter group name" : "Зазначте назву групи",
"Add group" : "Додати групу",
"Active users" : "Активні користувачі",
@@ -418,10 +414,15 @@ OC.L10N.register(
"Profile visibility" : "Видимість профілю",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Недоступно, оскільки ця властивість необхідна для основних функцій, включаючи спільний доступ до файлів і запрошення в календарі",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Недоступно, оскільки публікація даних користувача на пошуковому сервері заборонена. Зверніться до системного адміністратора, якщо у вас виникнуть запитання",
+ "Active apps" : "Активні застосунки",
+ "Disabled apps" : "Неактивні застосунки",
+ "Updates" : "Оновлення",
+ "App bundles" : "Набори застосунків",
+ "Featured apps" : "Функціональні застосунки",
"Show to everyone" : "Показувати всім",
"Show to logged in users only" : "Показувати лише авторизованим користувачам",
"Hide" : "Сховати",
- "Download and enable" : "Завантажити та увімкнути",
+ "Download and enable" : "Звантажити та увімкнути",
"Enable untested app" : "Увімкнути непротестований застосунок",
"The app will be downloaded from the App Store" : "Застосунок буде завантажено з App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Відсутня інформація щодо підтримки цього застосунку вашою версією Nextcloud. Ви зможете встановити цей застосунок, проте він може працювати не так, як ви очікуєте.",
@@ -429,7 +430,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "Під час запиту сталася помилка. Неможливо продовжити.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Застосунок активовано, але його потрібно оновити. Вас буде переспрямовано на сторінку оновлення через 5 секунд.",
"Error: This app cannot be enabled because it makes the server unstable" : "Помилка: цю програму неможливо ввімкнути, оскільки вона робить сервер нестабільним",
- "Administrator documentation" : "Документація адміністратора",
"Documentation" : "Документація",
"Forum" : "Форум",
"Login" : "Логін",
@@ -464,7 +464,7 @@ OC.L10N.register(
"You need to enable the File sharing App." : "Потрібно увімкнути застосунок для обміну файлами.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Як адміністратор ви можете точно налаштувати поведінку спільного використання. Будь ласка, перегляньте документацію для отримання додаткової інформації.",
"Allow apps to use the Share API" : "Дозволити застосункам використовувати API спільного доступу",
- "Set default expiration date for shares" : "Установіть термін дії акцій за умовчанням",
+ "Set default expiration date for shares" : "Установіть типовий термін дії для спільних ресурсів",
"Expire after" : "Термін дії закінчується після",
"day(s)" : "день (дні)",
"Enforce expiration date" : "Термін дії обов'язковий",
diff --git a/apps/settings/l10n/uk.json b/apps/settings/l10n/uk.json
index 34587a8ac48..2096fa8929c 100644
--- a/apps/settings/l10n/uk.json
+++ b/apps/settings/l10n/uk.json
@@ -47,7 +47,7 @@
"A login attempt using two-factor authentication failed (%1$s)" : "Помилка спроби входу в систему з використанням двофакторної автентифікації (%1$s)",
"Remote wipe was started on %1$s" : "Розпочато віддалене стирання на %1$s",
"Remote wipe has finished on %1$s" : "Віддалене стирання на %1$s завершено",
- "Your <strong>password</strong> or <strong>email</strong> was modified" : "Ваш <strong>пароль</strong> чи <strong>електронна пошта</strong> були змінені",
+ "Your <strong>password</strong> or <strong>email</strong> was modified" : "Ваш <strong>пароль</strong> чи <strong>електронна пошта</strong> було змінено",
"Could not remove app." : "Не вдалося вилучити застосунок.",
"Could not update app." : "Не вдалося оновити програму.",
"Wrong password" : "Неправильний пароль",
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "Майже перевищено максимальну кількість ключів OPcache. Щоб переконатися, що всі сценарії можна зберігати в кеші, рекомендується застосувати <code>opcache.max_accelerated_files</code> до вашої конфігурації PHP зі значенням, вищим за <code>%s</code>.",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "Буфер OPcache майже заповнений. Щоб переконатися, що всі сценарії можна зберігати в кеші, рекомендується застосувати <code>opcache.memory_consumption</code> до вашої конфігурації PHP зі значенням, вищим за <code>%s</code>.",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "Вбудований буфер рядків OPcache майже заповнений. Щоб забезпечити ефективне кешування рядків, що повторюються, рекомендується застосувати <code>opcache.interned_strings_buffer</code> до вашої конфігурації PHP із значенням, вищим за <code>%s</code>.",
+ "Administrator documentation" : "Документація адміністратора",
+ "User documentation" : "Користувацька документація",
"Invalid SMTP password." : "Недійсний пароль SMTP.",
"Email setting test" : "Тестування параметрів електронної пошти",
"Well done, %s!" : "Молодець, %s!",
@@ -114,14 +116,14 @@
"Personal" : "Особисте",
"Administration" : "Адміністрування",
"Additional settings" : "Додаткові налаштування",
- "Administration privileges" : "Привілеї адміністратора",
+ "Administration privileges" : "Права адміністратора",
"Groupware" : "Робочі групи",
"Overview" : "Огляд",
"Basic settings" : "Основні налаштування",
"Sharing" : "Спільний доступ",
"Availability" : "Доступність",
"Calendar" : "Календар",
- "Personal info" : "Особиста інформація",
+ "Personal info" : "Про мене",
"Mobile & desktop" : "Застосунки для пристроїв",
"Email server" : "Сервер електронної пошти",
"Security & setup warnings" : "Перевірка безпеки та встановлення системи",
@@ -168,7 +170,6 @@
"View in store" : "Переглянути у крамниці застосунків",
"Visit website" : "Перейти на вебсайт",
"Report a bug" : "Повідомити про помилку",
- "User documentation" : "Користувацька документація",
"Admin documentation" : "Документація адміністратора",
"Developer documentation" : "Документація з розробки",
"This app is supported via your current Nextcloud subscription." : "Підтримка застосунку через вашу поточну передплату Nextcloud.",
@@ -379,14 +380,9 @@
"The following devices are configured for your account:" : "Для вашого облікового запису налаштовано такі пристрої:",
"Your browser does not support WebAuthn." : "Ваш браузер не підтримує WebAuthn.",
"Your apps" : "Ваші застосунки",
- "Active apps" : "Активні застосунки",
- "Disabled apps" : "Неактивні застосунки",
- "Updates" : "Оновлення",
- "App bundles" : "Набори застосунків",
- "Featured apps" : "Функціональні застосунки",
"{license}-licensed" : "Ліцензія: {license}",
"Changelog" : "Зміни",
- "by {author}\n{license}" : "автор: {author} {ліцензія}",
+ "by {author}\n{license}" : "Автор: {author}\n{license}",
"Enter group name" : "Зазначте назву групи",
"Add group" : "Додати групу",
"Active users" : "Активні користувачі",
@@ -416,10 +412,15 @@
"Profile visibility" : "Видимість профілю",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "Недоступно, оскільки ця властивість необхідна для основних функцій, включаючи спільний доступ до файлів і запрошення в календарі",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "Недоступно, оскільки публікація даних користувача на пошуковому сервері заборонена. Зверніться до системного адміністратора, якщо у вас виникнуть запитання",
+ "Active apps" : "Активні застосунки",
+ "Disabled apps" : "Неактивні застосунки",
+ "Updates" : "Оновлення",
+ "App bundles" : "Набори застосунків",
+ "Featured apps" : "Функціональні застосунки",
"Show to everyone" : "Показувати всім",
"Show to logged in users only" : "Показувати лише авторизованим користувачам",
"Hide" : "Сховати",
- "Download and enable" : "Завантажити та увімкнути",
+ "Download and enable" : "Звантажити та увімкнути",
"Enable untested app" : "Увімкнути непротестований застосунок",
"The app will be downloaded from the App Store" : "Застосунок буде завантажено з App Store",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Відсутня інформація щодо підтримки цього застосунку вашою версією Nextcloud. Ви зможете встановити цей застосунок, проте він може працювати не так, як ви очікуєте.",
@@ -427,7 +428,6 @@
"An error occurred during the request. Unable to proceed." : "Під час запиту сталася помилка. Неможливо продовжити.",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Застосунок активовано, але його потрібно оновити. Вас буде переспрямовано на сторінку оновлення через 5 секунд.",
"Error: This app cannot be enabled because it makes the server unstable" : "Помилка: цю програму неможливо ввімкнути, оскільки вона робить сервер нестабільним",
- "Administrator documentation" : "Документація адміністратора",
"Documentation" : "Документація",
"Forum" : "Форум",
"Login" : "Логін",
@@ -462,7 +462,7 @@
"You need to enable the File sharing App." : "Потрібно увімкнути застосунок для обміну файлами.",
"As admin you can fine-tune the sharing behavior. Please see the documentation for more information." : "Як адміністратор ви можете точно налаштувати поведінку спільного використання. Будь ласка, перегляньте документацію для отримання додаткової інформації.",
"Allow apps to use the Share API" : "Дозволити застосункам використовувати API спільного доступу",
- "Set default expiration date for shares" : "Установіть термін дії акцій за умовчанням",
+ "Set default expiration date for shares" : "Установіть типовий термін дії для спільних ресурсів",
"Expire after" : "Термін дії закінчується після",
"day(s)" : "день (дні)",
"Enforce expiration date" : "Термін дії обов'язковий",
diff --git a/apps/settings/l10n/vi.js b/apps/settings/l10n/vi.js
index 1864e8d9718..17244c2287c 100644
--- a/apps/settings/l10n/vi.js
+++ b/apps/settings/l10n/vi.js
@@ -50,6 +50,8 @@ OC.L10N.register(
"Wrong admin recovery password. Please check the password and try again." : "Sai mật khẩu khôi phục quản trị viên. Vui lòng kiểm tra mật khẩu và thử lại.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL đang sử dụng đã lâu không cập nhật %1$s phiên bản (%2$s). Vui lòng cập nhật hệ điều hành hoặc các tính năng như %3$s sẽ không hoạt động đáng tin cậy.",
+ "Administrator documentation" : "Tài liệu quản trị viên",
+ "User documentation" : "Tài liệu người dùng",
"Invalid SMTP password." : "Mật khẩu SMTT không chính xác.",
"Email setting test" : "Kiểm tra cài đặt email",
"Well done, %s!" : "Làm rất tốt, %s!",
@@ -114,7 +116,6 @@ OC.L10N.register(
"View in store" : "Xem tại cửa hàng",
"Visit website" : "Truy cập trang web",
"Report a bug" : "Báo cáo lỗi",
- "User documentation" : "Tài liệu người dùng",
"Admin documentation" : "Tài liệu quản trị",
"Developer documentation" : "Tài liệu dành cho nhà phát triển",
"This app is supported via your current Nextcloud subscription." : "Ứng dụng này được hỗ trợ thông qua thuê bao Nextcloud hiện tại của bạn.",
@@ -194,11 +195,6 @@ OC.L10N.register(
"Common languages" : "Ngôn ngữ thông dụng",
"Password change is disabled because the master key is disabled" : "Thay đổi mật khẩu bị vô hiệu hóa vì khóa chính bị vô hiệu hóa",
"Your apps" : "Ứng dụng của bạn",
- "Active apps" : "Ứng dụng kích hoạt",
- "Disabled apps" : "Ứng dụng vô hiệu hóa",
- "Updates" : "Cập nhật",
- "App bundles" : "Gói ứng dụng",
- "Featured apps" : "Các ứng dụng đề xuất",
"Changelog" : "Sổ cập nhập thay đổi",
"Add group" : "Thêm nhóm",
"Active users" : "Người dùng hoạt động",
@@ -218,13 +214,17 @@ OC.L10N.register(
"Phone number" : "Số điện thoại",
"Twitter" : "Twitter",
"Website" : "Website",
+ "Active apps" : "Ứng dụng kích hoạt",
+ "Disabled apps" : "Ứng dụng vô hiệu hóa",
+ "Updates" : "Cập nhật",
+ "App bundles" : "Gói ứng dụng",
+ "Featured apps" : "Các ứng dụng đề xuất",
"Hide" : "Ẩn",
"Download and enable" : "Tải xuống và kích hoạt",
"Enable untested app" : "Bật ứng dụng chưa được kiểm tra",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ứng dụng này không được đánh dấu là tương thích với phiên bản Nextcloud của bạn. Nếu bạn tiếp tục, bạn vẫn có thể cài đặt ứng dụng. Lưu ý rằng ứng dụng có thể không hoạt động như mong đợi.",
"Never" : "Không bao giờ",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Ứng dụng đã được kích hoạt nhưng cần được cập nhật. Bạn sẽ được chuyển hướng đến trang cập nhật sau 5 giây.",
- "Administrator documentation" : "Tài liệu quản trị viên",
"Documentation" : "Tài liệu",
"Forum" : "Diễn đàn",
"Login" : "Đăng nhập",
diff --git a/apps/settings/l10n/vi.json b/apps/settings/l10n/vi.json
index 8ebe85b7fb9..43a4a023070 100644
--- a/apps/settings/l10n/vi.json
+++ b/apps/settings/l10n/vi.json
@@ -48,6 +48,8 @@
"Wrong admin recovery password. Please check the password and try again." : "Sai mật khẩu khôi phục quản trị viên. Vui lòng kiểm tra mật khẩu và thử lại.",
"Federated Cloud Sharing" : "Federated Cloud Sharing",
"cURL is using an outdated %1$s version (%2$s). Please update your operating system or features such as %3$s will not work reliably." : "cURL đang sử dụng đã lâu không cập nhật %1$s phiên bản (%2$s). Vui lòng cập nhật hệ điều hành hoặc các tính năng như %3$s sẽ không hoạt động đáng tin cậy.",
+ "Administrator documentation" : "Tài liệu quản trị viên",
+ "User documentation" : "Tài liệu người dùng",
"Invalid SMTP password." : "Mật khẩu SMTT không chính xác.",
"Email setting test" : "Kiểm tra cài đặt email",
"Well done, %s!" : "Làm rất tốt, %s!",
@@ -112,7 +114,6 @@
"View in store" : "Xem tại cửa hàng",
"Visit website" : "Truy cập trang web",
"Report a bug" : "Báo cáo lỗi",
- "User documentation" : "Tài liệu người dùng",
"Admin documentation" : "Tài liệu quản trị",
"Developer documentation" : "Tài liệu dành cho nhà phát triển",
"This app is supported via your current Nextcloud subscription." : "Ứng dụng này được hỗ trợ thông qua thuê bao Nextcloud hiện tại của bạn.",
@@ -192,11 +193,6 @@
"Common languages" : "Ngôn ngữ thông dụng",
"Password change is disabled because the master key is disabled" : "Thay đổi mật khẩu bị vô hiệu hóa vì khóa chính bị vô hiệu hóa",
"Your apps" : "Ứng dụng của bạn",
- "Active apps" : "Ứng dụng kích hoạt",
- "Disabled apps" : "Ứng dụng vô hiệu hóa",
- "Updates" : "Cập nhật",
- "App bundles" : "Gói ứng dụng",
- "Featured apps" : "Các ứng dụng đề xuất",
"Changelog" : "Sổ cập nhập thay đổi",
"Add group" : "Thêm nhóm",
"Active users" : "Người dùng hoạt động",
@@ -216,13 +212,17 @@
"Phone number" : "Số điện thoại",
"Twitter" : "Twitter",
"Website" : "Website",
+ "Active apps" : "Ứng dụng kích hoạt",
+ "Disabled apps" : "Ứng dụng vô hiệu hóa",
+ "Updates" : "Cập nhật",
+ "App bundles" : "Gói ứng dụng",
+ "Featured apps" : "Các ứng dụng đề xuất",
"Hide" : "Ẩn",
"Download and enable" : "Tải xuống và kích hoạt",
"Enable untested app" : "Bật ứng dụng chưa được kiểm tra",
"This app is not marked as compatible with your Nextcloud version. If you continue you will still be able to install the app. Note that the app might not work as expected." : "Ứng dụng này không được đánh dấu là tương thích với phiên bản Nextcloud của bạn. Nếu bạn tiếp tục, bạn vẫn có thể cài đặt ứng dụng. Lưu ý rằng ứng dụng có thể không hoạt động như mong đợi.",
"Never" : "Không bao giờ",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "Ứng dụng đã được kích hoạt nhưng cần được cập nhật. Bạn sẽ được chuyển hướng đến trang cập nhật sau 5 giây.",
- "Administrator documentation" : "Tài liệu quản trị viên",
"Documentation" : "Tài liệu",
"Forum" : "Diễn đàn",
"Login" : "Đăng nhập",
diff --git a/apps/settings/l10n/zh_CN.js b/apps/settings/l10n/zh_CN.js
index 1bf122e8c7a..c57f9094b41 100644
--- a/apps/settings/l10n/zh_CN.js
+++ b/apps/settings/l10n/zh_CN.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "几乎超过了 OPcache 键的最大数量。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.max_accelerated_files</code> 设置一个高于 <code>%s</code> 的值。",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 缓存几乎已满。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.memory_consumption</code> 设置一个高于 <code>%s</code> 的值。",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 内部字符串缓存几乎已满。为确保重复的字符串可以被有效地缓存,建议在您的 PHP 设置中 <code>opcache.interned_strings_buffer</code> 设置一个高于 <code>%s</code> 的值。",
+ "Administrator documentation" : "管理员文档",
+ "User documentation" : "用户文档",
"Invalid SMTP password." : "无效的 SMTP 密码",
"Email setting test" : "电子邮件设置测试",
"Well done, %s!" : "已完成,%s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "在商店中查看",
"Visit website" : "访问网站",
"Report a bug" : "报告问题",
- "User documentation" : "用户文档",
"Admin documentation" : "管理员文档",
"Developer documentation" : "开发者文档",
"This app is supported via your current Nextcloud subscription." : "根据您的 Nextcloud 订阅,此应用受到支持。",
@@ -381,11 +382,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "为您的帐户配置了以下设备:",
"Your browser does not support WebAuthn." : "您的浏览器不支持 WebAuthn。",
"Your apps" : "您的应用",
- "Active apps" : "已启用的应用",
- "Disabled apps" : "已禁用的应用",
- "Updates" : "更新",
- "App bundles" : "应用捆绑包",
- "Featured apps" : "精选应用",
"{license}-licensed" : "{license}-许可协议",
"Changelog" : "更改日志",
"by {author}\n{license}" : "按照 {author}\n{license}",
@@ -419,6 +415,11 @@ OC.L10N.register(
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "不可用,因为包括文件共享和日历邀请在内的核心功能需要此属性",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "您的账号上的联合云功能已被停用,如有疑问,请咨询系统管理员。",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "不可用,因为不允许将特定于用户的数据发布到查找服务器,如果有任何问题,请与系统管理员联系",
+ "Active apps" : "已启用的应用",
+ "Disabled apps" : "已禁用的应用",
+ "Updates" : "更新",
+ "App bundles" : "应用捆绑包",
+ "Featured apps" : "精选应用",
"Show to everyone" : "显示给所有人",
"Show to logged in users only" : "仅显示给登录用户",
"Hide" : "隐藏",
@@ -430,7 +431,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "请求期间发生错误。无法继续。",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用,但是需要更新。5秒后将跳转到更新页面。",
"Error: This app cannot be enabled because it makes the server unstable" : "错误:这个应用程序不能被启用,因为它使服务器不稳定 ",
- "Administrator documentation" : "管理员文档",
"Documentation" : "文档",
"Forum" : "论坛",
"Login" : "登录",
diff --git a/apps/settings/l10n/zh_CN.json b/apps/settings/l10n/zh_CN.json
index b210112ffdd..8b9dac66f31 100644
--- a/apps/settings/l10n/zh_CN.json
+++ b/apps/settings/l10n/zh_CN.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "几乎超过了 OPcache 键的最大数量。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.max_accelerated_files</code> 设置一个高于 <code>%s</code> 的值。",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 缓存几乎已满。为确保所有脚本可以保留在缓存中,建议在您的 PHP 设置中 <code>opcache.memory_consumption</code> 设置一个高于 <code>%s</code> 的值。",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 内部字符串缓存几乎已满。为确保重复的字符串可以被有效地缓存,建议在您的 PHP 设置中 <code>opcache.interned_strings_buffer</code> 设置一个高于 <code>%s</code> 的值。",
+ "Administrator documentation" : "管理员文档",
+ "User documentation" : "用户文档",
"Invalid SMTP password." : "无效的 SMTP 密码",
"Email setting test" : "电子邮件设置测试",
"Well done, %s!" : "已完成,%s!",
@@ -168,7 +170,6 @@
"View in store" : "在商店中查看",
"Visit website" : "访问网站",
"Report a bug" : "报告问题",
- "User documentation" : "用户文档",
"Admin documentation" : "管理员文档",
"Developer documentation" : "开发者文档",
"This app is supported via your current Nextcloud subscription." : "根据您的 Nextcloud 订阅,此应用受到支持。",
@@ -379,11 +380,6 @@
"The following devices are configured for your account:" : "为您的帐户配置了以下设备:",
"Your browser does not support WebAuthn." : "您的浏览器不支持 WebAuthn。",
"Your apps" : "您的应用",
- "Active apps" : "已启用的应用",
- "Disabled apps" : "已禁用的应用",
- "Updates" : "更新",
- "App bundles" : "应用捆绑包",
- "Featured apps" : "精选应用",
"{license}-licensed" : "{license}-许可协议",
"Changelog" : "更改日志",
"by {author}\n{license}" : "按照 {author}\n{license}",
@@ -417,6 +413,11 @@
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "不可用,因为包括文件共享和日历邀请在内的核心功能需要此属性",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "您的账号上的联合云功能已被停用,如有疑问,请咨询系统管理员。",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "不可用,因为不允许将特定于用户的数据发布到查找服务器,如果有任何问题,请与系统管理员联系",
+ "Active apps" : "已启用的应用",
+ "Disabled apps" : "已禁用的应用",
+ "Updates" : "更新",
+ "App bundles" : "应用捆绑包",
+ "Featured apps" : "精选应用",
"Show to everyone" : "显示给所有人",
"Show to logged in users only" : "仅显示给登录用户",
"Hide" : "隐藏",
@@ -428,7 +429,6 @@
"An error occurred during the request. Unable to proceed." : "请求期间发生错误。无法继续。",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "该应用已启用,但是需要更新。5秒后将跳转到更新页面。",
"Error: This app cannot be enabled because it makes the server unstable" : "错误:这个应用程序不能被启用,因为它使服务器不稳定 ",
- "Administrator documentation" : "管理员文档",
"Documentation" : "文档",
"Forum" : "论坛",
"Login" : "登录",
diff --git a/apps/settings/l10n/zh_HK.js b/apps/settings/l10n/zh_HK.js
index ae7267e3431..85dd6ba3d2a 100644
--- a/apps/settings/l10n/zh_HK.js
+++ b/apps/settings/l10n/zh_HK.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 緩衝區幾乎快滿了。為確保所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.memory_consumption</code> 套用高於 <code>%s</code> 的值。",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 內部字串緩衝區幾乎快滿了。為確保可以有效快取重複字串,建議在您的 PHP 設定中的 <code>opcache.interned_strings_buffer</code> 套用高於 <code>%s</code> 的值。",
+ "Administrator documentation" : "管理員使用手冊",
+ "User documentation" : "用戶使用手冊",
"Invalid SMTP password." : "無效的 SMTP 密碼",
"Email setting test" : "測試郵件設定",
"Well done, %s!" : "太棒了,%s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "在商店中檢視",
"Visit website" : "造訪網站",
"Report a bug" : "舉報錯誤",
- "User documentation" : "用戶使用手冊",
"Admin documentation" : "管理員使用手冊",
"Developer documentation" : "開發人員使用手冊",
"This app is supported via your current Nextcloud subscription." : "您目前的 Nextcloud 訂閱支援此應用程式。",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "無法刪除其他電郵地址",
"No email address set" : "未設定電郵地址",
"Additional emails" : "其他電郵地址",
+ "Your handle" : "您的別名",
"Your headline" : "您的標題",
"Language" : "語言",
"Help translate" : "協助翻譯",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "為您的賬戶設定了以下裝置。",
"Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。",
"Your apps" : "您的應用程式",
- "Active apps" : "已啟用應用程式",
- "Disabled apps" : "已停用應用程式",
- "Updates" : "更新",
- "App bundles" : "應用程式套裝",
- "Featured apps" : "精選應用程式",
"{license}-licensed" : "以 {license} 授權",
"Changelog" : "軟件更新紀錄",
"by {author}\n{license}" : "作者為 {author}\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "電話號碼",
"Role" : "角色",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse(如 Mastodon)",
"Website" : "網站",
"Profile visibility" : "個人檔案能見度",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "您賬戶的聯合功能已被停用,因此不可用。如有疑問,請聯絡系統管理員",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "無法使用,因為不允許將用戶的特定資料發佈到查詢伺服器。如果有任何問題,請聯絡您的系統管理員。",
+ "Active apps" : "已啟用應用程式",
+ "Disabled apps" : "已停用應用程式",
+ "Updates" : "更新",
+ "App bundles" : "應用程式套裝",
+ "Featured apps" : "精選應用程式",
"Show to everyone" : "顯示给所有人",
"Show to logged in users only" : "僅顯示給登錄用戶",
"Hide" : "隱藏",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "應用程式已啟用但是需要更新。您將會在5秒內被重新導向至更新頁面。",
"Error: This app cannot be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
- "Administrator documentation" : "管理員使用手冊",
"Documentation" : "使用手冊",
"Forum" : "論壇",
"Login" : "登入",
diff --git a/apps/settings/l10n/zh_HK.json b/apps/settings/l10n/zh_HK.json
index 160d06cfed2..11f20713f90 100644
--- a/apps/settings/l10n/zh_HK.json
+++ b/apps/settings/l10n/zh_HK.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了可用的 OPcache 密鑰的最大數量。為確保所有腳本都可以保存在緩存中,建議將 <code>opcache.max_accelerated_files</code> 應用於您的 PHP 配置,其值高於 <code>%s</code>。",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 緩衝區幾乎快滿了。為確保所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.memory_consumption</code> 套用高於 <code>%s</code> 的值。",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 內部字串緩衝區幾乎快滿了。為確保可以有效快取重複字串,建議在您的 PHP 設定中的 <code>opcache.interned_strings_buffer</code> 套用高於 <code>%s</code> 的值。",
+ "Administrator documentation" : "管理員使用手冊",
+ "User documentation" : "用戶使用手冊",
"Invalid SMTP password." : "無效的 SMTP 密碼",
"Email setting test" : "測試郵件設定",
"Well done, %s!" : "太棒了,%s!",
@@ -168,7 +170,6 @@
"View in store" : "在商店中檢視",
"Visit website" : "造訪網站",
"Report a bug" : "舉報錯誤",
- "User documentation" : "用戶使用手冊",
"Admin documentation" : "管理員使用手冊",
"Developer documentation" : "開發人員使用手冊",
"This app is supported via your current Nextcloud subscription." : "您目前的 Nextcloud 訂閱支援此應用程式。",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "無法刪除其他電郵地址",
"No email address set" : "未設定電郵地址",
"Additional emails" : "其他電郵地址",
+ "Your handle" : "您的別名",
"Your headline" : "您的標題",
"Language" : "語言",
"Help translate" : "協助翻譯",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "為您的賬戶設定了以下裝置。",
"Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。",
"Your apps" : "您的應用程式",
- "Active apps" : "已啟用應用程式",
- "Disabled apps" : "已停用應用程式",
- "Updates" : "更新",
- "App bundles" : "應用程式套裝",
- "Featured apps" : "精選應用程式",
"{license}-licensed" : "以 {license} 授權",
"Changelog" : "軟件更新紀錄",
"by {author}\n{license}" : "作者為 {author}\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "電話號碼",
"Role" : "角色",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse(如 Mastodon)",
"Website" : "網站",
"Profile visibility" : "個人檔案能見度",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "您賬戶的聯合功能已被停用,因此不可用。如有疑問,請聯絡系統管理員",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "無法使用,因為不允許將用戶的特定資料發佈到查詢伺服器。如果有任何問題,請聯絡您的系統管理員。",
+ "Active apps" : "已啟用應用程式",
+ "Disabled apps" : "已停用應用程式",
+ "Updates" : "更新",
+ "App bundles" : "應用程式套裝",
+ "Featured apps" : "精選應用程式",
"Show to everyone" : "顯示给所有人",
"Show to logged in users only" : "僅顯示給登錄用戶",
"Hide" : "隱藏",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "應用程式已啟用但是需要更新。您將會在5秒內被重新導向至更新頁面。",
"Error: This app cannot be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
- "Administrator documentation" : "管理員使用手冊",
"Documentation" : "使用手冊",
"Forum" : "論壇",
"Login" : "登入",
diff --git a/apps/settings/l10n/zh_TW.js b/apps/settings/l10n/zh_TW.js
index e323b8b8c79..cf01b6ede26 100644
--- a/apps/settings/l10n/zh_TW.js
+++ b/apps/settings/l10n/zh_TW.js
@@ -73,6 +73,8 @@ OC.L10N.register(
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 緩衝區幾乎快滿了。為確保所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.memory_consumption</code> 套用高於 <code>%s</code> 的值。",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 內部字串緩衝區幾乎快滿了。為確保可以有效快取重複字串,建議在您的 PHP 設定中的 <code>opcache.interned_strings_buffer</code> 套用高於 <code>%s</code> 的值。",
+ "Administrator documentation" : "管理員說明文件",
+ "User documentation" : "使用者說明文件",
"Invalid SMTP password." : "無效的 SMTP 密碼",
"Email setting test" : "測試郵件設定",
"Well done, %s!" : "太棒了,%s!",
@@ -170,7 +172,6 @@ OC.L10N.register(
"View in store" : "在商店中檢視",
"Visit website" : "造訪網站",
"Report a bug" : "回報問題",
- "User documentation" : "使用者說明文件",
"Admin documentation" : "管理員說明文件",
"Developer documentation" : "開發者說明文件",
"This app is supported via your current Nextcloud subscription." : "您目前的 Nextcloud 訂閱支援此應用程式。",
@@ -302,6 +303,7 @@ OC.L10N.register(
"Unable to delete additional email address" : "無法刪除額外的電子郵件地址",
"No email address set" : "未設定電子郵件信箱",
"Additional emails" : "額外的電子郵件",
+ "Your handle" : "您的帳號",
"Your headline" : "您的標題",
"Language" : "語言",
"Help translate" : "協助翻譯",
@@ -381,11 +383,6 @@ OC.L10N.register(
"The following devices are configured for your account:" : "為您的帳號設定了以下裝置。",
"Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。",
"Your apps" : "您的應用程式",
- "Active apps" : "已啟用應用程式",
- "Disabled apps" : "已停用應用程式",
- "Updates" : "更新",
- "App bundles" : "應用程式套裝",
- "Featured apps" : "精選應用程式",
"{license}-licensed" : "以 {license} 授權",
"Changelog" : "變更紀錄",
"by {author}\n{license}" : "作者為 {author}\n{license}",
@@ -414,11 +411,17 @@ OC.L10N.register(
"Phone number" : "電話號碼",
"Role" : "角色",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse(例如 Mastodon)",
"Website" : "網站",
"Profile visibility" : "個人資料能見度",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "因為您的帳號已停用聯盟分享,因此不可用,若您有任何問題,請聯絡您的系統管理員",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "無法使用,因為不允許將使用者的特定資料發佈到查詢伺服器,若您有任何問題,請聯絡您的系統管理員",
+ "Active apps" : "已啟用應用程式",
+ "Disabled apps" : "已停用應用程式",
+ "Updates" : "更新",
+ "App bundles" : "應用程式套裝",
+ "Featured apps" : "精選應用程式",
"Show to everyone" : "對所有人顯示",
"Show to logged in users only" : "僅對已登入的使用者顯示",
"Hide" : "隱藏",
@@ -430,7 +433,6 @@ OC.L10N.register(
"An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "應用程式已啟用但是需要更新。您將會在5秒內被重新導向至更新頁面。",
"Error: This app cannot be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
- "Administrator documentation" : "管理員說明文件",
"Documentation" : "說明文件",
"Forum" : "論壇",
"Login" : "登入",
diff --git a/apps/settings/l10n/zh_TW.json b/apps/settings/l10n/zh_TW.json
index 526ddc77d9b..4cf957ec8f0 100644
--- a/apps/settings/l10n/zh_TW.json
+++ b/apps/settings/l10n/zh_TW.json
@@ -71,6 +71,8 @@
"The maximum number of OPcache keys is nearly exceeded. To assure that all scripts can be kept in the cache, it is recommended to apply <code>opcache.max_accelerated_files</code> to your PHP configuration with a value higher than <code>%s</code>." : "幾乎超過了 OPcache 鍵的最大數量。為確保幾乎所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.max_accelerated_files</code> 套用高於 <code>%s</code> 的值。",
"The OPcache buffer is nearly full. To assure that all scripts can be hold in cache, it is recommended to apply <code>opcache.memory_consumption</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 緩衝區幾乎快滿了。為確保所有指令稿都可以保留在快取中,建議在您的 PHP 設定中的 <code>opcache.memory_consumption</code> 套用高於 <code>%s</code> 的值。",
"The OPcache interned strings buffer is nearly full. To assure that repeating strings can be effectively cached, it is recommended to apply <code>opcache.interned_strings_buffer</code> to your PHP configuration with a value higher than <code>%s</code>." : "OPcache 內部字串緩衝區幾乎快滿了。為確保可以有效快取重複字串,建議在您的 PHP 設定中的 <code>opcache.interned_strings_buffer</code> 套用高於 <code>%s</code> 的值。",
+ "Administrator documentation" : "管理員說明文件",
+ "User documentation" : "使用者說明文件",
"Invalid SMTP password." : "無效的 SMTP 密碼",
"Email setting test" : "測試郵件設定",
"Well done, %s!" : "太棒了,%s!",
@@ -168,7 +170,6 @@
"View in store" : "在商店中檢視",
"Visit website" : "造訪網站",
"Report a bug" : "回報問題",
- "User documentation" : "使用者說明文件",
"Admin documentation" : "管理員說明文件",
"Developer documentation" : "開發者說明文件",
"This app is supported via your current Nextcloud subscription." : "您目前的 Nextcloud 訂閱支援此應用程式。",
@@ -300,6 +301,7 @@
"Unable to delete additional email address" : "無法刪除額外的電子郵件地址",
"No email address set" : "未設定電子郵件信箱",
"Additional emails" : "額外的電子郵件",
+ "Your handle" : "您的帳號",
"Your headline" : "您的標題",
"Language" : "語言",
"Help translate" : "協助翻譯",
@@ -379,11 +381,6 @@
"The following devices are configured for your account:" : "為您的帳號設定了以下裝置。",
"Your browser does not support WebAuthn." : "您的瀏覽器不支援 WebAuthn。",
"Your apps" : "您的應用程式",
- "Active apps" : "已啟用應用程式",
- "Disabled apps" : "已停用應用程式",
- "Updates" : "更新",
- "App bundles" : "應用程式套裝",
- "Featured apps" : "精選應用程式",
"{license}-licensed" : "以 {license} 授權",
"Changelog" : "變更紀錄",
"by {author}\n{license}" : "作者為 {author}\n{license}",
@@ -412,11 +409,17 @@
"Phone number" : "電話號碼",
"Role" : "角色",
"Twitter" : "Twitter",
+ "Fediverse (e.g. Mastodon)" : "Fediverse(例如 Mastodon)",
"Website" : "網站",
"Profile visibility" : "個人資料能見度",
"Not available as this property is required for core functionality including file sharing and calendar invitations" : "無法使用,因為此屬性是核心功能(包括檔案分享和日曆邀請)所必需的。",
"Not available as federation has been disabled for your account, contact your system administrator if you have any questions" : "因為您的帳號已停用聯盟分享,因此不可用,若您有任何問題,請聯絡您的系統管理員",
"Not available as publishing user specific data to the lookup server is not allowed, contact your system administrator if you have any questions" : "無法使用,因為不允許將使用者的特定資料發佈到查詢伺服器,若您有任何問題,請聯絡您的系統管理員",
+ "Active apps" : "已啟用應用程式",
+ "Disabled apps" : "已停用應用程式",
+ "Updates" : "更新",
+ "App bundles" : "應用程式套裝",
+ "Featured apps" : "精選應用程式",
"Show to everyone" : "對所有人顯示",
"Show to logged in users only" : "僅對已登入的使用者顯示",
"Hide" : "隱藏",
@@ -428,7 +431,6 @@
"An error occurred during the request. Unable to proceed." : "請求時發生錯誤。無法繼續。",
"The app has been enabled but needs to be updated. You will be redirected to the update page in 5 seconds." : "應用程式已啟用但是需要更新。您將會在5秒內被重新導向至更新頁面。",
"Error: This app cannot be enabled because it makes the server unstable" : "錯誤:此應用程序無法啟用,因為它造成伺服器不穩定",
- "Administrator documentation" : "管理員說明文件",
"Documentation" : "說明文件",
"Forum" : "論壇",
"Login" : "登入",
diff --git a/apps/settings/lib/Activity/GroupProvider.php b/apps/settings/lib/Activity/GroupProvider.php
index 466bb9abeee..52798d2e428 100644
--- a/apps/settings/lib/Activity/GroupProvider.php
+++ b/apps/settings/lib/Activity/GroupProvider.php
@@ -30,7 +30,6 @@ use OCP\Activity\IProvider;
use OCP\IGroup;
use OCP\IGroupManager;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory as L10nFactory;
@@ -123,20 +122,10 @@ class GroupProvider implements IProvider {
}
/**
- * @param IEvent $event
- * @param string $subject
- * @param array $parameters
* @throws \InvalidArgumentException
*/
protected function setSubjects(IEvent $event, string $subject, array $parameters): void {
- $placeholders = $replacements = [];
- foreach ($parameters as $placeholder => $parameter) {
- $placeholders[] = '{' . $placeholder . '}';
- $replacements[] = $parameter['name'];
- }
-
- $event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
- ->setRichSubject($subject, $parameters);
+ $event->setRichSubject($subject, $parameters);
}
/**
diff --git a/apps/settings/lib/Activity/Provider.php b/apps/settings/lib/Activity/Provider.php
index 7d8a7f0da9a..85ebd3e2abd 100644
--- a/apps/settings/lib/Activity/Provider.php
+++ b/apps/settings/lib/Activity/Provider.php
@@ -33,7 +33,6 @@ use OCP\Activity\IManager;
use OCP\Activity\IProvider;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory;
@@ -186,20 +185,10 @@ class Provider implements IProvider {
}
/**
- * @param IEvent $event
- * @param string $subject
- * @param array $parameters
* @throws \InvalidArgumentException
*/
protected function setSubjects(IEvent $event, string $subject, array $parameters): void {
- $placeholders = $replacements = [];
- foreach ($parameters as $placeholder => $parameter) {
- $placeholders[] = '{' . $placeholder . '}';
- $replacements[] = $parameter['name'];
- }
-
- $event->setParsedSubject(str_replace($placeholders, $replacements, $subject))
- ->setRichSubject($subject, $parameters);
+ $event->setRichSubject($subject, $parameters);
}
protected function generateUserParameter(string $uid): array {
diff --git a/apps/settings/lib/Controller/AppSettingsController.php b/apps/settings/lib/Controller/AppSettingsController.php
index 618d99b3d73..a4addfc5b35 100644
--- a/apps/settings/lib/Controller/AppSettingsController.php
+++ b/apps/settings/lib/Controller/AppSettingsController.php
@@ -237,7 +237,6 @@ class AppSettingsController extends Controller {
/**
* Get all available apps in a category
*
- * @param string $category
* @return JSONResponse
* @throws \Exception
*/
@@ -247,8 +246,14 @@ class AppSettingsController extends Controller {
$dependencyAnalyzer = new DependencyAnalyzer(new Platform($this->config), $this->l10n);
+ $ignoreMaxApps = $this->config->getSystemValue('app_install_overwrite', []);
+ if (!is_array($ignoreMaxApps)) {
+ $this->logger->warning('The value given for app_install_overwrite is not an array. Ignoring...');
+ $ignoreMaxApps = [];
+ }
+
// Extend existing app details
- $apps = array_map(function ($appData) use ($dependencyAnalyzer) {
+ $apps = array_map(function (array $appData) use ($dependencyAnalyzer, $ignoreMaxApps) {
if (isset($appData['appstoreData'])) {
$appstoreData = $appData['appstoreData'];
$appData['screenshot'] = isset($appstoreData['screenshots'][0]['url']) ? 'https://usercontent.apps.nextcloud.com/' . base64_encode($appstoreData['screenshots'][0]['url']) : '';
@@ -274,11 +279,6 @@ class AppSettingsController extends Controller {
$appData['licence'] = $appData['license'];
}
- $ignoreMaxApps = $this->config->getSystemValue('app_install_overwrite', []);
- if (!is_array($ignoreMaxApps)) {
- $this->logger->warning('The value given for app_install_overwrite is not an array. Ignoring...');
- $ignoreMaxApps = [];
- }
$ignoreMax = in_array($appData['id'], $ignoreMaxApps);
// analyse dependencies
diff --git a/apps/settings/lib/Controller/CommonSettingsTrait.php b/apps/settings/lib/Controller/CommonSettingsTrait.php
index d5d004d8722..8ca62b9d1b3 100644
--- a/apps/settings/lib/Controller/CommonSettingsTrait.php
+++ b/apps/settings/lib/Controller/CommonSettingsTrait.php
@@ -150,6 +150,7 @@ trait CommonSettingsTrait {
$activeSection = $this->settingsManager->getSection($type, $section);
if ($activeSection) {
$templateParams['pageTitle'] = $activeSection->getName();
+ $templateParams['activeSectionId'] = $activeSection->getID();
}
return new TemplateResponse('settings', 'settings/frame', $templateParams);
diff --git a/apps/settings/lib/Controller/HelpController.php b/apps/settings/lib/Controller/HelpController.php
index b8780ae40ba..38ce84843ed 100644
--- a/apps/settings/lib/Controller/HelpController.php
+++ b/apps/settings/lib/Controller/HelpController.php
@@ -33,6 +33,7 @@ use OCP\AppFramework\Controller;
use OCP\AppFramework\Http\ContentSecurityPolicy;
use OCP\AppFramework\Http\TemplateResponse;
use OCP\IGroupManager;
+use OCP\IL10N;
use OCP\INavigationManager;
use OCP\IRequest;
use OCP\IURLGenerator;
@@ -45,6 +46,8 @@ class HelpController extends Controller {
private $urlGenerator;
/** @var IGroupManager */
private $groupManager;
+ /** @var IL10N */
+ private $l10n;
/** @var string */
private $userId;
@@ -55,13 +58,15 @@ class HelpController extends Controller {
INavigationManager $navigationManager,
IURLGenerator $urlGenerator,
?string $userId,
- IGroupManager $groupManager
+ IGroupManager $groupManager,
+ IL10N $l10n
) {
parent::__construct($appName, $request);
$this->navigationManager = $navigationManager;
$this->urlGenerator = $urlGenerator;
$this->userId = $userId;
$this->groupManager = $groupManager;
+ $this->l10n = $l10n;
}
/**
@@ -73,8 +78,9 @@ class HelpController extends Controller {
*/
public function help(string $mode = 'user'): TemplateResponse {
$this->navigationManager->setActiveEntry('help');
-
+ $pageTitle = $this->l10n->t('Administrator documentation');
if ($mode !== 'admin') {
+ $pageTitle = $this->l10n->t('User documentation');
$mode = 'user';
}
@@ -91,6 +97,7 @@ class HelpController extends Controller {
'urlUserDocs' => $urlUserDocs,
'urlAdminDocs' => $urlAdminDocs,
'mode' => $mode,
+ 'pageTitle' => $pageTitle,
]);
$policy = new ContentSecurityPolicy();
$policy->addAllowedFrameDomain('\'self\'');
diff --git a/apps/settings/lib/Controller/UsersController.php b/apps/settings/lib/Controller/UsersController.php
index 6be93d6a3a0..217abf0e156 100644
--- a/apps/settings/lib/Controller/UsersController.php
+++ b/apps/settings/lib/Controller/UsersController.php
@@ -358,6 +358,8 @@ class UsersController extends Controller {
* @param string|null $addressScope
* @param string|null $twitter
* @param string|null $twitterScope
+ * @param string|null $fediverse
+ * @param string|null $fediverseScope
*
* @return DataResponse
*/
@@ -373,7 +375,9 @@ class UsersController extends Controller {
?string $address = null,
?string $addressScope = null,
?string $twitter = null,
- ?string $twitterScope = null
+ ?string $twitterScope = null,
+ ?string $fediverse = null,
+ ?string $fediverseScope = null
) {
$user = $this->userSession->getUser();
if (!$user instanceof IUser) {
@@ -412,6 +416,7 @@ class UsersController extends Controller {
IAccountManager::PROPERTY_ADDRESS => ['value' => $address, 'scope' => $addressScope],
IAccountManager::PROPERTY_PHONE => ['value' => $phone, 'scope' => $phoneScope],
IAccountManager::PROPERTY_TWITTER => ['value' => $twitter, 'scope' => $twitterScope],
+ IAccountManager::PROPERTY_FEDIVERSE => ['value' => $fediverse, 'scope' => $fediverseScope],
];
$allowUserToChangeDisplayName = $this->config->getSystemValueBool('allow_user_to_change_display_name', true);
foreach ($updatable as $property => $data) {
@@ -451,6 +456,8 @@ class UsersController extends Controller {
'addressScope' => $userAccount->getProperty(IAccountManager::PROPERTY_ADDRESS)->getScope(),
'twitter' => $userAccount->getProperty(IAccountManager::PROPERTY_TWITTER)->getValue(),
'twitterScope' => $userAccount->getProperty(IAccountManager::PROPERTY_TWITTER)->getScope(),
+ 'fediverse' => $userAccount->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getValue(),
+ 'fediverseScope' => $userAccount->getProperty(IAccountManager::PROPERTY_FEDIVERSE)->getScope(),
'message' => $this->l10n->t('Settings saved'),
],
],
@@ -484,7 +491,7 @@ class UsersController extends Controller {
$oldEmailAddress = $userAccount->getUser()->getSystemEMailAddress();
$oldEmailAddress = strtolower((string)$oldEmailAddress);
- if ($oldEmailAddress !== $userAccount->getProperty(IAccountManager::PROPERTY_EMAIL)->getValue()) {
+ if ($oldEmailAddress !== strtolower($userAccount->getProperty(IAccountManager::PROPERTY_EMAIL)->getValue())) {
// this is the only permission a backend provides and is also used
// for the permission of setting a email address
if (!$userAccount->getUser()->canChangeDisplayName()) {
diff --git a/apps/settings/lib/Settings/Personal/PersonalInfo.php b/apps/settings/lib/Settings/Personal/PersonalInfo.php
index 0a65ebe2c74..cf7b704e98b 100644
--- a/apps/settings/lib/Settings/Personal/PersonalInfo.php
+++ b/apps/settings/lib/Settings/Personal/PersonalInfo.php
@@ -157,6 +157,7 @@ class PersonalInfo implements ISettings {
'location' => $this->getProperty($account, IAccountManager::PROPERTY_ADDRESS),
'website' => $this->getProperty($account, IAccountManager::PROPERTY_WEBSITE),
'twitter' => $this->getProperty($account, IAccountManager::PROPERTY_TWITTER),
+ 'fediverse' => $this->getProperty($account, IAccountManager::PROPERTY_FEDIVERSE),
'languageMap' => $this->getLanguageMap($user),
'localeMap' => $this->getLocaleMap($user),
'profileEnabledGlobally' => $this->profileManager->isProfileEnabled(),
diff --git a/apps/settings/src/admin.js b/apps/settings/src/admin.js
index c1c87ce9396..e7220df3c91 100644
--- a/apps/settings/src/admin.js
+++ b/apps/settings/src/admin.js
@@ -1,20 +1,20 @@
window.addEventListener('DOMContentLoaded', () => {
$('#excludedGroups,#linksExcludedGroups,#passwordsExcludedGroups').each(function(index, element) {
OC.Settings.setupGroupsSelect($(element))
- $(element).change((ev) => {
+ $(element).change(function(ev) {
let groups = ev.val || []
groups = JSON.stringify(groups)
OCP.AppConfig.setValue('core', $(this).attr('name'), groups)
})
})
- $('#loglevel').change(() => {
+ $('#loglevel').change(function() {
$.post(OC.generateUrl('/settings/admin/log/level'), { level: $(this).val() }, () => {
OC.Log.reload()
})
})
- $('#shareAPIEnabled').change(() => {
+ $('#shareAPIEnabled').change(function() {
$('#shareAPI p:not(#enable)').toggleClass('hidden', !this.checked)
})
@@ -206,11 +206,11 @@ window.addEventListener('DOMContentLoaded', () => {
})
})
- $('#allowGroupSharing').change(() => {
+ $('#allowGroupSharing').change(function() {
$('#allowGroupSharing').toggleClass('hidden', !this.checked)
})
- $('#shareapiExcludeGroups').change(() => {
+ $('#shareapiExcludeGroups').change(function() {
$('#selectExcludedGroups').toggleClass('hidden', !this.checked)
})
diff --git a/apps/settings/src/components/AuthToken.vue b/apps/settings/src/components/AuthToken.vue
index 5a48f5d0d8c..38aafc9e8d6 100644
--- a/apps/settings/src/components/AuthToken.vue
+++ b/apps/settings/src/components/AuthToken.vue
@@ -31,7 +31,7 @@
v-model="newName"
type="text"
@keyup.enter="rename"
- @blur="cancelRename"
+ @change="rename"
@keyup.esc="cancelRename">
<span v-else>{{ iconName.name }}</span>
<span v-if="wiping" class="wiping-warning">({{ t('settings', 'Marked for remote wipe') }})</span>
@@ -173,6 +173,7 @@ export default {
showMore: this.token.canScope || this.token.canDelete,
renaming: false,
newName: '',
+ oldName: '',
actionOpen: false,
}
},
@@ -232,6 +233,7 @@ export default {
// Close action (popover menu)
this.actionOpen = false
+ this.oldName = this.token.name
this.newName = this.token.name
this.renaming = true
this.$nextTick(() => {
@@ -240,6 +242,7 @@ export default {
},
cancelRename() {
this.renaming = false
+ this.$emit('rename', this.token, this.oldName)
},
revoke() {
this.actionOpen = false
diff --git a/apps/settings/src/components/PersonalInfo/AvatarSection.vue b/apps/settings/src/components/PersonalInfo/AvatarSection.vue
index e018023508a..ce3c80d4820 100644
--- a/apps/settings/src/components/PersonalInfo/AvatarSection.vue
+++ b/apps/settings/src/components/PersonalInfo/AvatarSection.vue
@@ -21,7 +21,7 @@
-->
<template>
- <section>
+ <section id="vue-avatar-section">
<HeaderBar :input-id="avatarChangeSupported ? inputId : null"
:readable="avatar.readable"
:scope.sync="avatar.scope" />
@@ -276,6 +276,9 @@ export default {
</script>
<style lang="scss" scoped>
+section {
+ grid-row: 1/3;
+}
.avatar {
&__container {
margin: 0 auto;
diff --git a/apps/settings/src/components/PersonalInfo/FediverseSection.vue b/apps/settings/src/components/PersonalInfo/FediverseSection.vue
new file mode 100644
index 00000000000..3975308d587
--- /dev/null
+++ b/apps/settings/src/components/PersonalInfo/FediverseSection.vue
@@ -0,0 +1,50 @@
+<!--
+ - @copyright 2022 Christopher Ng <chrng8@gmail.com>
+ -
+ - @author Christopher Ng <chrng8@gmail.com>
+ -
+ - @license AGPL-3.0-or-later
+ -
+ - This program is free software: you can redistribute it and/or modify
+ - it under the terms of the GNU Affero General Public License as
+ - published by the Free Software Foundation, either version 3 of the
+ - License, or (at your option) any later version.
+ -
+ - This program is distributed in the hope that it will be useful,
+ - but WITHOUT ANY WARRANTY; without even the implied warranty of
+ - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ - GNU Affero General Public License for more details.
+ -
+ - You should have received a copy of the GNU Affero General Public License
+ - along with this program. If not, see <http://www.gnu.org/licenses/>.
+ -
+-->
+
+<template>
+ <AccountPropertySection v-bind.sync="fediverse"
+ :placeholder="t('settings', 'Your handle')" />
+</template>
+
+<script>
+import { loadState } from '@nextcloud/initial-state'
+
+import AccountPropertySection from './shared/AccountPropertySection.vue'
+
+import { NAME_READABLE_ENUM } from '../../constants/AccountPropertyConstants.js'
+
+const { fediverse } = loadState('settings', 'personalInfoParameters', {})
+
+export default {
+ name: 'FediverseSection',
+
+ components: {
+ AccountPropertySection,
+ },
+
+ data() {
+ return {
+ fediverse: { ...fediverse, readable: NAME_READABLE_ENUM[fediverse.name] },
+ }
+ },
+}
+</script>
diff --git a/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue b/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue
index eab49f11f49..a617debd6c1 100644
--- a/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue
+++ b/apps/settings/src/components/PersonalInfo/ProfileVisibilitySection/ProfileVisibilitySection.vue
@@ -81,7 +81,7 @@ export default {
.sort(compareParams),
// TODO remove this when not used once the settings layout is updated
marginLeft: window.matchMedia('(min-width: 1600px)').matches
- ? window.getComputedStyle(document.getElementById('personal-settings-avatar-container')).getPropertyValue('width').trim()
+ ? window.getComputedStyle(document.getElementById('vue-avatar-section')).getPropertyValue('width').trim()
: '0px',
}
},
@@ -101,7 +101,7 @@ export default {
// TODO remove this when not used once the settings layout is updated
window.onresize = () => {
this.marginLeft = window.matchMedia('(min-width: 1600px)').matches
- ? window.getComputedStyle(document.getElementById('personal-settings-avatar-container')).getPropertyValue('width').trim()
+ ? window.getComputedStyle(document.getElementById('vue-avatar-section')).getPropertyValue('width').trim()
: '0px'
}
},
@@ -121,7 +121,8 @@ export default {
<style lang="scss" scoped>
section {
padding: 30px;
- max-width: 100vw;
+ max-width: 900px;
+ width: 100%;
em {
display: block;
diff --git a/apps/settings/src/constants/AccountPropertyConstants.js b/apps/settings/src/constants/AccountPropertyConstants.js
index 6be683dcb91..fdca7371507 100644
--- a/apps/settings/src/constants/AccountPropertyConstants.js
+++ b/apps/settings/src/constants/AccountPropertyConstants.js
@@ -36,6 +36,7 @@ export const ACCOUNT_PROPERTY_ENUM = Object.freeze({
EMAIL: 'email',
HEADLINE: 'headline',
NOTIFICATION_EMAIL: 'notify_email',
+ FEDIVERSE: 'fediverse',
ORGANISATION: 'organisation',
PHONE: 'phone',
PROFILE_ENABLED: 'profile_enabled',
@@ -58,6 +59,7 @@ export const ACCOUNT_PROPERTY_READABLE_ENUM = Object.freeze({
PROFILE_ENABLED: t('settings', 'Profile'),
ROLE: t('settings', 'Role'),
TWITTER: t('settings', 'Twitter'),
+ FEDIVERSE: t('settings', 'Fediverse (e.g. Mastodon)'),
WEBSITE: t('settings', 'Website'),
})
@@ -74,6 +76,7 @@ export const NAME_READABLE_ENUM = Object.freeze({
[ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED,
[ACCOUNT_PROPERTY_ENUM.ROLE]: ACCOUNT_PROPERTY_READABLE_ENUM.ROLE,
[ACCOUNT_PROPERTY_ENUM.TWITTER]: ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER,
+ [ACCOUNT_PROPERTY_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE,
[ACCOUNT_PROPERTY_ENUM.WEBSITE]: ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE,
})
@@ -96,6 +99,7 @@ export const PROPERTY_READABLE_KEYS_ENUM = Object.freeze({
[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: ACCOUNT_PROPERTY_ENUM.PROFILE_ENABLED,
[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: ACCOUNT_PROPERTY_ENUM.ROLE,
[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: ACCOUNT_PROPERTY_ENUM.TWITTER,
+ [ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: ACCOUNT_PROPERTY_ENUM.FEDIVERSE,
[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: ACCOUNT_PROPERTY_ENUM.WEBSITE,
})
@@ -137,6 +141,7 @@ export const PROPERTY_READABLE_SUPPORTED_SCOPES_ENUM = Object.freeze({
[ACCOUNT_PROPERTY_READABLE_ENUM.PROFILE_ENABLED]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],
[ACCOUNT_PROPERTY_READABLE_ENUM.ROLE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],
[ACCOUNT_PROPERTY_READABLE_ENUM.TWITTER]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],
+ [ACCOUNT_PROPERTY_READABLE_ENUM.FEDIVERSE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],
[ACCOUNT_PROPERTY_READABLE_ENUM.WEBSITE]: [SCOPE_ENUM.LOCAL, SCOPE_ENUM.PRIVATE],
})
diff --git a/apps/files_versions/src/filesplugin.js b/apps/settings/src/constants/AppsConstants.js
index 90dac2024c1..5ede6334231 100644
--- a/apps/files_versions/src/filesplugin.js
+++ b/apps/settings/src/constants/AppsConstants.js
@@ -1,8 +1,7 @@
/**
- * Copyright (c) 2015
+ * @copyright 2022, Julia Kirschenheuter <julia.kirschenheuter@nextcloud.com>
*
- * @author John Molakvoæ <skjnldsv@protonmail.com>
- * @author Vincent Petry <vincent@nextcloud.com>
+ * @author Julia Kirschenheuter <julia.kirschenheuter@nextcloud.com>
*
* @license AGPL-3.0-or-later
*
@@ -21,26 +20,13 @@
*
*/
-(function() {
- OCA.Versions = OCA.Versions || {}
+import { translate as t } from '@nextcloud/l10n'
- /**
- * @namespace
- */
- OCA.Versions.Util = {
- /**
- * Initialize the versions plugin.
- *
- * @param {OCA.Files.FileList} fileList file list to be extended
- */
- attach(fileList) {
- if (fileList.id === 'trashbin' || fileList.id === 'files.public') {
- return
- }
-
- fileList.registerTabView(new OCA.Versions.VersionsTabView('versionsTabView', { order: -10 }))
- },
- }
-})()
-
-OC.Plugins.register('OCA.Files.FileList', OCA.Versions.Util)
+/** Enum of verification constants, according to Apps */
+export const APPS_SECTION_ENUM = Object.freeze({
+ enabled: t('settings', 'Active apps'),
+ disabled: t('settings', 'Disabled apps'),
+ updates: t('settings', 'Updates'),
+ 'app-bundles': t('settings', 'App bundles'),
+ featured: t('settings', 'Featured apps'),
+})
diff --git a/apps/settings/src/main-personal-info.js b/apps/settings/src/main-personal-info.js
index f03c86335a0..b483c054fdc 100644
--- a/apps/settings/src/main-personal-info.js
+++ b/apps/settings/src/main-personal-info.js
@@ -34,6 +34,7 @@ import PhoneSection from './components/PersonalInfo/PhoneSection.vue'
import LocationSection from './components/PersonalInfo/LocationSection.vue'
import WebsiteSection from './components/PersonalInfo/WebsiteSection.vue'
import TwitterSection from './components/PersonalInfo/TwitterSection.vue'
+import FediverseSection from './components/PersonalInfo/FediverseSection.vue'
import LanguageSection from './components/PersonalInfo/LanguageSection/LanguageSection.vue'
import LocaleSection from './components/PersonalInfo/LocaleSection/LocaleSection.vue'
import ProfileSection from './components/PersonalInfo/ProfileSection/ProfileSection.vue'
@@ -61,6 +62,7 @@ const PhoneView = Vue.extend(PhoneSection)
const LocationView = Vue.extend(LocationSection)
const WebsiteView = Vue.extend(WebsiteSection)
const TwitterView = Vue.extend(TwitterSection)
+const FediverseView = Vue.extend(FediverseSection)
const LanguageView = Vue.extend(LanguageSection)
const LocaleView = Vue.extend(LocaleSection)
@@ -72,6 +74,7 @@ new PhoneView().$mount('#vue-phone-section')
new LocationView().$mount('#vue-location-section')
new WebsiteView().$mount('#vue-website-section')
new TwitterView().$mount('#vue-twitter-section')
+new FediverseView().$mount('#vue-fediverse-section')
new LanguageView().$mount('#vue-language-section')
new LocaleView().$mount('#vue-locale-section')
diff --git a/apps/settings/src/router.js b/apps/settings/src/router.js
index 912e031c0d7..863bd49c32d 100644
--- a/apps/settings/src/router.js
+++ b/apps/settings/src/router.js
@@ -25,6 +25,8 @@
import Vue from 'vue'
import Router from 'vue-router'
import { generateUrl } from '@nextcloud/router'
+import { APPS_SECTION_ENUM } from './constants/AppsConstants.js'
+import store from './store/index.js'
// Dynamic loading
const Users = () => import(/* webpackChunkName: 'settings-users' */'./views/Users')
@@ -40,8 +42,8 @@ Vue.use(Router)
* ensure the proper route.
* ⚠️ Routes needs to match the php routes.
*/
-
-export default new Router({
+const baseTitle = document.title
+const router = new Router({
mode: 'history',
// if index.php is in the url AND we got this far, then it's working:
// let's keep using index.php in the url
@@ -53,10 +55,26 @@ export default new Router({
component: Users,
props: true,
name: 'users',
+ meta: {
+ title: () => {
+ return t('settings', 'Active users')
+ },
+ },
children: [
{
path: ':selectedGroup',
name: 'group',
+ meta: {
+ title: (to) => {
+ if (to.params.selectedGroup === 'admin') {
+ return t('settings', 'Admins')
+ }
+ if (to.params.selectedGroup === 'disabled') {
+ return t('settings', 'Disabled users')
+ }
+ return decodeURIComponent(to.params.selectedGroup)
+ },
+ },
component: Users,
},
],
@@ -66,10 +84,30 @@ export default new Router({
component: Apps,
props: true,
name: 'apps',
+ meta: {
+ title: () => {
+ return t('settings', 'Your apps')
+ },
+ },
children: [
{
path: ':category',
name: 'apps-category',
+ meta: {
+ title: async (to) => {
+ if (to.name === 'apps') {
+ return t('settings', 'Your apps')
+ }
+ if (APPS_SECTION_ENUM[to.params.category]) {
+ return APPS_SECTION_ENUM[to.params.category]
+ }
+ await store.dispatch('getCategories')
+ const category = store.getters.getCategoryById(to.params.category)
+ if (category.displayName) {
+ return category.displayName
+ }
+ },
+ },
component: Apps,
children: [
{
@@ -83,3 +121,14 @@ export default new Router({
},
],
})
+
+router.afterEach(async (to) => {
+ const metaTitle = await to.meta.title?.(to)
+ if (metaTitle) {
+ document.title = `${metaTitle} - ${baseTitle}`
+ } else {
+ document.title = baseTitle
+ }
+})
+
+export default router
diff --git a/apps/settings/src/store/apps.js b/apps/settings/src/store/apps.js
index 3618fb7919b..29009fc65e0 100644
--- a/apps/settings/src/store/apps.js
+++ b/apps/settings/src/store/apps.js
@@ -34,6 +34,7 @@ const state = {
updateCount: 0,
loading: {},
loadingList: false,
+ gettingCategoriesPromise: null,
}
const mutations = {
@@ -48,6 +49,10 @@ const mutations = {
state.updateCount = updateCount
},
+ updateCategories(state, categoriesPromise) {
+ state.gettingCategoriesPromise = categoriesPromise
+ },
+
setUpdateCount(state, updateCount) {
state.updateCount = updateCount
},
@@ -156,6 +161,9 @@ const getters = {
getUpdateCount(state) {
return state.updateCount
},
+ getCategoryById: (state) => (selectedCategoryId) => {
+ return state.categories.find((category) => category.id === selectedCategoryId)
+ },
}
const actions = {
@@ -313,18 +321,25 @@ const actions = {
.catch((error) => context.commit('API_FAILURE', error))
},
- getCategories(context) {
- context.commit('startLoading', 'categories')
- return api.get(generateUrl('settings/apps/categories'))
- .then((response) => {
- if (response.data.length > 0) {
- context.commit('appendCategories', response.data)
+ async getCategories(context, { shouldRefetchCategories = false } = {}) {
+ if (shouldRefetchCategories || !context.state.gettingCategoriesPromise) {
+ context.commit('startLoading', 'categories')
+ try {
+ const categoriesPromise = api.get(generateUrl('settings/apps/categories'))
+ context.commit('updateCategories', categoriesPromise)
+ const categoriesPromiseResponse = await categoriesPromise
+ if (categoriesPromiseResponse.data.length > 0) {
+ context.commit('appendCategories', categoriesPromiseResponse.data)
context.commit('stopLoading', 'categories')
return true
}
+ context.commit('stopLoading', 'categories')
return false
- })
- .catch((error) => context.commit('API_FAILURE', error))
+ } catch (error) {
+ context.commit('API_FAILURE', error)
+ }
+ }
+ return context.state.gettingCategoriesPromise
},
}
diff --git a/apps/settings/src/views/Apps.vue b/apps/settings/src/views/Apps.vue
index ff7c05cdcd7..874724f73a6 100644
--- a/apps/settings/src/views/Apps.vue
+++ b/apps/settings/src/views/Apps.vue
@@ -36,16 +36,16 @@
<NcAppNavigationItem id="app-category-enabled"
:to="{ name: 'apps-category', params: { category: 'enabled' } }"
icon="icon-category-enabled"
- :title="t('settings', 'Active apps')" />
+ :title="$options.APPS_SECTION_ENUM.enabled" />
<NcAppNavigationItem id="app-category-disabled"
:to="{ name: 'apps-category', params: { category: 'disabled' } }"
icon="icon-category-disabled"
- :title="t('settings', 'Disabled apps')" />
+ :title="$options.APPS_SECTION_ENUM.disabled" />
<NcAppNavigationItem v-if="updateCount > 0"
id="app-category-updates"
:to="{ name: 'apps-category', params: { category: 'updates' } }"
icon="icon-download"
- :title="t('settings', 'Updates')">
+ :title="$options.APPS_SECTION_ENUM.updates">
<NcAppNavigationCounter slot="counter">
{{ updateCount }}
</NcAppNavigationCounter>
@@ -53,7 +53,7 @@
<NcAppNavigationItem id="app-category-your-bundles"
:to="{ name: 'apps-category', params: { category: 'app-bundles' } }"
icon="icon-category-app-bundles"
- :title="t('settings', 'App bundles')" />
+ :title="$options.APPS_SECTION_ENUM['app-bundles']" />
<NcAppNavigationSpacer />
@@ -62,7 +62,7 @@
<NcAppNavigationItem id="app-category-featured"
:to="{ name: 'apps-category', params: { category: 'featured' } }"
icon="icon-favorite"
- :title="t('settings', 'Featured apps')" />
+ :title="$options.APPS_SECTION_ENUM.featured" />
<NcAppNavigationItem v-for="cat in categories"
:key="'icon-category-' + cat.ident"
@@ -154,11 +154,13 @@ import AppManagement from '../mixins/AppManagement'
import AppScore from '../components/AppList/AppScore'
import Markdown from '../components/Markdown'
+import { APPS_SECTION_ENUM } from './../constants/AppsConstants.js'
+
Vue.use(VueLocalStorage)
export default {
name: 'Apps',
-
+ APPS_SECTION_ENUM,
components: {
NcAppContent,
AppDetails,
@@ -273,7 +275,7 @@ export default {
},
beforeMount() {
- this.$store.dispatch('getCategories')
+ this.$store.dispatch('getCategories', { shouldRefetchCategories: true })
this.$store.dispatch('getAllApps')
this.$store.dispatch('getGroups', { offset: 0, limit: 5 })
this.$store.commit('setUpdateCount', this.$store.getters.getServerData.updateCount)
@@ -320,7 +322,7 @@ export default {
.app-sidebar-header--compact .app-sidebar-header__figure {
background-size: 32px;
- filter: invert(1);
+ filter: var(--background-invert-if-bright);
}
}
diff --git a/apps/settings/templates/settings/frame.php b/apps/settings/templates/settings/frame.php
index 93b03ac7eca..b2b2f04ebe0 100644
--- a/apps/settings/templates/settings/frame.php
+++ b/apps/settings/templates/settings/frame.php
@@ -40,7 +40,7 @@ script('files', 'jquery.fileupload');
$anchor = \OC::$server->getURLGenerator()->linkToRoute('settings.PersonalSettings.index', ['section' => $form['anchor']]);
$class = 'nav-icon-' . $form['anchor'];
$sectionName = $form['section-name']; ?>
- <li <?php print_unescaped($form['active'] ? ' class="active"' : ''); ?>>
+ <li <?php print_unescaped($form['active'] ? ' class="active"' : ''); ?> data-section-id="<?php print_unescaped($form['anchor']); ?>" data-section-type="personal">
<a href="<?php p($anchor); ?>"<?php print_unescaped($form['active'] ? ' aria-current="page"' : ''); ?>>
<?php if (!empty($form['icon'])) { ?>
<img alt="" src="<?php print_unescaped($form['icon']); ?>">
@@ -66,7 +66,7 @@ script('files', 'jquery.fileupload');
$anchor = \OC::$server->getURLGenerator()->linkToRoute('settings.AdminSettings.index', ['section' => $form['anchor']]);
$class = 'nav-icon-' . $form['anchor'];
$sectionName = $form['section-name']; ?>
- <li <?php print_unescaped($form['active'] ? ' class="active"' : ''); ?>>
+ <li <?php print_unescaped($form['active'] ? ' class="active"' : ''); ?> data-section-id="<?php print_unescaped($form['anchor']); ?>" data-section-type="admin">
<a href="<?php p($anchor); ?>"<?php print_unescaped($form['active'] ? ' aria-current="page"' : ''); ?>>
<?php if (!empty($form['icon'])) { ?>
<img alt="" src="<?php print_unescaped($form['icon']); ?>">
@@ -82,7 +82,6 @@ script('files', 'jquery.fileupload');
?>
</ul>
</div>
-
-<div id="app-content" tabindex="0">
+<div id="app-content" tabindex="0" data-active-section-id="<?php print_unescaped($_['activeSectionId']) ?>">
<?php print_unescaped($_['content']); ?>
</div>
diff --git a/apps/settings/templates/settings/personal/personal.info.php b/apps/settings/templates/settings/personal/personal.info.php
index 0ea5258c0f5..4dae3921645 100644
--- a/apps/settings/templates/settings/personal/personal.info.php
+++ b/apps/settings/templates/settings/personal/personal.info.php
@@ -45,69 +45,64 @@ script('settings', [
<div id="personal-settings">
<h2 class="hidden-visually"><?php p($l->t('Personal info')); ?></h2>
- <div id="personal-settings-avatar-container" class="personal-settings-container">
- <div id="vue-avatar-section"></div>
- <div class="personal-settings-setting-box personal-settings-group-box section">
- <div id="vue-details-section"></div>
+ <div id="vue-avatar-section"></div>
+ <?php if ($_['profileEnabledGlobally']) : ?>
+ <div class="personal-settings-setting-box personal-settings-setting-box-profile">
+ <div id="vue-profile-section"></div>
</div>
- </div>
-
- <div class="personal-settings-container">
- <div class="personal-settings-setting-box">
- <div id="vue-displayname-section"></div>
+ <div class="personal-settings-setting-box personal-settings-setting-box-detail">
+ <div id="vue-details-section"></div>
</div>
- <div class="personal-settings-setting-box">
- <div id="vue-email-section"></div>
+ <?php else: ?>
+ <div class="personal-settings-setting-box personal-settings-setting-box-detail--without-profile">
+ <div id="vue-details-section"></div>
</div>
+ <?php endif; ?>
+ <div class="personal-settings-setting-box">
+ <div id="vue-displayname-section"></div>
+ </div>
+ <div class="personal-settings-setting-box">
+ <div id="vue-email-section"></div>
+ </div>
+ <div class="personal-settings-setting-box">
+ <div id="vue-phone-section"></div>
+ </div>
+ <div class="personal-settings-setting-box">
+ <div id="vue-location-section"></div>
+ </div>
+ <div class="personal-settings-setting-box personal-settings-language-box">
+ <div id="vue-language-section"></div>
+ </div>
+ <div class="personal-settings-setting-box personal-settings-locale-box">
+ <div id="vue-locale-section"></div>
+ </div>
+ <div class="personal-settings-setting-box">
+ <div id="vue-website-section"></div>
+ </div>
+ <div class="personal-settings-setting-box">
+ <div id="vue-twitter-section"></div>
+ </div>
+ <div class="personal-settings-setting-box">
+ <div id="vue-fediverse-section"></div>
+ </div>
+ <?php if ($_['profileEnabledGlobally']) : ?>
<div class="personal-settings-setting-box">
- <div id="vue-phone-section"></div>
+ <div id="vue-organisation-section"></div>
</div>
<div class="personal-settings-setting-box">
- <div id="vue-location-section"></div>
+ <div id="vue-role-section"></div>
</div>
<div class="personal-settings-setting-box">
- <div id="vue-website-section"></div>
+ <div id="vue-headline-section"></div>
</div>
<div class="personal-settings-setting-box">
- <div id="vue-twitter-section"></div>
- </div>
- <?php if ($_['profileEnabledGlobally']) : ?>
- <div class="personal-settings-setting-box">
- <div id="vue-organisation-section"></div>
- </div>
- <div class="personal-settings-setting-box">
- <div id="vue-role-section"></div>
- </div>
- <div class="personal-settings-setting-box">
- <div id="vue-headline-section"></div>
- </div>
- <div class="personal-settings-setting-box">
- <div id="vue-biography-section"></div>
- </div>
- <?php endif; ?>
- </div>
-
- <div class="profile-settings-container">
- <?php if ($_['profileEnabledGlobally']) : ?>
- <div class="personal-settings-setting-box">
- <div id="vue-profile-section"></div>
- </div>
- <?php endif; ?>
- <div class="personal-settings-setting-box personal-settings-language-box">
- <div id="vue-language-section"></div>
+ <div id="vue-biography-section"></div>
</div>
- <div class="personal-settings-setting-box personal-settings-locale-box">
- <div id="vue-locale-section"></div>
- </div>
- <span class="msg"></span>
- </div>
-
- <div id="personal-settings-group-container">
-
- </div>
+ <?php endif; ?>
+ <span class="msg"></span>
+ <div id="personal-settings-group-container"></div>
</div>
-
<?php if ($_['profileEnabledGlobally']) : ?>
<div class="personal-settings-section">
<div id="vue-profile-visibility-section"></div>
diff --git a/apps/settings/tests/Controller/UsersControllerTest.php b/apps/settings/tests/Controller/UsersControllerTest.php
index 797fa1621fa..e90f34d3efd 100644
--- a/apps/settings/tests/Controller/UsersControllerTest.php
+++ b/apps/settings/tests/Controller/UsersControllerTest.php
@@ -241,6 +241,11 @@ class UsersControllerTest extends \Test\TestCase {
'Default twitter',
IAccountManager::SCOPE_LOCAL,
),
+ IAccountManager::PROPERTY_FEDIVERSE => $this->buildPropertyMock(
+ IAccountManager::PROPERTY_FEDIVERSE,
+ 'Default twitter',
+ IAccountManager::SCOPE_LOCAL,
+ ),
];
$account = $this->createMock(IAccount::class);
@@ -336,6 +341,8 @@ class UsersControllerTest extends \Test\TestCase {
$addressScope = IAccountManager::SCOPE_PUBLISHED;
$twitter = '@nextclouders';
$twitterScope = IAccountManager::SCOPE_PUBLISHED;
+ $fediverse = '@nextclouders@floss.social';
+ $fediverseScope = IAccountManager::SCOPE_PUBLISHED;
$user = $this->createMock(IUser::class);
$user->method('getUID')->willReturn('johndoe');
@@ -410,7 +417,9 @@ class UsersControllerTest extends \Test\TestCase {
$address,
$addressScope,
$twitter,
- $twitterScope
+ $twitterScope,
+ $fediverse,
+ $fediverseScope
);
}
@@ -447,6 +456,8 @@ class UsersControllerTest extends \Test\TestCase {
$addressScope = IAccountManager::SCOPE_PUBLISHED;
$twitter = '@nextclouders';
$twitterScope = IAccountManager::SCOPE_PUBLISHED;
+ $fediverse = '@nextclouders@floss.social';
+ $fediverseScope = IAccountManager::SCOPE_PUBLISHED;
// All settings are changed (in the past phone, website, address and
// twitter were not changed).
@@ -464,6 +475,8 @@ class UsersControllerTest extends \Test\TestCase {
$expectedProperties[IAccountManager::PROPERTY_ADDRESS]['scope'] = $addressScope;
$expectedProperties[IAccountManager::PROPERTY_TWITTER]['value'] = $twitter;
$expectedProperties[IAccountManager::PROPERTY_TWITTER]['scope'] = $twitterScope;
+ $expectedProperties[IAccountManager::PROPERTY_FEDIVERSE]['value'] = $fediverse;
+ $expectedProperties[IAccountManager::PROPERTY_FEDIVERSE]['scope'] = $fediverseScope;
$this->mailer->expects($this->once())->method('validateMailAddress')
->willReturn(true);
@@ -485,7 +498,9 @@ class UsersControllerTest extends \Test\TestCase {
$address,
$addressScope,
$twitter,
- $twitterScope
+ $twitterScope,
+ $fediverse,
+ $fediverseScope
);
}
@@ -523,6 +538,8 @@ class UsersControllerTest extends \Test\TestCase {
$addressScope = ($property === 'addressScope') ? $propertyValue : null;
$twitter = ($property === 'twitter') ? $propertyValue : null;
$twitterScope = ($property === 'twitterScope') ? $propertyValue : null;
+ $fediverse = ($property === 'fediverse') ? $propertyValue : null;
+ $fediverseScope = ($property === 'fediverseScope') ? $propertyValue : null;
/** @var IAccountProperty[]|MockObject[] $expectedProperties */
$expectedProperties = $userAccount->getProperties();
@@ -555,6 +572,10 @@ class UsersControllerTest extends \Test\TestCase {
case 'twitterScope':
$propertyId = IAccountManager::PROPERTY_TWITTER;
break;
+ case 'fediverse':
+ case 'fediverseScope':
+ $propertyId = IAccountManager::PROPERTY_FEDIVERSE;
+ break;
default:
$propertyId = '404';
}
@@ -584,7 +605,9 @@ class UsersControllerTest extends \Test\TestCase {
$address,
$addressScope,
$twitter,
- $twitterScope
+ $twitterScope,
+ $fediverse,
+ $fediverseScope
);
}
@@ -603,6 +626,8 @@ class UsersControllerTest extends \Test\TestCase {
['addressScope', IAccountManager::SCOPE_PUBLISHED],
['twitter', '@nextclouders'],
['twitterScope', IAccountManager::SCOPE_PUBLISHED],
+ ['fediverse', '@nextclouders@floss.social'],
+ ['fediverseScope', IAccountManager::SCOPE_PUBLISHED],
];
}
@@ -624,7 +649,7 @@ class UsersControllerTest extends \Test\TestCase {
$user->method('getSystemEMailAddress')->willReturn($oldEmailAddress);
$user->method('canChangeDisplayName')->willReturn(true);
- if ($data[IAccountManager::PROPERTY_EMAIL]['value'] === $oldEmailAddress ||
+ if (strtolower($data[IAccountManager::PROPERTY_EMAIL]['value']) === strtolower($oldEmailAddress) ||
($oldEmailAddress === null && $data[IAccountManager::PROPERTY_EMAIL]['value'] === '')) {
$user->expects($this->never())->method('setSystemEMailAddress');
} else {
@@ -720,6 +745,14 @@ class UsersControllerTest extends \Test\TestCase {
'john@example.com',
null
],
+ [
+ [
+ IAccountManager::PROPERTY_EMAIL => ['value' => 'john@example.com'],
+ IAccountManager::PROPERTY_DISPLAYNAME => ['value' => 'john doe'],
+ ],
+ 'JOHN@example.com',
+ null
+ ],
];
}
@@ -822,7 +855,7 @@ class UsersControllerTest extends \Test\TestCase {
$signature = 'theSignature';
$code = $message . ' ' . $signature;
- if ($type === IAccountManager::PROPERTY_TWITTER) {
+ if ($type === IAccountManager::PROPERTY_TWITTER || $type === IAccountManager::PROPERTY_FEDIVERSE) {
$code = $message . ' ' . md5($signature);
}
diff --git a/apps/settings/tests/UserMigration/assets/account-complex-config.json b/apps/settings/tests/UserMigration/assets/account-complex-config.json
index 8b85f523201..57c037a9d0d 100644
--- a/apps/settings/tests/UserMigration/assets/account-complex-config.json
+++ b/apps/settings/tests/UserMigration/assets/account-complex-config.json
@@ -1 +1 @@
-{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show_users_only"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"hide"},"phone":{"visibility":"hide"},"twitter":{"visibility":"show_users_only"},"website":{"visibility":"show_users_only"},"talk":{"visibility":"show"}} \ No newline at end of file
+{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show_users_only"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"fediverse":{"visibility":"show_users_only"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"hide"},"phone":{"visibility":"hide"},"twitter":{"visibility":"show_users_only"},"website":{"visibility":"show_users_only"},"talk":{"visibility":"show"}} \ No newline at end of file
diff --git a/apps/settings/tests/UserMigration/assets/account-complex.json b/apps/settings/tests/UserMigration/assets/account-complex.json
index 4199b13b704..f16a74174e7 100644
--- a/apps/settings/tests/UserMigration/assets/account-complex.json
+++ b/apps/settings/tests/UserMigration/assets/account-complex.json
@@ -1 +1 @@
-{"displayname":{"name":"displayname","value":"Steve Smith","scope":"v2-local","verified":"0","verificationData":""},"address":{"name":"address","value":"123 Water St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"https:\/\/example.org","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"steve@example.org","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-local","verified":"0","verificationData":""},"phone":{"name":"phone","value":"+12178515387","scope":"v2-private","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"steve","scope":"v2-federated","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"Mytery Machine","scope":"v2-private","verified":"0","verificationData":""},"role":{"name":"role","value":"Manager","scope":"v2-private","verified":"0","verificationData":""},"headline":{"name":"headline","value":"I am Steve","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris porttitor ullamcorper dictum. Sed fermentum ut ligula scelerisque semper. Aliquam interdum convallis tellus eu dapibus. Integer in justo sollicitudin, hendrerit ligula sit amet, blandit sem.\n\nSuspendisse consectetur ultrices accumsan. Quisque sagittis bibendum lectus ut placerat. Mauris tincidunt ornare neque, et pulvinar tortor porttitor eu.","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[{"name":"additional_mail","value":"steve@example.com","scope":"v2-published","verified":"0","verificationData":""},{"name":"additional_mail","value":"steve@earth.world","scope":"v2-local","verified":"0","verificationData":""}]} \ No newline at end of file
+{"displayname":{"name":"displayname","value":"Steve Smith","scope":"v2-local","verified":"0","verificationData":""},"address":{"name":"address","value":"123 Water St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"https:\/\/example.org","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"steve@example.org","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-local","verified":"0","verificationData":""},"phone":{"name":"phone","value":"+12178515387","scope":"v2-private","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"steve","scope":"v2-federated","verified":"0","verificationData":""},"fediverse":{"name":"fediverse","value":"@steve@floss.social","scope":"v2-federated","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"Mytery Machine","scope":"v2-private","verified":"0","verificationData":""},"role":{"name":"role","value":"Manager","scope":"v2-private","verified":"0","verificationData":""},"headline":{"name":"headline","value":"I am Steve","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris porttitor ullamcorper dictum. Sed fermentum ut ligula scelerisque semper. Aliquam interdum convallis tellus eu dapibus. Integer in justo sollicitudin, hendrerit ligula sit amet, blandit sem.\n\nSuspendisse consectetur ultrices accumsan. Quisque sagittis bibendum lectus ut placerat. Mauris tincidunt ornare neque, et pulvinar tortor porttitor eu.","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[{"name":"additional_mail","value":"steve@example.com","scope":"v2-published","verified":"0","verificationData":""},{"name":"additional_mail","value":"steve@earth.world","scope":"v2-local","verified":"0","verificationData":""}]} \ No newline at end of file
diff --git a/apps/settings/tests/UserMigration/assets/account-config.json b/apps/settings/tests/UserMigration/assets/account-config.json
index 51f4d387746..442857ced34 100644
--- a/apps/settings/tests/UserMigration/assets/account-config.json
+++ b/apps/settings/tests/UserMigration/assets/account-config.json
@@ -1 +1 @@
-{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"show_users_only"},"phone":{"visibility":"show_users_only"},"twitter":{"visibility":"show"},"website":{"visibility":"show"}} \ No newline at end of file
+{"address":{"visibility":"show_users_only"},"avatar":{"visibility":"show"},"biography":{"visibility":"show"},"displayname":{"visibility":"show"},"fediverse":{"visibility":"show"},"headline":{"visibility":"show"},"organisation":{"visibility":"show"},"role":{"visibility":"show"},"email":{"visibility":"show_users_only"},"phone":{"visibility":"show_users_only"},"twitter":{"visibility":"show"},"website":{"visibility":"show"}} \ No newline at end of file
diff --git a/apps/settings/tests/UserMigration/assets/account.json b/apps/settings/tests/UserMigration/assets/account.json
index 7f53f28c4d3..0dd5185a6ab 100644
--- a/apps/settings/tests/UserMigration/assets/account.json
+++ b/apps/settings/tests/UserMigration/assets/account.json
@@ -1 +1 @@
-{"displayname":{"name":"displayname","value":"Emma Jones","scope":"v2-federated","verified":"0","verificationData":""},"address":{"name":"address","value":"920 Grass St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-federated","verified":"0","verificationData":""},"phone":{"name":"phone","value":"","scope":"v2-local","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"","scope":"v2-local","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"","scope":"v2-local","verified":"0","verificationData":""},"role":{"name":"role","value":"","scope":"v2-local","verified":"0","verificationData":""},"headline":{"name":"headline","value":"","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[]} \ No newline at end of file
+{"displayname":{"name":"displayname","value":"Emma Jones","scope":"v2-federated","verified":"0","verificationData":""},"address":{"name":"address","value":"920 Grass St","scope":"v2-local","verified":"0","verificationData":""},"website":{"name":"website","value":"","scope":"v2-local","verified":"0","verificationData":""},"email":{"name":"email","value":"","scope":"v2-federated","verified":"0","verificationData":""},"avatar":{"name":"avatar","value":"","scope":"v2-federated","verified":"0","verificationData":""},"phone":{"name":"phone","value":"","scope":"v2-local","verified":"0","verificationData":""},"twitter":{"name":"twitter","value":"","scope":"v2-local","verified":"0","verificationData":""},"fediverse":{"name":"fediverse","value":"","scope":"v2-local","verified":"0","verificationData":""},"organisation":{"name":"organisation","value":"","scope":"v2-local","verified":"0","verificationData":""},"role":{"name":"role","value":"","scope":"v2-local","verified":"0","verificationData":""},"headline":{"name":"headline","value":"","scope":"v2-local","verified":"0","verificationData":""},"biography":{"name":"biography","value":"","scope":"v2-local","verified":"0","verificationData":""},"profile_enabled":{"name":"profile_enabled","value":"1","scope":"v2-local","verified":"0","verificationData":""},"additional_mail":[]} \ No newline at end of file
diff --git a/apps/sharebymail/composer/autoload.php b/apps/sharebymail/composer/autoload.php
index bef284b432f..a9fb0613ee8 100644
--- a/apps/sharebymail/composer/autoload.php
+++ b/apps/sharebymail/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/sharebymail/composer/composer/installed.php b/apps/sharebymail/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/sharebymail/composer/composer/installed.php
+++ b/apps/sharebymail/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/sharebymail/l10n/de.js b/apps/sharebymail/l10n/de.js
index f4f2d11217c..9058cc07e89 100644
--- a/apps/sharebymail/l10n/de.js
+++ b/apps/sharebymail/l10n/de.js
@@ -37,7 +37,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s hat »%2$s« mit dir geteilt.\nDu solltest bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.\n",
"%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s hat »%2$s« mit dir geteilt. Du solltest bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben. ",
"Password to access »%1$s« shared to you by %2$s" : "Das Passwort zum Zugriff auf %1$s wurde durch %2$s mit dir geteilt.",
- "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen",
+ "Password to access »%s«" : "Passwort um auf »%s« zuzugreifen",
"It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:",
"This password will expire at %s" : "Dieses Passwort wird um %s ablaufen.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s hat »%2$s« mit dir geteilt und möchte folgendes hinzufügen:",
diff --git a/apps/sharebymail/l10n/de.json b/apps/sharebymail/l10n/de.json
index bb5a47fa835..484720f19dc 100644
--- a/apps/sharebymail/l10n/de.json
+++ b/apps/sharebymail/l10n/de.json
@@ -35,7 +35,7 @@
"%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s hat »%2$s« mit dir geteilt.\nDu solltest bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.\n",
"%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s hat »%2$s« mit dir geteilt. Du solltest bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben. ",
"Password to access »%1$s« shared to you by %2$s" : "Das Passwort zum Zugriff auf %1$s wurde durch %2$s mit dir geteilt.",
- "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen",
+ "Password to access »%s«" : "Passwort um auf »%s« zuzugreifen",
"It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:",
"This password will expire at %s" : "Dieses Passwort wird um %s ablaufen.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s hat »%2$s« mit dir geteilt und möchte folgendes hinzufügen:",
diff --git a/apps/sharebymail/l10n/de_DE.js b/apps/sharebymail/l10n/de_DE.js
index 328dbfeb147..7aeea3852ef 100644
--- a/apps/sharebymail/l10n/de_DE.js
+++ b/apps/sharebymail/l10n/de_DE.js
@@ -37,7 +37,7 @@ OC.L10N.register(
"%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s hat »%2$s« mit Ihnen geteilt.\nSie sollten bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.\n",
"%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s hat »%2$s« mit Ihnen geteilt. Sie sollten bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.",
"Password to access »%1$s« shared to you by %2$s" : "Das Passwort zum Zugriff auf %1$s wurde durch %2$s mit Ihnen geteilt.",
- "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen",
+ "Password to access »%s«" : "Passwort um auf »%s« zuzugreifen",
"It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:",
"This password will expire at %s" : "Dieses Passwort wird um %s ablaufen.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s hat » %2$s« mit Ihnen geteilt und möchte folgendes hinzufügen:",
diff --git a/apps/sharebymail/l10n/de_DE.json b/apps/sharebymail/l10n/de_DE.json
index 64fcad2eff2..e4c93609ceb 100644
--- a/apps/sharebymail/l10n/de_DE.json
+++ b/apps/sharebymail/l10n/de_DE.json
@@ -35,7 +35,7 @@
"%1$s shared »%2$s« with you.\nYou should have already received a separate mail with a link to access it.\n" : "%1$s hat »%2$s« mit Ihnen geteilt.\nSie sollten bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.\n",
"%1$s shared »%2$s« with you. You should have already received a separate mail with a link to access it." : "%1$s hat »%2$s« mit Ihnen geteilt. Sie sollten bereits eine weitere E-Mail mit einem Link für den Zugriff erhalten haben.",
"Password to access »%1$s« shared to you by %2$s" : "Das Passwort zum Zugriff auf %1$s wurde durch %2$s mit Ihnen geteilt.",
- "Password to access »%s«" : "Passwort um auf »%s« zu zugreifen",
+ "Password to access »%s«" : "Passwort um auf »%s« zuzugreifen",
"It is protected with the following password:" : "Dies ist mit dem folgendem Passwort geschützt:",
"This password will expire at %s" : "Dieses Passwort wird um %s ablaufen.",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s hat » %2$s« mit Ihnen geteilt und möchte folgendes hinzufügen:",
diff --git a/apps/sharebymail/l10n/en_GB.js b/apps/sharebymail/l10n/en_GB.js
index 15836654ce5..f649d0f8697 100644
--- a/apps/sharebymail/l10n/en_GB.js
+++ b/apps/sharebymail/l10n/en_GB.js
@@ -5,6 +5,10 @@ OC.L10N.register(
"Shared with {email}" : "Shared with {email}",
"Shared with %1$s by %2$s" : "Shared with %1$s by %2$s",
"Shared with {email} by {actor}" : "Shared with {email} by {actor}",
+ "Unshared from %1$s" : "Unshared from %1$s",
+ "Unshared from {email}" : "Unshared from {email}",
+ "Unshared from %1$s by %2$s" : "Unshared from %1$s by %2$s",
+ "Unshared from {email} by {actor}" : "Unshared from {email} by {actor}",
"Password for mail share sent to %1$s" : "Password for mail share sent to %1$s",
"Password for mail share sent to {email}" : "Password for mail share sent to {email}",
"Password for mail share sent to you" : "Password for mail share sent to you",
@@ -12,12 +16,21 @@ OC.L10N.register(
"You shared {file} with {email} by mail" : "You shared {file} with {email} by mail",
"%3$s shared %1$s with %2$s by mail" : "%3$s shared %1$s with %2$s by mail",
"{actor} shared {file} with {email} by mail" : "{actor} shared {file} with {email} by mail",
+ "You unshared %1$s from %2$s by mail" : "You unshared %1$s from %2$s by mail",
+ "You unshared {file} from {email} by mail" : "You unshared {file} from {email} by mail",
+ "%3$s unshared %1$s from %2$s by mail" : "%3$s unshared %1$s from %2$s by mail",
+ "{actor} unshared {file} from {email} by mail" : "{actor} unshared {file} from {email} by mail",
"Password to access %1$s was sent to %2s" : "Password to access %1$s was sent to %2s",
"Password to access {file} was sent to {email}" : "Password to access {file} was sent to {email}",
"Password to access %1$s was sent to you" : "Password to access %1$s was sent to you",
"Password to access {file} was sent to you" : "Password to access {file} was sent to you",
"Share by mail" : "Share by mail",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sharing %1$s failed, because this item is already shared with user %2$s",
+ "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "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. Got an invalid email address",
"Failed to send share by email" : "Failed to send share by email",
+ "%1$s shared »%2$s« with you" : "%1$s shared »%2$s« with you",
+ "%1$s shared »%2$s« with you." : "%1$s shared »%2$s« with you.",
"Click the button below to open it." : "Click the button below to open it.",
"Open »%s«" : "Open »%s«",
"%1$s via %2$s" : "%1$s via %2$s",
@@ -26,10 +39,19 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Password to access »%1$s« shared to you by %2$s",
"Password to access »%s«" : "Password to access »%s«",
"It is protected with the following password:" : "It is protected with the following password:",
- "You can choose a different password at any time in the share dialog." : "You can choose a different password at any time in the share dialog.",
+ "This password will expire at %s" : "This password will expire at %s",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s shared »%2$s« with you and wants to add:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s shared »%2$s« with you and wants to add",
+ "»%s« added a note to a file shared with you" : "»%s« added a note to a file shared with you",
+ "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." : "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.",
+ "Password to access »%1$s« shared by you with %2$s" : "Password to access »%1$s« shared by you with %2$s",
+ "This is the password:" : "This is the password:",
+ "You can choose a different password at any time in the share dialog." : "You can choose a different password at any time in the share dialogue.",
"Could not find share" : "Could not find share",
"Share provider which allows you to share files by mail" : "Share provider which allows you to share files by mail",
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Allows users to share a personalised link to a file or folder by putting in an email address.",
- "Send password by mail" : "Send password by mail"
+ "Send password by mail" : "Send password by mail",
+ "Reply to initiator" : "Reply to initiator",
+ "Unable to update share by mail config" : "Unable to update share by mail config"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/en_GB.json b/apps/sharebymail/l10n/en_GB.json
index e342a4c298a..de1fcc3fc0f 100644
--- a/apps/sharebymail/l10n/en_GB.json
+++ b/apps/sharebymail/l10n/en_GB.json
@@ -3,6 +3,10 @@
"Shared with {email}" : "Shared with {email}",
"Shared with %1$s by %2$s" : "Shared with %1$s by %2$s",
"Shared with {email} by {actor}" : "Shared with {email} by {actor}",
+ "Unshared from %1$s" : "Unshared from %1$s",
+ "Unshared from {email}" : "Unshared from {email}",
+ "Unshared from %1$s by %2$s" : "Unshared from %1$s by %2$s",
+ "Unshared from {email} by {actor}" : "Unshared from {email} by {actor}",
"Password for mail share sent to %1$s" : "Password for mail share sent to %1$s",
"Password for mail share sent to {email}" : "Password for mail share sent to {email}",
"Password for mail share sent to you" : "Password for mail share sent to you",
@@ -10,12 +14,21 @@
"You shared {file} with {email} by mail" : "You shared {file} with {email} by mail",
"%3$s shared %1$s with %2$s by mail" : "%3$s shared %1$s with %2$s by mail",
"{actor} shared {file} with {email} by mail" : "{actor} shared {file} with {email} by mail",
+ "You unshared %1$s from %2$s by mail" : "You unshared %1$s from %2$s by mail",
+ "You unshared {file} from {email} by mail" : "You unshared {file} from {email} by mail",
+ "%3$s unshared %1$s from %2$s by mail" : "%3$s unshared %1$s from %2$s by mail",
+ "{actor} unshared {file} from {email} by mail" : "{actor} unshared {file} from {email} by mail",
"Password to access %1$s was sent to %2s" : "Password to access %1$s was sent to %2s",
"Password to access {file} was sent to {email}" : "Password to access {file} was sent to {email}",
"Password to access %1$s was sent to you" : "Password to access %1$s was sent to you",
"Password to access {file} was sent to you" : "Password to access {file} was sent to you",
"Share by mail" : "Share by mail",
+ "Sharing %1$s failed, because this item is already shared with user %2$s" : "Sharing %1$s failed, because this item is already shared with user %2$s",
+ "We cannot send you the auto-generated password. Please set a valid email address in your personal settings and try again." : "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. Got an invalid email address",
"Failed to send share by email" : "Failed to send share by email",
+ "%1$s shared »%2$s« with you" : "%1$s shared »%2$s« with you",
+ "%1$s shared »%2$s« with you." : "%1$s shared »%2$s« with you.",
"Click the button below to open it." : "Click the button below to open it.",
"Open »%s«" : "Open »%s«",
"%1$s via %2$s" : "%1$s via %2$s",
@@ -24,10 +37,19 @@
"Password to access »%1$s« shared to you by %2$s" : "Password to access »%1$s« shared to you by %2$s",
"Password to access »%s«" : "Password to access »%s«",
"It is protected with the following password:" : "It is protected with the following password:",
- "You can choose a different password at any time in the share dialog." : "You can choose a different password at any time in the share dialog.",
+ "This password will expire at %s" : "This password will expire at %s",
+ "%1$s shared »%2$s« with you and wants to add:" : "%1$s shared »%2$s« with you and wants to add:",
+ "%1$s shared »%2$s« with you and wants to add" : "%1$s shared »%2$s« with you and wants to add",
+ "»%s« added a note to a file shared with you" : "»%s« added a note to a file shared with you",
+ "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." : "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.",
+ "Password to access »%1$s« shared by you with %2$s" : "Password to access »%1$s« shared by you with %2$s",
+ "This is the password:" : "This is the password:",
+ "You can choose a different password at any time in the share dialog." : "You can choose a different password at any time in the share dialogue.",
"Could not find share" : "Could not find share",
"Share provider which allows you to share files by mail" : "Share provider which allows you to share files by mail",
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Allows users to share a personalised link to a file or folder by putting in an email address.",
- "Send password by mail" : "Send password by mail"
+ "Send password by mail" : "Send password by mail",
+ "Reply to initiator" : "Reply to initiator",
+ "Unable to update share by mail config" : "Unable to update share by mail config"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/sharebymail/l10n/ko.js b/apps/sharebymail/l10n/ko.js
index d36cabce582..64b9badc749 100644
--- a/apps/sharebymail/l10n/ko.js
+++ b/apps/sharebymail/l10n/ko.js
@@ -23,6 +23,9 @@ OC.L10N.register(
"%1$s via %2$s" : "%1$s(%2$s 경유)",
"Password to access »%s«" : "%s에 접근할 수 있는 암호",
"It is protected with the following password:" : "비밀번호로 보호됩니다.",
+ "%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이(가) 당신과 공유한 파일에 메모를 추가함",
"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/ko.json b/apps/sharebymail/l10n/ko.json
index 27fdd6731b4..3d1764518d0 100644
--- a/apps/sharebymail/l10n/ko.json
+++ b/apps/sharebymail/l10n/ko.json
@@ -21,6 +21,9 @@
"%1$s via %2$s" : "%1$s(%2$s 경유)",
"Password to access »%s«" : "%s에 접근할 수 있는 암호",
"It is protected with the following password:" : "비밀번호로 보호됩니다.",
+ "%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이(가) 당신과 공유한 파일에 메모를 추가함",
"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/sv.js b/apps/sharebymail/l10n/sv.js
index f170f9a9144..13a8d608bc3 100644
--- a/apps/sharebymail/l10n/sv.js
+++ b/apps/sharebymail/l10n/sv.js
@@ -39,6 +39,7 @@ OC.L10N.register(
"Password to access »%1$s« shared to you by %2$s" : "Lösenord för access till »%1$s« delad med dig av %2$s",
"Password to access »%s«" : "Lösenord för att nå »%s«",
"It is protected with the following password:" : "Den är skyddad med följande lösenord:",
+ "This password will expire at %s" : "Detta lösenord kommer upphöra %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s delade »%2$s« med dig och vill lägga till:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s delade »%2$s« med dig och vill lägga till",
"»%s« added a note to a file shared with you" : "»%s« la till en kommentar till en fil delad med dig",
@@ -50,6 +51,7 @@ OC.L10N.register(
"Share provider which allows you to share files by mail" : "Möjliggör delning av filer via e-post",
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Tillåt användare att dela en personlig länk till en fil eller mapp genom att ange en e-postadress",
"Send password by mail" : "Skicka lösenord via e-post",
- "Reply to initiator" : "Svara till startare"
+ "Reply to initiator" : "Svara till startare",
+ "Unable to update share by mail config" : "Kunde inte uppdatera konfiguration för delning via e-post"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/sharebymail/l10n/sv.json b/apps/sharebymail/l10n/sv.json
index 0400e702d74..46dc7421dbb 100644
--- a/apps/sharebymail/l10n/sv.json
+++ b/apps/sharebymail/l10n/sv.json
@@ -37,6 +37,7 @@
"Password to access »%1$s« shared to you by %2$s" : "Lösenord för access till »%1$s« delad med dig av %2$s",
"Password to access »%s«" : "Lösenord för att nå »%s«",
"It is protected with the following password:" : "Den är skyddad med följande lösenord:",
+ "This password will expire at %s" : "Detta lösenord kommer upphöra %s",
"%1$s shared »%2$s« with you and wants to add:" : "%1$s delade »%2$s« med dig och vill lägga till:",
"%1$s shared »%2$s« with you and wants to add" : "%1$s delade »%2$s« med dig och vill lägga till",
"»%s« added a note to a file shared with you" : "»%s« la till en kommentar till en fil delad med dig",
@@ -48,6 +49,7 @@
"Share provider which allows you to share files by mail" : "Möjliggör delning av filer via e-post",
"Allows users to share a personalized link to a file or folder by putting in an email address." : "Tillåt användare att dela en personlig länk till en fil eller mapp genom att ange en e-postadress",
"Send password by mail" : "Skicka lösenord via e-post",
- "Reply to initiator" : "Svara till startare"
+ "Reply to initiator" : "Svara till startare",
+ "Unable to update share by mail config" : "Kunde inte uppdatera konfiguration för delning via e-post"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/sharebymail/lib/Activity.php b/apps/sharebymail/lib/Activity.php
index 3693455dda4..d1f15eb0e54 100644
--- a/apps/sharebymail/lib/Activity.php
+++ b/apps/sharebymail/lib/Activity.php
@@ -31,12 +31,10 @@ use OCP\Activity\IProvider;
use OCP\Contacts\IManager as IContactsManager;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory;
class Activity implements IProvider {
-
/** @var IFactory */
protected $languageFactory;
@@ -115,72 +113,54 @@ class Activity implements IProvider {
$parsedParameters = $this->getParsedParameters($event);
if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_SELF) {
- $event->setParsedSubject($this->l->t('Shared with %1$s', [
- $parsedParameters['email']['name'],
- ]))
- ->setRichSubject($this->l->t('Shared with {email}'), [
- 'email' => $parsedParameters['email'],
- ]);
+ $event->setRichSubject($this->l->t('Shared with {email}'), [
+ 'email' => $parsedParameters['email'],
+ ]);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_BY) {
- $event->setParsedSubject($this->l->t('Shared with %1$s by %2$s', [
- $parsedParameters['email']['name'],
- $parsedParameters['actor']['name'],
- ]))
- ->setRichSubject($this->l->t('Shared with {email} by {actor}'), [
- 'email' => $parsedParameters['email'],
- 'actor' => $parsedParameters['actor'],
- ]);
+ $event->setRichSubject($this->l->t('Shared with {email} by {actor}'), [
+ 'email' => $parsedParameters['email'],
+ 'actor' => $parsedParameters['actor'],
+ ]);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_UNSHARED_EMAIL_SELF) {
- $event->setParsedSubject($this->l->t('Unshared from %1$s', [
- $parsedParameters['email']['name'],
- ]))
- ->setRichSubject($this->l->t('Unshared from {email}'), [
- 'email' => $parsedParameters['email'],
- ]);
+ $event->setRichSubject($this->l->t('Unshared from {email}'), [
+ 'email' => $parsedParameters['email'],
+ ]);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_UNSHARED_EMAIL_BY) {
- $event->setParsedSubject($this->l->t('Unshared from %1$s by %2$s', [
- $parsedParameters['email']['name'],
- $parsedParameters['actor']['name'],
- ]))
- ->setRichSubject($this->l->t('Unshared from {email} by {actor}'), [
- 'email' => $parsedParameters['email'],
- 'actor' => $parsedParameters['actor'],
- ]);
+ $event->setRichSubject($this->l->t('Unshared from {email} by {actor}'), [
+ 'email' => $parsedParameters['email'],
+ 'actor' => $parsedParameters['actor'],
+ ]);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_PASSWORD_SEND) {
- $event->setParsedSubject($this->l->t('Password for mail share sent to %1$s', [
- $parsedParameters['email']['name']
- ]))
- ->setRichSubject($this->l->t('Password for mail share sent to {email}'), [
- 'email' => $parsedParameters['email']
- ]);
+ $event->setRichSubject($this->l->t('Password for mail share sent to {email}'), [
+ 'email' => $parsedParameters['email']
+ ]);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_PASSWORD_SEND_SELF) {
- $event->setParsedSubject($this->l->t('Password for mail share sent to you'))
- ->setRichSubject($this->l->t('Password for mail share sent to you'));
+ $event->setRichSubject($this->l->t('Password for mail share sent to you'));
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
@@ -203,67 +183,42 @@ class Activity implements IProvider {
$parsedParameters = $this->getParsedParameters($event);
if ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_SELF) {
- $event->setParsedSubject($this->l->t('You shared %1$s with %2$s by mail', [
- $parsedParameters['file']['path'],
- $parsedParameters['email']['name'],
- ]))
- ->setRichSubject($this->l->t('You shared {file} with {email} by mail'), $parsedParameters);
+ $event->setRichSubject($this->l->t('You shared {file} with {email} by mail'), $parsedParameters);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_BY) {
- $event->setParsedSubject($this->l->t('%3$s shared %1$s with %2$s by mail', [
- $parsedParameters['file']['path'],
- $parsedParameters['email']['name'],
- $parsedParameters['actor']['name'],
- ]))
- ->setRichSubject($this->l->t('{actor} shared {file} with {email} by mail'), $parsedParameters);
+ $event->setRichSubject($this->l->t('{actor} shared {file} with {email} by mail'), $parsedParameters);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_UNSHARED_EMAIL_SELF) {
- $event->setParsedSubject($this->l->t('You unshared %1$s from %2$s by mail', [
- $parsedParameters['file']['path'],
- $parsedParameters['email']['name'],
- ]))
- ->setRichSubject($this->l->t('You unshared {file} from {email} by mail'), $parsedParameters);
+ $event->setRichSubject($this->l->t('You unshared {file} from {email} by mail'), $parsedParameters);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_UNSHARED_EMAIL_BY) {
- $event->setParsedSubject($this->l->t('%3$s unshared %1$s from %2$s by mail', [
- $parsedParameters['file']['path'],
- $parsedParameters['email']['name'],
- $parsedParameters['actor']['name'],
- ]))
- ->setRichSubject($this->l->t('{actor} unshared {file} from {email} by mail'), $parsedParameters);
+ $event->setRichSubject($this->l->t('{actor} unshared {file} from {email} by mail'), $parsedParameters);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_PASSWORD_SEND) {
- $event->setParsedSubject($this->l->t('Password to access %1$s was sent to %2s', [
- $parsedParameters['file']['path'],
- $parsedParameters['email']['name']
- ]))
- ->setRichSubject($this->l->t('Password to access {file} was sent to {email}'), $parsedParameters);
+ $event->setRichSubject($this->l->t('Password to access {file} was sent to {email}'), $parsedParameters);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.svg')));
}
} elseif ($event->getSubject() === self::SUBJECT_SHARED_EMAIL_PASSWORD_SEND_SELF) {
- $event->setParsedSubject(
- $this->l->t('Password to access %1$s was sent to you',
- [$parsedParameters['file']['path']]))
- ->setRichSubject($this->l->t('Password to access {file} was sent to you'), $parsedParameters);
+ $event->setRichSubject($this->l->t('Password to access {file} was sent to you'), $parsedParameters);
if ($this->activityManager->getRequirePNG()) {
$event->setIcon($this->url->getAbsoluteURL($this->url->imagePath('core', 'actions/share.png')));
} else {
diff --git a/apps/systemtags/composer/autoload.php b/apps/systemtags/composer/autoload.php
index 5f15d593150..0fc41f943b4 100644
--- a/apps/systemtags/composer/autoload.php
+++ b/apps/systemtags/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/systemtags/composer/composer/installed.php b/apps/systemtags/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/systemtags/composer/composer/installed.php
+++ b/apps/systemtags/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/systemtags/l10n/en_GB.js b/apps/systemtags/l10n/en_GB.js
index 5fd7f50002d..bc85cbe3235 100644
--- a/apps/systemtags/l10n/en_GB.js
+++ b/apps/systemtags/l10n/en_GB.js
@@ -1,13 +1,16 @@
OC.L10N.register(
"systemtags",
{
+ "Tag name is empty" : "Tag name is empty",
"Update" : "Update",
"Create" : "Create",
"Select tag …" : "Select tag …",
+ "System tag %1$s added by the system" : "System tag %1$s added by the system",
"Added system tag {systemtag}" : "Added system tag {systemtag}",
"Added system tag %1$s" : "Added system tag %1$s",
"%1$s added system tag %2$s" : "%1$s added system tag %2$s",
"{actor} added system tag {systemtag}" : "{actor} added system tag {systemtag}",
+ "System tag %1$s removed by the system" : "System tag %1$s removed by the system",
"Removed system tag {systemtag}" : "Removed system tag {systemtag}",
"Removed system tag %1$s" : "Removed system tag %1$s",
"%1$s removed system tag %2$s" : "%1$s removed system tag %2$s",
@@ -24,10 +27,14 @@ OC.L10N.register(
"You updated system tag {oldsystemtag} to {newsystemtag}" : "You updated system tag {oldsystemtag} to {newsystemtag}",
"%1$s updated system tag %3$s to %2$s" : "%1$s updated system tag %3$s to %2$s",
"{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} updated system tag {oldsystemtag} to {newsystemtag}",
+ "System tag %2$s was added to %1$s by the system" : "System tag %2$s was added to %1$s by the system",
+ "System tag {systemtag} was added to {file} by the system" : "System tag {systemtag} was added to {file} by the system",
"You added system tag %2$s to %1$s" : "You added system tag %2$s to %1$s",
"You added system tag {systemtag} to {file}" : "You added system tag {systemtag} to {file}",
"%1$s added system tag %3$s to %2$s" : "%1$s added system tag %3$s to %2$s",
"{actor} added system tag {systemtag} to {file}" : "{actor} added system tag {systemtag} to {file}",
+ "System tag %2$s was removed from %1$s by the system" : "System tag %2$s was removed from %1$s by the system",
+ "System tag {systemtag} was removed from {file} by the system" : "System tag {systemtag} was removed from {file} by the system",
"You removed system tag %2$s from %1$s" : "You removed system tag %2$s from %1$s",
"You removed system tag {systemtag} from {file}" : "You removed system tag {systemtag} from {file}",
"%1$s removed system tag %3$s from %2$s" : "%1$s removed system tag %3$s from %2$s",
@@ -36,6 +43,8 @@ OC.L10N.register(
"%s (invisible)" : "%s (invisible)",
"<strong>System tags</strong> for a file have been modified" : "<strong>System tags</strong> for a file have been modified",
"Tags" : "Tags",
+ "All tagged %s …" : "All tagged %s …",
+ "tagged %s" : "tagged %s",
"Collaborative tags" : "Collaborative tags",
"Collaborative tagging functionality which shares tags among users." : "Collaborative tagging functionality which shares tags among users.",
"Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)",
@@ -44,6 +53,7 @@ OC.L10N.register(
"No tags found" : "No tags found",
"Please select tags to filter by" : "Please select tags to filter by",
"No files found for the selected tags" : "No files found for the selected tags",
+ "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." : "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.",
"Create a new tag" : "Create a new tag",
"Name" : "Name",
"Public" : "Public",
diff --git a/apps/systemtags/l10n/en_GB.json b/apps/systemtags/l10n/en_GB.json
index a06b2511b44..2c5e22e4011 100644
--- a/apps/systemtags/l10n/en_GB.json
+++ b/apps/systemtags/l10n/en_GB.json
@@ -1,11 +1,14 @@
{ "translations": {
+ "Tag name is empty" : "Tag name is empty",
"Update" : "Update",
"Create" : "Create",
"Select tag …" : "Select tag …",
+ "System tag %1$s added by the system" : "System tag %1$s added by the system",
"Added system tag {systemtag}" : "Added system tag {systemtag}",
"Added system tag %1$s" : "Added system tag %1$s",
"%1$s added system tag %2$s" : "%1$s added system tag %2$s",
"{actor} added system tag {systemtag}" : "{actor} added system tag {systemtag}",
+ "System tag %1$s removed by the system" : "System tag %1$s removed by the system",
"Removed system tag {systemtag}" : "Removed system tag {systemtag}",
"Removed system tag %1$s" : "Removed system tag %1$s",
"%1$s removed system tag %2$s" : "%1$s removed system tag %2$s",
@@ -22,10 +25,14 @@
"You updated system tag {oldsystemtag} to {newsystemtag}" : "You updated system tag {oldsystemtag} to {newsystemtag}",
"%1$s updated system tag %3$s to %2$s" : "%1$s updated system tag %3$s to %2$s",
"{actor} updated system tag {oldsystemtag} to {newsystemtag}" : "{actor} updated system tag {oldsystemtag} to {newsystemtag}",
+ "System tag %2$s was added to %1$s by the system" : "System tag %2$s was added to %1$s by the system",
+ "System tag {systemtag} was added to {file} by the system" : "System tag {systemtag} was added to {file} by the system",
"You added system tag %2$s to %1$s" : "You added system tag %2$s to %1$s",
"You added system tag {systemtag} to {file}" : "You added system tag {systemtag} to {file}",
"%1$s added system tag %3$s to %2$s" : "%1$s added system tag %3$s to %2$s",
"{actor} added system tag {systemtag} to {file}" : "{actor} added system tag {systemtag} to {file}",
+ "System tag %2$s was removed from %1$s by the system" : "System tag %2$s was removed from %1$s by the system",
+ "System tag {systemtag} was removed from {file} by the system" : "System tag {systemtag} was removed from {file} by the system",
"You removed system tag %2$s from %1$s" : "You removed system tag %2$s from %1$s",
"You removed system tag {systemtag} from {file}" : "You removed system tag {systemtag} from {file}",
"%1$s removed system tag %3$s from %2$s" : "%1$s removed system tag %3$s from %2$s",
@@ -34,6 +41,8 @@
"%s (invisible)" : "%s (invisible)",
"<strong>System tags</strong> for a file have been modified" : "<strong>System tags</strong> for a file have been modified",
"Tags" : "Tags",
+ "All tagged %s …" : "All tagged %s …",
+ "tagged %s" : "tagged %s",
"Collaborative tags" : "Collaborative tags",
"Collaborative tagging functionality which shares tags among users." : "Collaborative tagging functionality which shares tags among users.",
"Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)",
@@ -42,6 +51,7 @@
"No tags found" : "No tags found",
"Please select tags to filter by" : "Please select tags to filter by",
"No files found for the selected tags" : "No files found for the selected tags",
+ "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." : "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.",
"Create a new tag" : "Create a new tag",
"Name" : "Name",
"Public" : "Public",
diff --git a/apps/systemtags/l10n/he.js b/apps/systemtags/l10n/he.js
index 5a8ae27746d..30e04c4e207 100644
--- a/apps/systemtags/l10n/he.js
+++ b/apps/systemtags/l10n/he.js
@@ -43,6 +43,8 @@ OC.L10N.register(
"%s (invisible)" : "%s (נסתר)",
"<strong>System tags</strong> for a file have been modified" : "<strong>תגיות מערכת</strong> שהשתנו עבור קובץ",
"Tags" : "תגיות",
+ "All tagged %s …" : "כל ה־%s המתויגים…",
+ "tagged %s" : "%s מתויג",
"Collaborative tags" : "תגיות שיתופיות",
"Collaborative tagging functionality which shares tags among users." : "תכונת תיוג שיתופים שמשתפת תגיות בין המשתמשים.",
"Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "תכונת התיוג השיתופי שמשתפת תגיות בין משתמשים. מעולה לעבודת צוות.\n\t(אם בבעלותך התקנה עם מגוון מערכות נפרדות, מוטב להשבית את היישומון הזה כיוון שהתגיות משותפות.)",
diff --git a/apps/systemtags/l10n/he.json b/apps/systemtags/l10n/he.json
index 32ad3cd3da6..5fa08703bbc 100644
--- a/apps/systemtags/l10n/he.json
+++ b/apps/systemtags/l10n/he.json
@@ -41,6 +41,8 @@
"%s (invisible)" : "%s (נסתר)",
"<strong>System tags</strong> for a file have been modified" : "<strong>תגיות מערכת</strong> שהשתנו עבור קובץ",
"Tags" : "תגיות",
+ "All tagged %s …" : "כל ה־%s המתויגים…",
+ "tagged %s" : "%s מתויג",
"Collaborative tags" : "תגיות שיתופיות",
"Collaborative tagging functionality which shares tags among users." : "תכונת תיוג שיתופים שמשתפת תגיות בין המשתמשים.",
"Collaborative tagging functionality which shares tags among users. Great for teams.\n\t(If you are a provider with a multi-tenancy installation, it is advised to deactivate this app as tags are shared.)" : "תכונת התיוג השיתופי שמשתפת תגיות בין משתמשים. מעולה לעבודת צוות.\n\t(אם בבעלותך התקנה עם מגוון מערכות נפרדות, מוטב להשבית את היישומון הזה כיוון שהתגיות משותפות.)",
diff --git a/apps/systemtags/l10n/uk.js b/apps/systemtags/l10n/uk.js
index 97b63820472..2f5aaf9e595 100644
--- a/apps/systemtags/l10n/uk.js
+++ b/apps/systemtags/l10n/uk.js
@@ -62,7 +62,7 @@ OC.L10N.register(
"Delete" : "Вилучити",
"Reset" : "Скидання",
"No files in here" : "Тут немає файлів",
- "No entries found in this folder" : "В цьому каталозі нічого немає",
+ "No entries found in this folder" : "В цьому каталозі нічого не знайдено",
"Size" : "Розмір",
"Modified" : "Змінено"
},
diff --git a/apps/systemtags/l10n/uk.json b/apps/systemtags/l10n/uk.json
index 77b4f4417e7..955884f27a0 100644
--- a/apps/systemtags/l10n/uk.json
+++ b/apps/systemtags/l10n/uk.json
@@ -60,7 +60,7 @@
"Delete" : "Вилучити",
"Reset" : "Скидання",
"No files in here" : "Тут немає файлів",
- "No entries found in this folder" : "В цьому каталозі нічого немає",
+ "No entries found in this folder" : "В цьому каталозі нічого не знайдено",
"Size" : "Розмір",
"Modified" : "Змінено"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
diff --git a/apps/systemtags/lib/Activity/Provider.php b/apps/systemtags/lib/Activity/Provider.php
index 16a5687fc81..63e000325d4 100644
--- a/apps/systemtags/lib/Activity/Provider.php
+++ b/apps/systemtags/lib/Activity/Provider.php
@@ -28,7 +28,6 @@ use OCP\Activity\IManager;
use OCP\Activity\IProvider;
use OCP\IL10N;
use OCP\IURLGenerator;
-use OCP\IUser;
use OCP\IUserManager;
use OCP\L10N\IFactory;
diff --git a/apps/systemtags/src/systemtagsfilelist.js b/apps/systemtags/src/systemtagsfilelist.js
index 5f2eae521b2..04ce6aebd4b 100644
--- a/apps/systemtags/src/systemtagsfilelist.js
+++ b/apps/systemtags/src/systemtagsfilelist.js
@@ -110,7 +110,6 @@
toggleSelect: true,
separator: ',',
query: _.bind(this._queryTagsAutocomplete, this),
- minimumInputLength: 3,
id(tag) {
return tag.id
diff --git a/apps/testing/composer/autoload.php b/apps/testing/composer/autoload.php
index 1ac43d5c8e9..4c194aa5707 100644
--- a/apps/testing/composer/autoload.php
+++ b/apps/testing/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/testing/composer/composer/installed.php b/apps/testing/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/testing/composer/composer/installed.php
+++ b/apps/testing/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/theming/appinfo/routes.php b/apps/theming/appinfo/routes.php
index 0b51b22dbb7..8647ae135a8 100644
--- a/apps/theming/appinfo/routes.php
+++ b/apps/theming/appinfo/routes.php
@@ -40,6 +40,11 @@ return [
'verb' => 'POST'
],
[
+ 'name' => 'Theming#undoAll',
+ 'url' => '/ajax/undoAllChanges',
+ 'verb' => 'POST'
+ ],
+ [
'name' => 'Theming#uploadImage',
'url' => '/ajax/uploadImage',
'verb' => 'POST'
@@ -88,6 +93,11 @@ return [
'url' => '/background/{type}',
'verb' => 'POST',
],
+ [
+ 'name' => 'userTheme#deleteBackground',
+ 'url' => '/background/custom',
+ 'verb' => 'DELETE',
+ ],
],
'ocs' => [
[
diff --git a/apps/theming/css/default.css b/apps/theming/css/default.css
index 0d3f3402fce..3b732f1af3e 100644
--- a/apps/theming/css/default.css
+++ b/apps/theming/css/default.css
@@ -32,6 +32,7 @@
--color-box-shadow: rgba(var(--color-box-shadow-rgb), 0.5);
--color-border: #ededed;
--color-border-dark: #dbdbdb;
+ --color-border-maxcontrast: #949494;
--font-face: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol';
--default-font-size: 15px;
--animation-quick: 100ms;
@@ -54,25 +55,24 @@
--background-invert-if-dark: no;
--background-invert-if-bright: invert(100%);
--background-image-invert-if-bright: no;
- --image-background: url('/core/img/app-background.jpg');
- --image-background-default: url('/core/img/app-background.jpg');
- --color-background-plain: #0082c9;
--primary-invert-if-bright: no;
- --color-primary: #00639a;
+ --color-primary: #006aa3;
--color-primary-default: #0082c9;
--color-primary-text: #ffffff;
- --color-primary-hover: #3282ae;
- --color-primary-light: #e5eff4;
- --color-primary-light-text: #00273d;
- --color-primary-light-hover: #dbe4e9;
+ --color-primary-hover: #3287b5;
+ --color-primary-light: #e5f0f5;
+ --color-primary-light-text: #002a41;
+ --color-primary-light-hover: #dbe5ea;
--color-primary-text-dark: #ededed;
- --color-primary-element: #00639a;
+ --color-primary-element: #006aa3;
--color-primary-element-default-hover: #329bd3;
--color-primary-element-text: #ffffff;
- --color-primary-element-hover: #3282ae;
- --color-primary-element-light: #e5eff4;
- --color-primary-element-light-text: #00273d;
- --color-primary-element-light-hover: #dbe4e9;
+ --color-primary-element-hover: #3287b5;
+ --color-primary-element-light: #e5f0f5;
+ --color-primary-element-light-text: #002a41;
+ --color-primary-element-light-hover: #dbe5ea;
--color-primary-element-text-dark: #ededed;
--gradient-primary-background: linear-gradient(40deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);
+ --image-background-default: url('/apps/theming/img/background/kamil-porembinski-clouds.jpg');
+ --color-background-plain: #0082c9;
}
diff --git a/apps/theming/l10n/ar.js b/apps/theming/l10n/ar.js
index 920b5be54ea..745667f22be 100644
--- a/apps/theming/l10n/ar.js
+++ b/apps/theming/l10n/ar.js
@@ -42,10 +42,6 @@ OC.L10N.register(
"Upload new favicon" : "تحميل أيقونة مفضلة جديدة",
"Keyboard shortcuts" : "إختصارات لوحة المفاتيح",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "الوصول الشامل مهم جدا بالنسبة لنا. نحن نتبع معايير ويب صارمة ونتأكد من أن كل شيء يمكن إستعماله حتى دون الحاجة للفأرة أو إلى أي برامج مساعدة مثل برامج قراءة الشاشة. هدفنا أن نكون متوافقين مع {guidelines} توجيهات تسهيل إستعمال محتوى الويب {linkend} 2.1 بمستوى AA، ومتوافقين مع مظهر تباين الألوان العالي بمستوى يصل حتى إلى AAA.",
- "Pick from Files" : "اختر من الملفات",
- "Custom color" : "لون خاص",
- "Plain background" : "خلفية سادة",
- "Insert from {productName}" : "اضف من {productName}",
"Reset to default" : "اعادة تعيين الافتراضيات",
"Upload" : "تحميل",
"Remove background image" : "إزالة صورة الخلفية",
@@ -53,6 +49,10 @@ OC.L10N.register(
"Admin" : "ادارة",
"Open documentation" : "فتح الدليل",
"Login image" : "صورة الدخول",
- "Upload new login background" : "تحميل خلفية جديدة للدخول"
+ "Upload new login background" : "تحميل خلفية جديدة للدخول",
+ "Pick from Files" : "اختر من الملفات",
+ "Custom color" : "لون خاص",
+ "Plain background" : "خلفية سادة",
+ "Insert from {productName}" : "اضف من {productName}"
},
"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;");
diff --git a/apps/theming/l10n/ar.json b/apps/theming/l10n/ar.json
index 40eb2456cc9..a44b7080077 100644
--- a/apps/theming/l10n/ar.json
+++ b/apps/theming/l10n/ar.json
@@ -40,10 +40,6 @@
"Upload new favicon" : "تحميل أيقونة مفضلة جديدة",
"Keyboard shortcuts" : "إختصارات لوحة المفاتيح",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "الوصول الشامل مهم جدا بالنسبة لنا. نحن نتبع معايير ويب صارمة ونتأكد من أن كل شيء يمكن إستعماله حتى دون الحاجة للفأرة أو إلى أي برامج مساعدة مثل برامج قراءة الشاشة. هدفنا أن نكون متوافقين مع {guidelines} توجيهات تسهيل إستعمال محتوى الويب {linkend} 2.1 بمستوى AA، ومتوافقين مع مظهر تباين الألوان العالي بمستوى يصل حتى إلى AAA.",
- "Pick from Files" : "اختر من الملفات",
- "Custom color" : "لون خاص",
- "Plain background" : "خلفية سادة",
- "Insert from {productName}" : "اضف من {productName}",
"Reset to default" : "اعادة تعيين الافتراضيات",
"Upload" : "تحميل",
"Remove background image" : "إزالة صورة الخلفية",
@@ -51,6 +47,10 @@
"Admin" : "ادارة",
"Open documentation" : "فتح الدليل",
"Login image" : "صورة الدخول",
- "Upload new login background" : "تحميل خلفية جديدة للدخول"
+ "Upload new login background" : "تحميل خلفية جديدة للدخول",
+ "Pick from Files" : "اختر من الملفات",
+ "Custom color" : "لون خاص",
+ "Plain background" : "خلفية سادة",
+ "Insert from {productName}" : "اضف من {productName}"
},"pluralForm" :"nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/bg.js b/apps/theming/l10n/bg.js
index 7764ca8bdc1..b877c58e957 100644
--- a/apps/theming/l10n/bg.js
+++ b/apps/theming/l10n/bg.js
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "Задаване на персонализиран фон",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универсалният достъп е много важен за нас. Следваме уеб стандартите и проверяваме, за да направим всичко използваемо и без мишка, и помощен софтуер, като екранни четци. Ние се стремим да бъдем съобразени с {guidelines}Насоки за достъпност на уеб съдържанието {linkend} 2.1 на ниво АА, с темата за висок контраст дори на ниво AAA.",
"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}!" : "Ако откриете някакви проблеми, не се колебайте да ги съобщите на {issueetracker}, нашият тракер на проблеми {linkend}. И ако искате да се включите, елате да се присъедините {designteam} към нашия дизайнерски екип {linkend}!",
- "Pick from Files" : "Избери от Файловете",
- "Default image" : "Изображение по подразбиране",
- "Custom color" : "Персонализиране на цвят",
- "Plain background" : "Обикновен фон",
- "Insert from {productName}" : "Вмъкване от {productName}",
+ "Custom background" : "Персонализиран фон",
+ "Default background" : "Фон по подразбиране",
+ "Change color" : "Промяна на цвета",
+ "Remove background" : "Премахване на фона",
+ "Select a background from your files" : "Избор на фон от вашите файлове",
"Theme selection is enforced" : "Изборът на тема е приложен",
"Select a custom color" : "Избор на персонализиран цвят",
"Reset to default" : "Настройки по подразбиране",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Качване на нов фон за входа",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирайте разширението Imagemagick PHP с поддръжка за SVG изображения, за да генерирате автоматично фавикони въз основа на каченото лого и цвят.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "В някои случаи бързите клавишни комбинации могат да пречат на инструментите за достъпност. За да се позволи правилно фокусиране върху инструмента, можете да деактивирате всички клавишни комбинации тук. Това ще деактивира и всички налични преки пътища в приложенията.",
+ "Pick from Files" : "Избери от Файловете",
+ "Default image" : "Изображение по подразбиране",
+ "Custom color" : "Персонализиране на цвят",
+ "Plain background" : "Обикновен фон",
+ "Insert from {productName}" : "Вмъкване от {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Въпреки че можете да изберете и персонализирате вашият екземпляр, потребителите могат да променят техният фон и цветове. Ако искате да наложите персонализирането си, можете да поставите отметка в това поле."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/bg.json b/apps/theming/l10n/bg.json
index 1271f39c403..253ddeee32a 100644
--- a/apps/theming/l10n/bg.json
+++ b/apps/theming/l10n/bg.json
@@ -74,11 +74,11 @@
"Set a custom background" : "Задаване на персонализиран фон",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универсалният достъп е много важен за нас. Следваме уеб стандартите и проверяваме, за да направим всичко използваемо и без мишка, и помощен софтуер, като екранни четци. Ние се стремим да бъдем съобразени с {guidelines}Насоки за достъпност на уеб съдържанието {linkend} 2.1 на ниво АА, с темата за висок контраст дори на ниво AAA.",
"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}!" : "Ако откриете някакви проблеми, не се колебайте да ги съобщите на {issueetracker}, нашият тракер на проблеми {linkend}. И ако искате да се включите, елате да се присъедините {designteam} към нашия дизайнерски екип {linkend}!",
- "Pick from Files" : "Избери от Файловете",
- "Default image" : "Изображение по подразбиране",
- "Custom color" : "Персонализиране на цвят",
- "Plain background" : "Обикновен фон",
- "Insert from {productName}" : "Вмъкване от {productName}",
+ "Custom background" : "Персонализиран фон",
+ "Default background" : "Фон по подразбиране",
+ "Change color" : "Промяна на цвета",
+ "Remove background" : "Премахване на фона",
+ "Select a background from your files" : "Избор на фон от вашите файлове",
"Theme selection is enforced" : "Изборът на тема е приложен",
"Select a custom color" : "Избор на персонализиран цвят",
"Reset to default" : "Настройки по подразбиране",
@@ -94,6 +94,11 @@
"Upload new login background" : "Качване на нов фон за входа",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирайте разширението Imagemagick PHP с поддръжка за SVG изображения, за да генерирате автоматично фавикони въз основа на каченото лого и цвят.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "В някои случаи бързите клавишни комбинации могат да пречат на инструментите за достъпност. За да се позволи правилно фокусиране върху инструмента, можете да деактивирате всички клавишни комбинации тук. Това ще деактивира и всички налични преки пътища в приложенията.",
+ "Pick from Files" : "Избери от Файловете",
+ "Default image" : "Изображение по подразбиране",
+ "Custom color" : "Персонализиране на цвят",
+ "Plain background" : "Обикновен фон",
+ "Insert from {productName}" : "Вмъкване от {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Въпреки че можете да изберете и персонализирате вашият екземпляр, потребителите могат да променят техният фон и цветове. Ако искате да наложите персонализирането си, можете да поставите отметка в това поле."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/ca.js b/apps/theming/l10n/ca.js
index f88aaa6bfe8..32d3d0ae914 100644
--- a/apps/theming/l10n/ca.js
+++ b/apps/theming/l10n/ca.js
@@ -52,10 +52,7 @@ OC.L10N.register(
"User settings" : "Paràmetres de l'usuari",
"Keyboard shortcuts" : "Dreceres de teclat",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accés universal és molt important per a nosaltres. Seguim els estàndards web i comprovem que tot es pugui utilitzar també sense el ratolí i amb programes d'assistència, com ara els lectors de pantalla. Volem complir les {guidelines}Pautes d'accessibilitat del contingut web{linkend} 2.1 a nivell AA i amb el tema de contrast alt fins i tot a nivell AAA.",
- "Pick from Files" : "Trieu dels fitxers",
- "Custom color" : "Color personalitzat",
- "Plain background" : "Fons senzill",
- "Insert from {productName}" : "Insereix des de {productName}",
+ "Change color" : "Canvia el color",
"Reset to default" : "Restableix als valors predeterminats",
"Upload" : "Pujada",
"Remove background image" : "Suprimeix la imatge de fons",
@@ -66,6 +63,10 @@ OC.L10N.register(
"https://…" : "https://...",
"Login image" : "Imatge d'inici de sessió",
"Upload new login background" : "Carrega un nou fons d'inici de sessió",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instal·leu l'extensió PHP de l'ImageMagick compatible amb imatges SVG per generar automàticament una icona de web a partir del logotip pujat i del color."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instal·leu l'extensió PHP de l'ImageMagick compatible amb imatges SVG per generar automàticament una icona de web a partir del logotip pujat i del color.",
+ "Pick from Files" : "Trieu dels fitxers",
+ "Custom color" : "Color personalitzat",
+ "Plain background" : "Fons senzill",
+ "Insert from {productName}" : "Insereix des de {productName}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/ca.json b/apps/theming/l10n/ca.json
index 0dec766eecf..4a917da8223 100644
--- a/apps/theming/l10n/ca.json
+++ b/apps/theming/l10n/ca.json
@@ -50,10 +50,7 @@
"User settings" : "Paràmetres de l'usuari",
"Keyboard shortcuts" : "Dreceres de teclat",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accés universal és molt important per a nosaltres. Seguim els estàndards web i comprovem que tot es pugui utilitzar també sense el ratolí i amb programes d'assistència, com ara els lectors de pantalla. Volem complir les {guidelines}Pautes d'accessibilitat del contingut web{linkend} 2.1 a nivell AA i amb el tema de contrast alt fins i tot a nivell AAA.",
- "Pick from Files" : "Trieu dels fitxers",
- "Custom color" : "Color personalitzat",
- "Plain background" : "Fons senzill",
- "Insert from {productName}" : "Insereix des de {productName}",
+ "Change color" : "Canvia el color",
"Reset to default" : "Restableix als valors predeterminats",
"Upload" : "Pujada",
"Remove background image" : "Suprimeix la imatge de fons",
@@ -64,6 +61,10 @@
"https://…" : "https://...",
"Login image" : "Imatge d'inici de sessió",
"Upload new login background" : "Carrega un nou fons d'inici de sessió",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instal·leu l'extensió PHP de l'ImageMagick compatible amb imatges SVG per generar automàticament una icona de web a partir del logotip pujat i del color."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instal·leu l'extensió PHP de l'ImageMagick compatible amb imatges SVG per generar automàticament una icona de web a partir del logotip pujat i del color.",
+ "Pick from Files" : "Trieu dels fitxers",
+ "Custom color" : "Color personalitzat",
+ "Plain background" : "Fons senzill",
+ "Insert from {productName}" : "Insereix des de {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/cs.js b/apps/theming/l10n/cs.js
index 9ab27ac5261..63841f2e610 100644
--- a/apps/theming/l10n/cs.js
+++ b/apps/theming/l10n/cs.js
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "Nastavit uživatelsky určené pozadí",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s doporučeními {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.",
"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}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení{linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!",
- "Pick from Files" : "Vybrat ze souborů",
- "Default image" : "Výchozí obrázek",
- "Custom color" : "Uživatelsky určená barva",
- "Plain background" : "Jednolité pozadí",
- "Insert from {productName}" : "Vložit z {productName}",
+ "Custom background" : "Uživatelsky určený obrázek na pozadí",
+ "Default background" : "Výchozí obrázek na pozadí",
+ "Change color" : "Změnit barvu",
+ "Remove background" : "Odebrat obrázek na pozadí",
+ "Select a background from your files" : "Vyberte obrázek na pozadí ze svých souborů",
"Theme selection is enforced" : "Výběr motivu vzhledu je vynucen",
"Select a custom color" : "Vybrat uživatelsky určenou barvu",
"Reset to default" : "Vrátit zpět na výchozí hodnoty",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Nahrát nové pozadí pro přihlašovací obrazovku",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Nainstalujte rozšíření Imagemagick PHP s podporou obrázků SVG, které automaticky vytváří favicon na základě nahraného loga a barvy.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V některých případech klávesové zkratky kolidují s nástroji pro zpřístupnění. Aby bylo zajištěno správné zaměřování vámi využívaného nástroje, je zde možné vypnout veškeré klávesové zkratky pro Nextcloud. Toto také vypne veškeré zkratky, které jsou k dispozici v aplikacích.",
+ "Pick from Files" : "Vybrat ze souborů",
+ "Default image" : "Výchozí obrázek",
+ "Custom color" : "Uživatelsky určená barva",
+ "Plain background" : "Jednolité pozadí",
+ "Insert from {productName}" : "Vložit z {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Ačkoli je možné vybrat a přizpůsobit si svou instanci, uživatelé si mohou změnit pozadí a barvy. Pokud chcete vámi nastavené přizpůsobení vynutit, můžete pro to zaškrtnout toto."
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;");
diff --git a/apps/theming/l10n/cs.json b/apps/theming/l10n/cs.json
index 4ae38ba62a4..cb528e8ddb8 100644
--- a/apps/theming/l10n/cs.json
+++ b/apps/theming/l10n/cs.json
@@ -74,11 +74,11 @@
"Set a custom background" : "Nastavit uživatelsky určené pozadí",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Přístupnost pro všechny je pro nás velmi důležitá. Splňujeme webové standardy a zajišťujeme, aby všechno bylo použitelné i bez myši a s asistenčním software, jako například čtečkami obrazovky. Máme za cíl být v souladu s doporučeními {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na úrovni AA, při použití motivu vzhledu s vysokým kontrastem dokonce na úrovni AAA.",
"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}!" : "Pokud naleznete jakékoli problémy, neváhejte s jejich nahlášením do {issuetracker}našeho systému pro správu hlášení{linkend}. A pokud se chcete zapojit, přidejte se k {designteam}týmu našich designérů{linkend}!",
- "Pick from Files" : "Vybrat ze souborů",
- "Default image" : "Výchozí obrázek",
- "Custom color" : "Uživatelsky určená barva",
- "Plain background" : "Jednolité pozadí",
- "Insert from {productName}" : "Vložit z {productName}",
+ "Custom background" : "Uživatelsky určený obrázek na pozadí",
+ "Default background" : "Výchozí obrázek na pozadí",
+ "Change color" : "Změnit barvu",
+ "Remove background" : "Odebrat obrázek na pozadí",
+ "Select a background from your files" : "Vyberte obrázek na pozadí ze svých souborů",
"Theme selection is enforced" : "Výběr motivu vzhledu je vynucen",
"Select a custom color" : "Vybrat uživatelsky určenou barvu",
"Reset to default" : "Vrátit zpět na výchozí hodnoty",
@@ -94,6 +94,11 @@
"Upload new login background" : "Nahrát nové pozadí pro přihlašovací obrazovku",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Nainstalujte rozšíření Imagemagick PHP s podporou obrázků SVG, které automaticky vytváří favicon na základě nahraného loga a barvy.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V některých případech klávesové zkratky kolidují s nástroji pro zpřístupnění. Aby bylo zajištěno správné zaměřování vámi využívaného nástroje, je zde možné vypnout veškeré klávesové zkratky pro Nextcloud. Toto také vypne veškeré zkratky, které jsou k dispozici v aplikacích.",
+ "Pick from Files" : "Vybrat ze souborů",
+ "Default image" : "Výchozí obrázek",
+ "Custom color" : "Uživatelsky určená barva",
+ "Plain background" : "Jednolité pozadí",
+ "Insert from {productName}" : "Vložit z {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Ačkoli je možné vybrat a přizpůsobit si svou instanci, uživatelé si mohou změnit pozadí a barvy. Pokud chcete vámi nastavené přizpůsobení vynutit, můžete pro to zaškrtnout toto."
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/da.js b/apps/theming/l10n/da.js
index 59f642ae765..cf43a0def3d 100644
--- a/apps/theming/l10n/da.js
+++ b/apps/theming/l10n/da.js
@@ -61,11 +61,6 @@ OC.L10N.register(
"Upload new favicon" : "Upload nyt favicon",
"Keyboard shortcuts" : "Tastaturgenveje",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universel adgang er meget vigtig for os. Vi følger web standarder og sikrer os at gøre alt tilgængeligt også uden mus, eller med hjælpesoftware såsom screenreaders. Vi søger at følge reglerne{guidelines}Web Content Accessibility Guidelines{linkend} 2.1 og AA endda med højt kontrast tema på AAA niveau.",
- "Pick from Files" : "Vælg fra Filer",
- "Default image" : "Standardbillede",
- "Custom color" : "Brug brugerdefinerede farver",
- "Plain background" : "Standard baggrund",
- "Insert from {productName}" : "Indsæt fra {productName}",
"Reset to default" : "Nulstil",
"Upload" : "Send",
"Remove background image" : "Fjern baggrundsbillede",
@@ -77,6 +72,11 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Login billede",
"Upload new login background" : "Upload nyt login billede",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver.",
+ "Pick from Files" : "Vælg fra Filer",
+ "Default image" : "Standardbillede",
+ "Custom color" : "Brug brugerdefinerede farver",
+ "Plain background" : "Standard baggrund",
+ "Insert from {productName}" : "Indsæt fra {productName}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/da.json b/apps/theming/l10n/da.json
index 3e2a61c830c..e45421402f3 100644
--- a/apps/theming/l10n/da.json
+++ b/apps/theming/l10n/da.json
@@ -59,11 +59,6 @@
"Upload new favicon" : "Upload nyt favicon",
"Keyboard shortcuts" : "Tastaturgenveje",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universel adgang er meget vigtig for os. Vi følger web standarder og sikrer os at gøre alt tilgængeligt også uden mus, eller med hjælpesoftware såsom screenreaders. Vi søger at følge reglerne{guidelines}Web Content Accessibility Guidelines{linkend} 2.1 og AA endda med højt kontrast tema på AAA niveau.",
- "Pick from Files" : "Vælg fra Filer",
- "Default image" : "Standardbillede",
- "Custom color" : "Brug brugerdefinerede farver",
- "Plain background" : "Standard baggrund",
- "Insert from {productName}" : "Indsæt fra {productName}",
"Reset to default" : "Nulstil",
"Upload" : "Send",
"Remove background image" : "Fjern baggrundsbillede",
@@ -75,6 +70,11 @@
"https://…" : "https://…",
"Login image" : "Login billede",
"Upload new login background" : "Upload nyt login billede",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer Imagemagick PHP udvidelsen med SVG support for automatisk at genererer favikoner baseret på the uploadede logo og farver.",
+ "Pick from Files" : "Vælg fra Filer",
+ "Default image" : "Standardbillede",
+ "Custom color" : "Brug brugerdefinerede farver",
+ "Plain background" : "Standard baggrund",
+ "Insert from {productName}" : "Indsæt fra {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/de.js b/apps/theming/l10n/de.js
index 0c7730f2fb8..a6e8cd2282f 100644
--- a/apps/theming/l10n/de.js
+++ b/apps/theming/l10n/de.js
@@ -76,11 +76,8 @@ OC.L10N.register(
"Set a custom background" : "Einen benutzerdefinierten Hintergrund setzen",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der unbeschränkte Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.",
"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}!" : "Wenn du Fehler findest, melde sie bitte im {issuetracker}Problemverfolgungssystem{linkend}. Und wenn du mithelfen willst, trete dem {designteam}Designteam{linkend} bei!",
- "Pick from Files" : "Aus Dateien auswählen",
- "Default image" : "Standardbild",
- "Custom color" : "Benutzerdefinierte Farbe",
- "Plain background" : "Einfacher Hintergrund",
- "Insert from {productName}" : "Von {productName} einfügen",
+ "Change color" : "Farbe ändern",
+ "Select a background from your files" : "Wähle einen Hintergrund aus deinen Dateien",
"Theme selection is enforced" : "Designauswahl wird erzwungen",
"Select a custom color" : "Eine benutzerdefinierte Farbe auswählen",
"Reset to default" : " Auf Standard zurücksetzen ",
@@ -96,6 +93,11 @@ OC.L10N.register(
"Upload new login background" : "Neuen Anmelde-Hintergrund hochladen",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installiere die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Werkzeuge zur Barrierefreiheit beeinträchtigen. Damit du dich richtig auf dein Werkzeug konzentrieren kannst, kannst du hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.",
+ "Pick from Files" : "Aus Dateien auswählen",
+ "Default image" : "Standardbild",
+ "Custom color" : "Benutzerdefinierte Farbe",
+ "Plain background" : "Einfacher Hintergrund",
+ "Insert from {productName}" : "Von {productName} einfügen",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Obwohl du deine Instanz auswählen und anpassen kannst, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn du ihre Anpassung erzwingen möchtest, kannst du dieses Kontrollkästchen aktivieren."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/de.json b/apps/theming/l10n/de.json
index 54f7c9d04f4..d29baffa91e 100644
--- a/apps/theming/l10n/de.json
+++ b/apps/theming/l10n/de.json
@@ -74,11 +74,8 @@
"Set a custom background" : "Einen benutzerdefinierten Hintergrund setzen",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der unbeschränkte Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.",
"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}!" : "Wenn du Fehler findest, melde sie bitte im {issuetracker}Problemverfolgungssystem{linkend}. Und wenn du mithelfen willst, trete dem {designteam}Designteam{linkend} bei!",
- "Pick from Files" : "Aus Dateien auswählen",
- "Default image" : "Standardbild",
- "Custom color" : "Benutzerdefinierte Farbe",
- "Plain background" : "Einfacher Hintergrund",
- "Insert from {productName}" : "Von {productName} einfügen",
+ "Change color" : "Farbe ändern",
+ "Select a background from your files" : "Wähle einen Hintergrund aus deinen Dateien",
"Theme selection is enforced" : "Designauswahl wird erzwungen",
"Select a custom color" : "Eine benutzerdefinierte Farbe auswählen",
"Reset to default" : " Auf Standard zurücksetzen ",
@@ -94,6 +91,11 @@
"Upload new login background" : "Neuen Anmelde-Hintergrund hochladen",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installiere die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Werkzeuge zur Barrierefreiheit beeinträchtigen. Damit du dich richtig auf dein Werkzeug konzentrieren kannst, kannst du hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.",
+ "Pick from Files" : "Aus Dateien auswählen",
+ "Default image" : "Standardbild",
+ "Custom color" : "Benutzerdefinierte Farbe",
+ "Plain background" : "Einfacher Hintergrund",
+ "Insert from {productName}" : "Von {productName} einfügen",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Obwohl du deine Instanz auswählen und anpassen kannst, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn du ihre Anpassung erzwingen möchtest, kannst du dieses Kontrollkästchen aktivieren."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/de_DE.js b/apps/theming/l10n/de_DE.js
index dacd0dbad1b..106f278aecd 100644
--- a/apps/theming/l10n/de_DE.js
+++ b/apps/theming/l10n/de_DE.js
@@ -45,7 +45,7 @@ OC.L10N.register(
"Enable the default light theme" : "Helles Standarddesign aktivieren",
"The default light appearance." : "Das Standard helle Aussehen.",
"Legal notice" : "Impressum",
- "Privacy policy" : "Datenschutzbestimmungen",
+ "Privacy policy" : "Datenschutz",
"Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Das Ändern des Designs ermöglicht es auf einfache Weise das Aussehen Ihrer Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.",
"Advanced options" : "Erweiterte Optionen",
@@ -67,7 +67,7 @@ OC.L10N.register(
"Upload new favicon" : "Neues Favicon hochladen",
"User settings" : "Benutzer-Einstellungen",
"Disable user theming" : "Benutzer-Design deaktivieren",
- "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Obwohl Sie Ihre Instanz auswählen und anpassen können, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn Sie Ihre Anpassung erzwingen möchten, können Sie dies einschalten.",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Trotz der von Ihnen vorgenommenen Auswahl und Anpassung , können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn Sie Ihre Anpassung erzwingen möchten, können Sie dies hier aktivieren.",
"Keyboard shortcuts" : "Tastaturkürzel",
"In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Barrierefreiheits-Tools beeinträchtigen. Damit Sie sich richtig auf Ihr Werkzeug konzentrieren können, können Sie hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.",
"Disable all keyboard shortcuts" : "Alle Tastenkombinationen deaktivieren",
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "Einen benutzerdefinierten Hintergrund setzen",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der universelle Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.",
"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}!" : "Wenn Sie Fehler finden, melden Sie diese bitte in {issuetracker}unserem Issue Tracker{linkend}. Und wenn Sie mithelfen möchten, treten Sie dem {designteam}Designteam{linkend} bei!",
- "Pick from Files" : "Aus Dateien auswählen",
- "Default image" : "Standardbild",
- "Custom color" : "Benutzerdefinierte Farbe",
- "Plain background" : "Einfacher Hintergrund",
- "Insert from {productName}" : "Von {productName} einfügen",
+ "Custom background" : "Benutzerdefinierter Hintergrund",
+ "Default background" : "Standardhintergrund",
+ "Change color" : "Farbe ändern",
+ "Remove background" : "Hintergrund entfernen",
+ "Select a background from your files" : "Wählen Sie einen Hintergrund aus Ihren Dateien",
"Theme selection is enforced" : "Designauswahl wird erzwungen",
"Select a custom color" : "Eine benutzerdefinierte Farbe auswählen",
"Reset to default" : " Auf Standard zurücksetzen ",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Neuen Anmelde-Hintergrund hochladen",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installieren Sie die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Barrierefreiheits-Tools beeinträchtigen. Damit Sie sich richtig auf Ihr Werkzeug konzentrieren können, können Sie hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.",
+ "Pick from Files" : "Aus Dateien auswählen",
+ "Default image" : "Standardbild",
+ "Custom color" : "Benutzerdefinierte Farbe",
+ "Plain background" : "Einfacher Hintergrund",
+ "Insert from {productName}" : "Von {productName} einfügen",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Obwohl Sie Ihre Instanz auswählen und anpassen können, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn Sie Ihre Anpassung erzwingen möchten, können Sie dieses Kontrollkästchen aktivieren."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/de_DE.json b/apps/theming/l10n/de_DE.json
index 458e652be02..ffb19968d8d 100644
--- a/apps/theming/l10n/de_DE.json
+++ b/apps/theming/l10n/de_DE.json
@@ -43,7 +43,7 @@
"Enable the default light theme" : "Helles Standarddesign aktivieren",
"The default light appearance." : "Das Standard helle Aussehen.",
"Legal notice" : "Impressum",
- "Privacy policy" : "Datenschutzbestimmungen",
+ "Privacy policy" : "Datenschutz",
"Adjust the Nextcloud theme" : "Passe das Design von Nextcloud an",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Das Ändern des Designs ermöglicht es auf einfache Weise das Aussehen Ihrer Installation und Clients anzupassen. Die Änderungen wirken sich auf alle Benutzer aus.",
"Advanced options" : "Erweiterte Optionen",
@@ -65,7 +65,7 @@
"Upload new favicon" : "Neues Favicon hochladen",
"User settings" : "Benutzer-Einstellungen",
"Disable user theming" : "Benutzer-Design deaktivieren",
- "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Obwohl Sie Ihre Instanz auswählen und anpassen können, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn Sie Ihre Anpassung erzwingen möchten, können Sie dies einschalten.",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Trotz der von Ihnen vorgenommenen Auswahl und Anpassung , können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn Sie Ihre Anpassung erzwingen möchten, können Sie dies hier aktivieren.",
"Keyboard shortcuts" : "Tastaturkürzel",
"In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Barrierefreiheits-Tools beeinträchtigen. Damit Sie sich richtig auf Ihr Werkzeug konzentrieren können, können Sie hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.",
"Disable all keyboard shortcuts" : "Alle Tastenkombinationen deaktivieren",
@@ -74,11 +74,11 @@
"Set a custom background" : "Einen benutzerdefinierten Hintergrund setzen",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Der universelle Zugang ist für uns sehr wichtig. Wir halten uns an Webstandards und prüfen, ob alles auch ohne Maus und unterstützende Software wie Screenreader nutzbar ist. Wir streben die Einhaltung der {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 auf AA-Niveau an, mit dem kontrastreichen Design sogar auf AAA-Niveau.",
"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}!" : "Wenn Sie Fehler finden, melden Sie diese bitte in {issuetracker}unserem Issue Tracker{linkend}. Und wenn Sie mithelfen möchten, treten Sie dem {designteam}Designteam{linkend} bei!",
- "Pick from Files" : "Aus Dateien auswählen",
- "Default image" : "Standardbild",
- "Custom color" : "Benutzerdefinierte Farbe",
- "Plain background" : "Einfacher Hintergrund",
- "Insert from {productName}" : "Von {productName} einfügen",
+ "Custom background" : "Benutzerdefinierter Hintergrund",
+ "Default background" : "Standardhintergrund",
+ "Change color" : "Farbe ändern",
+ "Remove background" : "Hintergrund entfernen",
+ "Select a background from your files" : "Wählen Sie einen Hintergrund aus Ihren Dateien",
"Theme selection is enforced" : "Designauswahl wird erzwungen",
"Select a custom color" : "Eine benutzerdefinierte Farbe auswählen",
"Reset to default" : " Auf Standard zurücksetzen ",
@@ -94,6 +94,11 @@
"Upload new login background" : "Neuen Anmelde-Hintergrund hochladen",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installieren Sie die Imagemagick PHP-Erweiterung mit Unterstützung für SVG-Bilder, um automatisch Favicons auf Basis des hochgeladenen Logos und der Farbe zu erstellen.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In einigen Fällen können Tastenkombinationen Barrierefreiheits-Tools beeinträchtigen. Damit Sie sich richtig auf Ihr Werkzeug konzentrieren können, können Sie hier alle Tastaturkürzel deaktivieren. Dadurch werden auch alle verfügbaren Verknüpfungen in Apps deaktiviert.",
+ "Pick from Files" : "Aus Dateien auswählen",
+ "Default image" : "Standardbild",
+ "Custom color" : "Benutzerdefinierte Farbe",
+ "Plain background" : "Einfacher Hintergrund",
+ "Insert from {productName}" : "Von {productName} einfügen",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Obwohl Sie Ihre Instanz auswählen und anpassen können, können Benutzer ihren Hintergrund und ihre Farben ändern. Wenn Sie Ihre Anpassung erzwingen möchten, können Sie dieses Kontrollkästchen aktivieren."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/el.js b/apps/theming/l10n/el.js
index 4402c6be199..8743c167dc1 100644
--- a/apps/theming/l10n/el.js
+++ b/apps/theming/l10n/el.js
@@ -23,8 +23,12 @@ OC.L10N.register(
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Χρησιμοποιείτε ήδη προσαρμοσμένο θέμα. Οι ρυθμίσεις της εφαρμογής Θέματα μπορεί να αντικατασταθούν από αυτό.",
"Theming" : "Προσαρμογή θέματος",
"Appearance and accessibility" : "Εμφάνιση και προσβασιμότητα",
+ "Dark theme with high contrast mode" : "Σκούρο θέμα με λειτουργία υψηλής αντίθεσης",
+ "Enable dark high contrast mode" : "Ενεργοποίηση σκοτεινής λειτουργίας υψηλής αντίθεσης",
+ "Similar to the high contrast mode, but with dark colours." : "Παρόμοιο με τη λειτουργία υψηλής αντίθεσης, αλλά με σκούρα χρώματα.",
"Dark theme" : "Σκούρο θέμα",
"Enable dark theme" : "Ενεργοποίηση σκούρου θέματος",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ένα σκούρο θέμα που διευκολύνει τα μάτια σας μειώνοντας τη συνολική ακτινοβολία και φωτεινότητα.",
"System default theme" : "Προεπιλεγμένο θέμα συστήματος",
"Enable the system default" : "Ενεργοποίηση προεπιλογής συστήματος",
"Using the default system appearance." : "Χρήση της προεπιλεγμένης εμφάνισης του συστήματος.",
@@ -34,13 +38,13 @@ OC.L10N.register(
"High contrast mode" : "Λειτουργία υψηλής αντίθεσης",
"Enable high contrast mode" : "Ενεργοποίηση λειτουργίας υψηλής αντίθεσης",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Λειτουργία με υψηλή αντίθεση για να διευκολύνει την πλοήγηση σας. Η οπτική ποιότητα θα είναι μειωμένη αλλά θα έχετε υψηλότερη ευκρίνεια.",
- "Light theme" : "Ανοιχτό θέμα",
- "Enable the default light theme" : "Ενεργοποίηση ανοικτού θέματος",
+ "Light theme" : "Φωτεινό θέμα",
+ "Enable the default light theme" : "Ενεργοποίηση φωτεινού θέματος",
"The default light appearance." : "Η προεπιλεγμένη ανοιχτόχρωμη εμφάνιση.",
"Legal notice" : "Νομική ειδοποίηση",
"Privacy policy" : "Πολιτική Απορρήτου",
"Adjust the Nextcloud theme" : "Προσαρμόστε το θέμα του Nextcloud",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Αυτή θα είναι ορατή για όλους τους χρήστες.",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Θα είναι ορατή για όλους τους χρήστες.",
"Advanced options" : "Επιλογές για προχωρημένους",
"Name" : "Όνομα",
"Web link" : "Σύνδεσμος ιστού",
@@ -57,17 +61,15 @@ OC.L10N.register(
"Favicon" : "Favicon",
"Upload new favicon" : "Μεταφόρτωση νέου favicon",
"User settings" : "Ρυθμίσεις χρήστη",
+ "Disable user theming" : "Απενεργοποίηση θεμάτων χρήστη",
"Keyboard shortcuts" : "Συντομεύσεις πληκτρολογίου",
"In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές.",
"Disable all keyboard shortcuts" : "Απενεργοποίηση των συντομεύσεων πληκτρολογίου",
"Background" : "Φόντο",
"Set a custom background" : "Ορισμός προσαρμοσμένου φόντου",
- "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Η πρόσβαση από όλους είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {προδιαγραφές} Προδιαγραφές πρόσβασης περιεχομένου Ιστού 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
- "Pick from Files" : "Επιλέξτε από αρχεία",
- "Default image" : "Προεπιλεγμένη εικόνα",
- "Custom color" : "Προσαρμοσμένο χρώμα",
- "Plain background" : "Απλό παρασκήνιο",
- "Insert from {productName}" : "Εισαγωγή από {productName}",
+ "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Η πρόσβαση από όλους είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {guidelines}Προδιαγραφές πρόσβασης περιεχομένου Ιστού{linkend} 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
+ "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}!" : "Εάν εντοπίσετε οποιοδήποτε πρόβλημα, μη διστάσετε να το αναφέρετε στον {issuetracker}ιχνηλάτη ζητημάτων μας{linkend}. Και εάν θέλετε να συμμετέχετε, ελάτε στην {designteam}ομάδα σχεδιασμού μας{linkend}!",
+ "Change color" : "Αλλαγή χρώματος",
"Select a custom color" : "Επιλογή προσαρμοσμένου χρώματος",
"Reset to default" : "Επαναφορά στα προεπιλεγμένα",
"Upload" : "Μεταφόρτωση",
@@ -80,6 +82,12 @@ OC.L10N.register(
"Login image" : "Εικόνα εισόδου",
"Upload new login background" : "Μεταφόρτωση νέου παρασκηνίου εισόδου",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Εγκαταστήστε την επέκταση PHP Imagemagick με υποστήριξη SVG εικόνων, για να γίνει αυτόματη δημιουργία favicon βασισμένο πάνω στο μεταφορτωμένο λογότυπο και χρώμα.",
- "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές."
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές.",
+ "Pick from Files" : "Επιλέξτε από αρχεία",
+ "Default image" : "Προεπιλεγμένη εικόνα",
+ "Custom color" : "Προσαρμοσμένο χρώμα",
+ "Plain background" : "Απλό παρασκήνιο",
+ "Insert from {productName}" : "Εισαγωγή από {productName}",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Αν και μπορείτε να επιλέξετε και να προσαρμόσετε την εγκατάστασή σας, οι χρήστες μπορούν να αλλάξουν το φόντο και τα χρώματά τους. Εάν θέλετε να επιβάλετε την προσαρμογή σας, μπορείτε να επιλέξετε αυτό το κουτί."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/el.json b/apps/theming/l10n/el.json
index 7fc0731e8ad..f008b62894e 100644
--- a/apps/theming/l10n/el.json
+++ b/apps/theming/l10n/el.json
@@ -21,8 +21,12 @@
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Χρησιμοποιείτε ήδη προσαρμοσμένο θέμα. Οι ρυθμίσεις της εφαρμογής Θέματα μπορεί να αντικατασταθούν από αυτό.",
"Theming" : "Προσαρμογή θέματος",
"Appearance and accessibility" : "Εμφάνιση και προσβασιμότητα",
+ "Dark theme with high contrast mode" : "Σκούρο θέμα με λειτουργία υψηλής αντίθεσης",
+ "Enable dark high contrast mode" : "Ενεργοποίηση σκοτεινής λειτουργίας υψηλής αντίθεσης",
+ "Similar to the high contrast mode, but with dark colours." : "Παρόμοιο με τη λειτουργία υψηλής αντίθεσης, αλλά με σκούρα χρώματα.",
"Dark theme" : "Σκούρο θέμα",
"Enable dark theme" : "Ενεργοποίηση σκούρου θέματος",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ένα σκούρο θέμα που διευκολύνει τα μάτια σας μειώνοντας τη συνολική ακτινοβολία και φωτεινότητα.",
"System default theme" : "Προεπιλεγμένο θέμα συστήματος",
"Enable the system default" : "Ενεργοποίηση προεπιλογής συστήματος",
"Using the default system appearance." : "Χρήση της προεπιλεγμένης εμφάνισης του συστήματος.",
@@ -32,13 +36,13 @@
"High contrast mode" : "Λειτουργία υψηλής αντίθεσης",
"Enable high contrast mode" : "Ενεργοποίηση λειτουργίας υψηλής αντίθεσης",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Λειτουργία με υψηλή αντίθεση για να διευκολύνει την πλοήγηση σας. Η οπτική ποιότητα θα είναι μειωμένη αλλά θα έχετε υψηλότερη ευκρίνεια.",
- "Light theme" : "Ανοιχτό θέμα",
- "Enable the default light theme" : "Ενεργοποίηση ανοικτού θέματος",
+ "Light theme" : "Φωτεινό θέμα",
+ "Enable the default light theme" : "Ενεργοποίηση φωτεινού θέματος",
"The default light appearance." : "Η προεπιλεγμένη ανοιχτόχρωμη εμφάνιση.",
"Legal notice" : "Νομική ειδοποίηση",
"Privacy policy" : "Πολιτική Απορρήτου",
"Adjust the Nextcloud theme" : "Προσαρμόστε το θέμα του Nextcloud",
- "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Αυτή θα είναι ορατή για όλους τους χρήστες.",
+ "Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Η προσαρμογή θέματος καθιστά δυνατή την εύκολη προσαρμογή της εμφάνισης της εγκατάστασής σας καθώς και των υποστηριζόμενων πελατών. Θα είναι ορατή για όλους τους χρήστες.",
"Advanced options" : "Επιλογές για προχωρημένους",
"Name" : "Όνομα",
"Web link" : "Σύνδεσμος ιστού",
@@ -55,17 +59,15 @@
"Favicon" : "Favicon",
"Upload new favicon" : "Μεταφόρτωση νέου favicon",
"User settings" : "Ρυθμίσεις χρήστη",
+ "Disable user theming" : "Απενεργοποίηση θεμάτων χρήστη",
"Keyboard shortcuts" : "Συντομεύσεις πληκτρολογίου",
"In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές.",
"Disable all keyboard shortcuts" : "Απενεργοποίηση των συντομεύσεων πληκτρολογίου",
"Background" : "Φόντο",
"Set a custom background" : "Ορισμός προσαρμοσμένου φόντου",
- "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Η πρόσβαση από όλους είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {προδιαγραφές} Προδιαγραφές πρόσβασης περιεχομένου Ιστού 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
- "Pick from Files" : "Επιλέξτε από αρχεία",
- "Default image" : "Προεπιλεγμένη εικόνα",
- "Custom color" : "Προσαρμοσμένο χρώμα",
- "Plain background" : "Απλό παρασκήνιο",
- "Insert from {productName}" : "Εισαγωγή από {productName}",
+ "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Η πρόσβαση από όλους είναι πολύ σημαντική για εμάς. Ακολουθούμε τα πρότυπα του διαδικτύου και ελέγχουμε ότι τα πάντα μπορούν να χρησιμοποιηθούν χωρίς ποντίκι και βοηθητικό λογισμικό όπως προγράμματα ανάγνωσης οθόνης. Στόχος μας είναι να συμμορφωνόμαστε με τις {guidelines}Προδιαγραφές πρόσβασης περιεχομένου Ιστού{linkend} 2.1 σε επίπεδο AA, με το θέμα υψηλής αντίθεσης ακόμη και σε επίπεδο ΑΑΑ.",
+ "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}!" : "Εάν εντοπίσετε οποιοδήποτε πρόβλημα, μη διστάσετε να το αναφέρετε στον {issuetracker}ιχνηλάτη ζητημάτων μας{linkend}. Και εάν θέλετε να συμμετέχετε, ελάτε στην {designteam}ομάδα σχεδιασμού μας{linkend}!",
+ "Change color" : "Αλλαγή χρώματος",
"Select a custom color" : "Επιλογή προσαρμοσμένου χρώματος",
"Reset to default" : "Επαναφορά στα προεπιλεγμένα",
"Upload" : "Μεταφόρτωση",
@@ -78,6 +80,12 @@
"Login image" : "Εικόνα εισόδου",
"Upload new login background" : "Μεταφόρτωση νέου παρασκηνίου εισόδου",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Εγκαταστήστε την επέκταση PHP Imagemagick με υποστήριξη SVG εικόνων, για να γίνει αυτόματη δημιουργία favicon βασισμένο πάνω στο μεταφορτωμένο λογότυπο και χρώμα.",
- "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές."
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Σε ορισμένες περιπτώσεις, οι συντομεύσεις πληκτρολογίου μπορεί να επηρεάσουν τα εργαλεία προσβασιμότητας. Για να επιτρέψετε τη σωστή εστίαση στο εργαλείο σας, μπορείτε να απενεργοποιήσετε όλες τις συντομεύσεις πληκτρολογίου εδώ. Αυτό θα απενεργοποιήσει επίσης όλες τις διαθέσιμες συντομεύσεις στις εφαρμογές.",
+ "Pick from Files" : "Επιλέξτε από αρχεία",
+ "Default image" : "Προεπιλεγμένη εικόνα",
+ "Custom color" : "Προσαρμοσμένο χρώμα",
+ "Plain background" : "Απλό παρασκήνιο",
+ "Insert from {productName}" : "Εισαγωγή από {productName}",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Αν και μπορείτε να επιλέξετε και να προσαρμόσετε την εγκατάστασή σας, οι χρήστες μπορούν να αλλάξουν το φόντο και τα χρώματά τους. Εάν θέλετε να επιβάλετε την προσαρμογή σας, μπορείτε να επιλέξετε αυτό το κουτί."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/en_GB.js b/apps/theming/l10n/en_GB.js
index 9e4760055ea..09d13d440fe 100644
--- a/apps/theming/l10n/en_GB.js
+++ b/apps/theming/l10n/en_GB.js
@@ -10,6 +10,7 @@ OC.L10N.register(
"The given privacy policy address is not a valid URL" : "The given privacy policy address is not a valid URL",
"The given slogan is too long" : "The given slogan is too long",
"The given color is invalid" : "The given colour is invalid",
+ "Disable-user-theming should be true or false" : "Disable-user-theming should be true or false",
"Saved" : "Saved",
"The file was uploaded" : "The file was uploaded",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini",
@@ -20,22 +21,35 @@ OC.L10N.register(
"Could not write file to disk" : "Could not write file to disk",
"A PHP extension stopped the file upload" : "A PHP extension stopped the file upload",
"No file uploaded" : "No file uploaded",
+ "Cleanup old theming cache" : "Cleanup old theming cache",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "Failed to delete folder: \"%1$s\", error: %2$s",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "You are already using a custom theme. Theming app settings might be overwritten by that.",
"Theming" : "Theming",
+ "Appearance and accessibility" : "Appearance and accessibility",
+ "Dark theme with high contrast mode" : "Dark theme with high contrast mode",
+ "Enable dark high contrast mode" : "Enable dark high contrast mode",
+ "Similar to the high contrast mode, but with dark colours." : "Similar to the high contrast mode, but with dark colours.",
"Dark theme" : "Dark theme",
"Enable dark theme" : "Enable dark theme",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "A dark theme that is soothing for your eyes (by reducing the overall luminosity and brightness).",
+ "System default theme" : "System default theme",
+ "Enable the system default" : "Enable the system default",
+ "Using the default system appearance." : "Using the default system appearance.",
"Dyslexia font" : "Dyslexia font",
"Enable dyslexia font" : "Enable dyslexia font",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.",
"High contrast mode" : "High contrast mode",
"Enable high contrast mode" : "Enable high contrast mode",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.",
+ "Light theme" : "Light theme",
+ "Enable the default light theme" : "Enable the default light theme",
+ "The default light appearance." : "The default light appearance.",
"Legal notice" : "Legal notice",
"Privacy policy" : "Privacy policy",
"Adjust the Nextcloud theme" : "Adjust the Nextcloud theme",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming makes it possible to easily customise the look and feel of your instance and supported clients. This will be visible for all users.",
"Advanced options" : "Advanced options",
+ "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and colour.",
"Name" : "Name",
"Web link" : "Web link",
"a safe home for all your data" : "a safe home for all your data",
@@ -43,25 +57,50 @@ OC.L10N.register(
"Color" : "Colour",
"Logo" : "Logo",
"Upload new logo" : "Upload new logo",
+ "Background and login image" : "Background and login image",
+ "Upload new background and login image" : "Upload new background and login image",
"Legal notice link" : "Legal notice link",
"Privacy policy link" : "Privacy policy link",
"Header logo" : "Header logo",
"Upload new header logo" : "Upload new header logo",
"Favicon" : "Favicon",
"Upload new favicon" : "Upload new favicon",
+ "User settings" : "User settings",
+ "Disable user theming" : "Disable user theming",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on.",
"Keyboard shortcuts" : "Keyboard shortcuts",
+ "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.",
+ "Disable all keyboard shortcuts" : "Disable all keyboard shortcuts",
+ "Background" : "Background",
+ "Customization has been disabled by your administrator" : "Customization has been disabled by your administrator",
+ "Set a custom background" : "Set a custom background",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.",
- "Custom color" : "Custom colour",
+ "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}!" : "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}!",
+ "Custom background" : "Custom background",
+ "Default background" : "Default background",
+ "Change color" : "Change colour",
+ "Remove background" : "Remove background",
+ "Select a background from your files" : "Select a background from your files",
+ "Theme selection is enforced" : "Theme selection is enforced",
+ "Select a custom color" : "Select a custom colour",
"Reset to default" : "Reset to default",
"Upload" : "Upload",
"Remove background image" : "Remove background image",
"Loading preview…" : "Loading preview…",
"Admin" : "Admin",
+ "Error uploading the file" : "Error uploading the file",
"Name cannot be empty" : "Name cannot be empty",
"Open documentation" : "Open documentation",
"https://…" : "https://…",
"Login image" : "Login image",
"Upload new login background" : "Upload new login background",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and colour.",
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.",
+ "Pick from Files" : "Pick from Files",
+ "Default image" : "Default image",
+ "Custom color" : "Custom colour",
+ "Plain background" : "Plain background",
+ "Insert from {productName}" : "Insert from {productName}",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/en_GB.json b/apps/theming/l10n/en_GB.json
index ed24277f544..2b1b845a50b 100644
--- a/apps/theming/l10n/en_GB.json
+++ b/apps/theming/l10n/en_GB.json
@@ -8,6 +8,7 @@
"The given privacy policy address is not a valid URL" : "The given privacy policy address is not a valid URL",
"The given slogan is too long" : "The given slogan is too long",
"The given color is invalid" : "The given colour is invalid",
+ "Disable-user-theming should be true or false" : "Disable-user-theming should be true or false",
"Saved" : "Saved",
"The file was uploaded" : "The file was uploaded",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "The uploaded file exceeds the upload_max_filesize directive in php.ini",
@@ -18,22 +19,35 @@
"Could not write file to disk" : "Could not write file to disk",
"A PHP extension stopped the file upload" : "A PHP extension stopped the file upload",
"No file uploaded" : "No file uploaded",
+ "Cleanup old theming cache" : "Cleanup old theming cache",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "Failed to delete folder: \"%1$s\", error: %2$s",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "You are already using a custom theme. Theming app settings might be overwritten by that.",
"Theming" : "Theming",
+ "Appearance and accessibility" : "Appearance and accessibility",
+ "Dark theme with high contrast mode" : "Dark theme with high contrast mode",
+ "Enable dark high contrast mode" : "Enable dark high contrast mode",
+ "Similar to the high contrast mode, but with dark colours." : "Similar to the high contrast mode, but with dark colours.",
"Dark theme" : "Dark theme",
"Enable dark theme" : "Enable dark theme",
"A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "A dark theme that is soothing for your eyes (by reducing the overall luminosity and brightness).",
+ "System default theme" : "System default theme",
+ "Enable the system default" : "Enable the system default",
+ "Using the default system appearance." : "Using the default system appearance.",
"Dyslexia font" : "Dyslexia font",
"Enable dyslexia font" : "Enable dyslexia font",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia.",
"High contrast mode" : "High contrast mode",
"Enable high contrast mode" : "Enable high contrast mode",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased.",
+ "Light theme" : "Light theme",
+ "Enable the default light theme" : "Enable the default light theme",
+ "The default light appearance." : "The default light appearance.",
"Legal notice" : "Legal notice",
"Privacy policy" : "Privacy policy",
"Adjust the Nextcloud theme" : "Adjust the Nextcloud theme",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Theming makes it possible to easily customise the look and feel of your instance and supported clients. This will be visible for all users.",
"Advanced options" : "Advanced options",
+ "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and colour.",
"Name" : "Name",
"Web link" : "Web link",
"a safe home for all your data" : "a safe home for all your data",
@@ -41,25 +55,50 @@
"Color" : "Colour",
"Logo" : "Logo",
"Upload new logo" : "Upload new logo",
+ "Background and login image" : "Background and login image",
+ "Upload new background and login image" : "Upload new background and login image",
"Legal notice link" : "Legal notice link",
"Privacy policy link" : "Privacy policy link",
"Header logo" : "Header logo",
"Upload new header logo" : "Upload new header logo",
"Favicon" : "Favicon",
"Upload new favicon" : "Upload new favicon",
+ "User settings" : "User settings",
+ "Disable user theming" : "Disable user theming",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on.",
"Keyboard shortcuts" : "Keyboard shortcuts",
+ "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.",
+ "Disable all keyboard shortcuts" : "Disable all keyboard shortcuts",
+ "Background" : "Background",
+ "Customization has been disabled by your administrator" : "Customization has been disabled by your administrator",
+ "Set a custom background" : "Set a custom background",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level.",
- "Custom color" : "Custom colour",
+ "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}!" : "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}!",
+ "Custom background" : "Custom background",
+ "Default background" : "Default background",
+ "Change color" : "Change colour",
+ "Remove background" : "Remove background",
+ "Select a background from your files" : "Select a background from your files",
+ "Theme selection is enforced" : "Theme selection is enforced",
+ "Select a custom color" : "Select a custom colour",
"Reset to default" : "Reset to default",
"Upload" : "Upload",
"Remove background image" : "Remove background image",
"Loading preview…" : "Loading preview…",
"Admin" : "Admin",
+ "Error uploading the file" : "Error uploading the file",
"Name cannot be empty" : "Name cannot be empty",
"Open documentation" : "Open documentation",
"https://…" : "https://…",
"Login image" : "Login image",
"Upload new login background" : "Upload new login background",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and colour.",
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps.",
+ "Pick from Files" : "Pick from Files",
+ "Default image" : "Default image",
+ "Custom color" : "Custom colour",
+ "Plain background" : "Plain background",
+ "Insert from {productName}" : "Insert from {productName}",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/es.js b/apps/theming/l10n/es.js
index a9f6059421f..c4b954d650d 100644
--- a/apps/theming/l10n/es.js
+++ b/apps/theming/l10n/es.js
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "Establecer un fondo personalizado",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo es manejable sin ratón y con software de asistencia, como un lector de pantalla. Nuestro objetivo es cumplir con las {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 en nivel AA y, con el tema de alto contraste, en nivel AAA.",
"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 encuentras cualquier problema, no dudes en informar de ellos en {issuetracker}nuestro tracker de problas{linkend}. Y si quieres involucrarte, ¡puedes unirte a {designteam}nuestro equipo de diseño{linkend}!",
- "Pick from Files" : "Elegir de Archivos",
- "Default image" : "Imagen predeterminada",
- "Custom color" : "Colores personalizados",
- "Plain background" : "Fondo liso",
- "Insert from {productName}" : "Insertar desde {productName}",
+ "Custom background" : "Fondo personalizado",
+ "Default background" : "Fondo por defecto",
+ "Change color" : "Cambiar color",
+ "Remove background" : "Eliminar fondo",
+ "Select a background from your files" : "Seleccionar un fondo desde tus archivos",
"Theme selection is enforced" : "La selección del tema es forzada",
"Select a custom color" : "Seleccionar un color personalizado",
"Reset to default" : "Vovler a configuración por defecto",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Subir una nueva imagen de fondo para inicio de sesión",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión de PHP Imagemagick con soporte para imágenes SVG para generar automáticamente faviconos basados en el logo y color subidos.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "En algunos casos, los atajos de teclado pueden interferir con las herramientas de accesibilidad. De manera de permitir enfocar correctamente tú herramienta, puedes deshabilitar todos los atajos de teclado aquí. Esto también deshabilitará todos los atajos disponibles en las aplicaciones.",
+ "Pick from Files" : "Elegir de Archivos",
+ "Default image" : "Imagen predeterminada",
+ "Custom color" : "Colores personalizados",
+ "Plain background" : "Fondo liso",
+ "Insert from {productName}" : "Insertar desde {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aunque puede seleccionar y personalizar su instancia, los usuarios pueden cambiar su fondo y colores. Si quiere forzar su personalización, puede activar esta casilla."
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/es.json b/apps/theming/l10n/es.json
index 1c4ef68bfd3..b06c1389186 100644
--- a/apps/theming/l10n/es.json
+++ b/apps/theming/l10n/es.json
@@ -74,11 +74,11 @@
"Set a custom background" : "Establecer un fondo personalizado",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "El acceso universal es muy importante para nosotros. Seguimos los estándares web y verificamos que todo es manejable sin ratón y con software de asistencia, como un lector de pantalla. Nuestro objetivo es cumplir con las {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 en nivel AA y, con el tema de alto contraste, en nivel AAA.",
"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 encuentras cualquier problema, no dudes en informar de ellos en {issuetracker}nuestro tracker de problas{linkend}. Y si quieres involucrarte, ¡puedes unirte a {designteam}nuestro equipo de diseño{linkend}!",
- "Pick from Files" : "Elegir de Archivos",
- "Default image" : "Imagen predeterminada",
- "Custom color" : "Colores personalizados",
- "Plain background" : "Fondo liso",
- "Insert from {productName}" : "Insertar desde {productName}",
+ "Custom background" : "Fondo personalizado",
+ "Default background" : "Fondo por defecto",
+ "Change color" : "Cambiar color",
+ "Remove background" : "Eliminar fondo",
+ "Select a background from your files" : "Seleccionar un fondo desde tus archivos",
"Theme selection is enforced" : "La selección del tema es forzada",
"Select a custom color" : "Seleccionar un color personalizado",
"Reset to default" : "Vovler a configuración por defecto",
@@ -94,6 +94,11 @@
"Upload new login background" : "Subir una nueva imagen de fondo para inicio de sesión",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala la extensión de PHP Imagemagick con soporte para imágenes SVG para generar automáticamente faviconos basados en el logo y color subidos.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "En algunos casos, los atajos de teclado pueden interferir con las herramientas de accesibilidad. De manera de permitir enfocar correctamente tú herramienta, puedes deshabilitar todos los atajos de teclado aquí. Esto también deshabilitará todos los atajos disponibles en las aplicaciones.",
+ "Pick from Files" : "Elegir de Archivos",
+ "Default image" : "Imagen predeterminada",
+ "Custom color" : "Colores personalizados",
+ "Plain background" : "Fondo liso",
+ "Insert from {productName}" : "Insertar desde {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aunque puede seleccionar y personalizar su instancia, los usuarios pueden cambiar su fondo y colores. Si quiere forzar su personalización, puede activar esta casilla."
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/eu.js b/apps/theming/l10n/eu.js
index 2b15a87db11..277a4622f58 100644
--- a/apps/theming/l10n/eu.js
+++ b/apps/theming/l10n/eu.js
@@ -66,11 +66,7 @@ OC.L10N.register(
"Set a custom background" : "Ezarri atzeko planoko irudi pertsonalizatua",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sarbide unibertsala izatea oso garrantzitsua da guretzat. Web estadandarrak jarraitu eta guztia sagurik gabe erabili ahal izatea bermatzen dugu, pantaila-irakurle moduko software laguntzaileak barne. Helburu bezala jartzen dugu {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 AA mailan betetzea, kontraste altuko modua AAA mailaraino betez.",
"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}!" : "Arazoren bat aurkitzen baduzu, ez izan zalantzarik eta jakinarazi {issuetracker}gure arazoen jarraipena{linkend} zerbitzuan. Eta parte hartu nahi baduzu, etorri {designteam}gure diseinu taldera{linkend}!",
- "Pick from Files" : "Hautatu fitxategietatik",
- "Default image" : "Irudi lehenetsia",
- "Custom color" : "Kolore pertsonalizatua",
- "Plain background" : "Atzeko plano arrunta",
- "Insert from {productName}" : "Txertatu hemendik: {productName}",
+ "Change color" : "Aldatu kolorea",
"Theme selection is enforced" : "Gaiaren hautaketa behartuta dago",
"Reset to default" : "Berezarri balio lehenetsira",
"Upload" : "Kargatu",
@@ -84,6 +80,11 @@ OC.L10N.register(
"Login image" : "Saio-hasiera irudia",
"Upload new login background" : "Kargatu saio-hasiera atzeko-plano berria",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instalatu Imagemagick PHP luzapena SVG irudien laguntzarekin igotako logotipoan eta kolorean oinarritutako gogoko-ikonoak automatikoki sortzeko.",
- "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Zenbait kasutan, teklatuko lasterbideek erabilerraztasun-tresnekin oztopatu dezakete. Zure tresna behar bezala zentratu ahal izateko, hemen teklatuko lasterbide guztiak desgaitu ditzakezu. Honek aplikazioetan erabilgarri dauden lasterbide guztiak ere desgaituko ditu."
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Zenbait kasutan, teklatuko lasterbideek erabilerraztasun-tresnekin oztopatu dezakete. Zure tresna behar bezala zentratu ahal izateko, hemen teklatuko lasterbide guztiak desgaitu ditzakezu. Honek aplikazioetan erabilgarri dauden lasterbide guztiak ere desgaituko ditu.",
+ "Pick from Files" : "Hautatu fitxategietatik",
+ "Default image" : "Irudi lehenetsia",
+ "Custom color" : "Kolore pertsonalizatua",
+ "Plain background" : "Atzeko plano arrunta",
+ "Insert from {productName}" : "Txertatu hemendik: {productName}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/eu.json b/apps/theming/l10n/eu.json
index c281d2b9728..d036eb8a5b3 100644
--- a/apps/theming/l10n/eu.json
+++ b/apps/theming/l10n/eu.json
@@ -64,11 +64,7 @@
"Set a custom background" : "Ezarri atzeko planoko irudi pertsonalizatua",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sarbide unibertsala izatea oso garrantzitsua da guretzat. Web estadandarrak jarraitu eta guztia sagurik gabe erabili ahal izatea bermatzen dugu, pantaila-irakurle moduko software laguntzaileak barne. Helburu bezala jartzen dugu {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 AA mailan betetzea, kontraste altuko modua AAA mailaraino betez.",
"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}!" : "Arazoren bat aurkitzen baduzu, ez izan zalantzarik eta jakinarazi {issuetracker}gure arazoen jarraipena{linkend} zerbitzuan. Eta parte hartu nahi baduzu, etorri {designteam}gure diseinu taldera{linkend}!",
- "Pick from Files" : "Hautatu fitxategietatik",
- "Default image" : "Irudi lehenetsia",
- "Custom color" : "Kolore pertsonalizatua",
- "Plain background" : "Atzeko plano arrunta",
- "Insert from {productName}" : "Txertatu hemendik: {productName}",
+ "Change color" : "Aldatu kolorea",
"Theme selection is enforced" : "Gaiaren hautaketa behartuta dago",
"Reset to default" : "Berezarri balio lehenetsira",
"Upload" : "Kargatu",
@@ -82,6 +78,11 @@
"Login image" : "Saio-hasiera irudia",
"Upload new login background" : "Kargatu saio-hasiera atzeko-plano berria",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instalatu Imagemagick PHP luzapena SVG irudien laguntzarekin igotako logotipoan eta kolorean oinarritutako gogoko-ikonoak automatikoki sortzeko.",
- "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Zenbait kasutan, teklatuko lasterbideek erabilerraztasun-tresnekin oztopatu dezakete. Zure tresna behar bezala zentratu ahal izateko, hemen teklatuko lasterbide guztiak desgaitu ditzakezu. Honek aplikazioetan erabilgarri dauden lasterbide guztiak ere desgaituko ditu."
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Zenbait kasutan, teklatuko lasterbideek erabilerraztasun-tresnekin oztopatu dezakete. Zure tresna behar bezala zentratu ahal izateko, hemen teklatuko lasterbide guztiak desgaitu ditzakezu. Honek aplikazioetan erabilgarri dauden lasterbide guztiak ere desgaituko ditu.",
+ "Pick from Files" : "Hautatu fitxategietatik",
+ "Default image" : "Irudi lehenetsia",
+ "Custom color" : "Kolore pertsonalizatua",
+ "Plain background" : "Atzeko plano arrunta",
+ "Insert from {productName}" : "Txertatu hemendik: {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/fa.js b/apps/theming/l10n/fa.js
new file mode 100644
index 00000000000..14c6ca1b56a
--- /dev/null
+++ b/apps/theming/l10n/fa.js
@@ -0,0 +1,94 @@
+OC.L10N.register(
+ "theming",
+ {
+ "The given name is too long" : "نام داده شده بیش از حد بلند است",
+ "The given web address is too long" : "نشانی وب داده شده بیش از حد بلند است",
+ "The given web address is not a valid URL" : "نشانی وب داده شده معتبر نیست",
+ "The given legal notice address is too long" : "نشانی توصیهٔ حقوقی داده شده بیش از حد بلند است",
+ "The given legal notice address is not a valid URL" : "نشانی توصیهٔ حقوقی داده شده معتبر نیست",
+ "The given privacy policy address is too long" : "نشانی سیاست محرمانگی داده شده بیش از حد بلند است",
+ "The given privacy policy address is not a valid URL" : "نشانی سیاست محرمانگی داده شده معتبر نیست",
+ "The given slogan is too long" : "شعار داده شده بیش از حد بلند است",
+ "The given color is invalid" : "رنگ داده شده نامعتبر است",
+ "Disable-user-theming should be true or false" : "مقدار Disable-user-theming باید true یا false باشد",
+ "Saved" : "ذخیره شد",
+ "The file was uploaded" : "پرونده بارگذاری شد",
+ "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "حجم پروندهٔ بارگذاری شده بیش‌تر از upload_max_filesize در php.ini است",
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "حجم پروندهٔ بارگذاری شده بیش‌تر از MAX_FILE_SIZE مشخّص شده در فرم HTML است",
+ "The file was only partially uploaded" : "پرونده به صورت ناقص بارگذاری شده بود",
+ "No file was uploaded" : "هیچ پرونده‌ای بارگذاری نشده",
+ "Missing a temporary folder" : "یک شاخهٔ موقّتی گم شده",
+ "Could not write file to disk" : "نتوانست پرونده را روی دیسک بنویسد",
+ "A PHP extension stopped the file upload" : "یک افزونهٔ پی‌اچ‌پی بارگذاری پرونده را متوقّف کرد",
+ "No file uploaded" : "هیچ پرونده‌ای بارگذاری نشد",
+ "Cleanup old theming cache" : "پاک‌سازی انبارهٔ زمینش قدیمی",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "شکست در حذف شاخه: %1$s، خطا: %2$s",
+ "You are already using a custom theme. Theming app settings might be overwritten by that." : "هم‌اکنون در حال استفاده از یک زمینهٔ شخصی هستید. ممکن است تنظمیات کارهٔ زمینش به دستش پایکال شوند.",
+ "Theming" : "زمینش",
+ "Appearance and accessibility" : "ظاهر و دسترسی‌پذیری",
+ "Dark theme with high contrast mode" : "زمینهٔ تیره با حالت سایه‌روشن بالا",
+ "Enable dark high contrast mode" : "به کار انداختن حالت سایه‌روشن تاریک",
+ "Similar to the high contrast mode, but with dark colours." : "شبیه حالت سایه‌روشن بالا، ولی با رنگ‌های تیره",
+ "Dark theme" : "زمینهٔ تیره",
+ "Enable dark theme" : "به کار انداختن زمینهٔ تیره",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "زمینه‌ای تاریک برای آسایش چشمانتان با کاستن نوردهی و روشنایی کلّی.",
+ "System default theme" : "زمینهٔ پیش‌گزیدهٔ سامانه",
+ "Enable the system default" : "به کار انداختن پیش‌گزیدهٔ سامانه",
+ "Using the default system appearance." : "در حال استفاده از ظاهر سامانهٔ پیش‌گزیده.",
+ "Dyslexia font" : "قلم خوانش‌پریش",
+ "Enable dyslexia font" : "به کار انداختن قلم خوانش‌پریش",
+ "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "اُپن‌دیسلکسیک قلمی آزاد است که برای کاهش برخی از خطاهای معمول در خواندن ناشی از خوانش‌پریشی طرّاحی شده.",
+ "High contrast mode" : "حالت سایه‌روشن بالا",
+ "Enable high contrast mode" : "به کار انداختن حالت سایه‌روشن بالا",
+ "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "حالتی با سایه‌روشن بالا برای آسایش ناوبریتان. کیفیت بصری کاهش خواهد یافت؛ ولی وضوح افزایش می‌باید.",
+ "Light theme" : "زمینهٔ روشن",
+ "Enable the default light theme" : "به کار انداختن زمینهٔ روشن پیش‌گزیده",
+ "The default light appearance." : "ظاهر روشن پیش گزیده.",
+ "Legal notice" : "توصیهٔ حقوقی",
+ "Privacy policy" : "سیاست محرمانگی",
+ "Adjust the Nextcloud theme" : "تنظیم زمینهٔ نکست‌کلود",
+ "Advanced options" : "گزینه‌های پیش‌رفته",
+ "Name" : "نام",
+ "Web link" : "پیوند وب",
+ "a safe home for all your data" : "خانه‌ای امن برای تمامی داده‌هایتان",
+ "Slogan" : "شعار",
+ "Color" : "رنگ",
+ "Logo" : "نشان",
+ "Upload new logo" : "بارگذاری نشان جدید",
+ "Background and login image" : "تصویر پس‌زمینه و ورود",
+ "Upload new background and login image" : "بارگذاری تصویر پس‌زمینه و ورود جدید",
+ "Legal notice link" : "پیوند توصیهٔ حقوقی",
+ "Privacy policy link" : "پیوند سیاست محرمانگی",
+ "Header logo" : "نشان سرایند",
+ "Upload new header logo" : "بارگذاری نشان سرایند جدید",
+ "Favicon" : "نقشک صفحه",
+ "Upload new favicon" : "بارگذاری نقشک صفحهٔ جدید",
+ "User settings" : "تنظمبات کاربری",
+ "Disable user theming" : "از کار انداختن زمینش کاربری",
+ "Keyboard shortcuts" : "میان‌برهای صفحه‌کلید",
+ "Disable all keyboard shortcuts" : "از کار انداختن تمامی میان‌برهای صفحه‌کلید",
+ "Background" : "پس‌زمینه",
+ "Customization has been disabled by your administrator" : "شخصی‌سازی به دست مدیرتان از کار افتاده",
+ "Set a custom background" : "تنظیم پس‌زمینه‌ای شخصی",
+ "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "دسترسی جهانی برای ما بسیار مهم است. ما از استانداردهای وب پیروی می‌کنیم و دقیت می‌کنیم تا همه چیز بدون موش‌واره و نرم‌افزارهای کمکی مانند صفحه‌خوان‌ها نیز قابل استفاده باشند. هدف ما این است که مطابق با دستورالعمل {guidelines}راهنماهای دسترس‌پذیری محتوا تحت وب{linkend} نسخه 2.1 در سطح AA، و حتی با زمینه کنتراست بالا در سطح AAA باشیم.",
+ "Change color" : "تغییر رنگ",
+ "Theme selection is enforced" : "گزینش زمینه اجباری است",
+ "Select a custom color" : "گزینش رنگی شخصی",
+ "Reset to default" : "بازنشانی به پیش‌گزیده",
+ "Upload" : "بارگذاری",
+ "Remove background image" : "برداشتن تصویر پس‌زمینه",
+ "Loading preview…" : "بار کردن پیش‌نمایش…",
+ "Admin" : "مدیر",
+ "Error uploading the file" : "خطا در بارگذاری پرونده",
+ "Name cannot be empty" : "نام نمی‌تواند خالی باشد",
+ "Open documentation" : "گشودن مستندات",
+ "https://…" : "https://…",
+ "Login image" : "تصویر ورود",
+ "Upload new login background" : "بارگذاری تصویر ورود جدید",
+ "Pick from Files" : "گزینش از پرونده‌ها",
+ "Default image" : "تصویر پیش‌گزیده",
+ "Custom color" : "رنگ سفارشی",
+ "Plain background" : "پس‌زمینهٔ ساده",
+ "Insert from {productName}" : "درج از {productName}"
+},
+"nplurals=2; plural=(n > 1);");
diff --git a/apps/theming/l10n/fa.json b/apps/theming/l10n/fa.json
new file mode 100644
index 00000000000..767b5087a32
--- /dev/null
+++ b/apps/theming/l10n/fa.json
@@ -0,0 +1,92 @@
+{ "translations": {
+ "The given name is too long" : "نام داده شده بیش از حد بلند است",
+ "The given web address is too long" : "نشانی وب داده شده بیش از حد بلند است",
+ "The given web address is not a valid URL" : "نشانی وب داده شده معتبر نیست",
+ "The given legal notice address is too long" : "نشانی توصیهٔ حقوقی داده شده بیش از حد بلند است",
+ "The given legal notice address is not a valid URL" : "نشانی توصیهٔ حقوقی داده شده معتبر نیست",
+ "The given privacy policy address is too long" : "نشانی سیاست محرمانگی داده شده بیش از حد بلند است",
+ "The given privacy policy address is not a valid URL" : "نشانی سیاست محرمانگی داده شده معتبر نیست",
+ "The given slogan is too long" : "شعار داده شده بیش از حد بلند است",
+ "The given color is invalid" : "رنگ داده شده نامعتبر است",
+ "Disable-user-theming should be true or false" : "مقدار Disable-user-theming باید true یا false باشد",
+ "Saved" : "ذخیره شد",
+ "The file was uploaded" : "پرونده بارگذاری شد",
+ "The uploaded file exceeds the upload_max_filesize directive in php.ini" : "حجم پروندهٔ بارگذاری شده بیش‌تر از upload_max_filesize در php.ini است",
+ "The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form" : "حجم پروندهٔ بارگذاری شده بیش‌تر از MAX_FILE_SIZE مشخّص شده در فرم HTML است",
+ "The file was only partially uploaded" : "پرونده به صورت ناقص بارگذاری شده بود",
+ "No file was uploaded" : "هیچ پرونده‌ای بارگذاری نشده",
+ "Missing a temporary folder" : "یک شاخهٔ موقّتی گم شده",
+ "Could not write file to disk" : "نتوانست پرونده را روی دیسک بنویسد",
+ "A PHP extension stopped the file upload" : "یک افزونهٔ پی‌اچ‌پی بارگذاری پرونده را متوقّف کرد",
+ "No file uploaded" : "هیچ پرونده‌ای بارگذاری نشد",
+ "Cleanup old theming cache" : "پاک‌سازی انبارهٔ زمینش قدیمی",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "شکست در حذف شاخه: %1$s، خطا: %2$s",
+ "You are already using a custom theme. Theming app settings might be overwritten by that." : "هم‌اکنون در حال استفاده از یک زمینهٔ شخصی هستید. ممکن است تنظمیات کارهٔ زمینش به دستش پایکال شوند.",
+ "Theming" : "زمینش",
+ "Appearance and accessibility" : "ظاهر و دسترسی‌پذیری",
+ "Dark theme with high contrast mode" : "زمینهٔ تیره با حالت سایه‌روشن بالا",
+ "Enable dark high contrast mode" : "به کار انداختن حالت سایه‌روشن تاریک",
+ "Similar to the high contrast mode, but with dark colours." : "شبیه حالت سایه‌روشن بالا، ولی با رنگ‌های تیره",
+ "Dark theme" : "زمینهٔ تیره",
+ "Enable dark theme" : "به کار انداختن زمینهٔ تیره",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "زمینه‌ای تاریک برای آسایش چشمانتان با کاستن نوردهی و روشنایی کلّی.",
+ "System default theme" : "زمینهٔ پیش‌گزیدهٔ سامانه",
+ "Enable the system default" : "به کار انداختن پیش‌گزیدهٔ سامانه",
+ "Using the default system appearance." : "در حال استفاده از ظاهر سامانهٔ پیش‌گزیده.",
+ "Dyslexia font" : "قلم خوانش‌پریش",
+ "Enable dyslexia font" : "به کار انداختن قلم خوانش‌پریش",
+ "OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "اُپن‌دیسلکسیک قلمی آزاد است که برای کاهش برخی از خطاهای معمول در خواندن ناشی از خوانش‌پریشی طرّاحی شده.",
+ "High contrast mode" : "حالت سایه‌روشن بالا",
+ "Enable high contrast mode" : "به کار انداختن حالت سایه‌روشن بالا",
+ "A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "حالتی با سایه‌روشن بالا برای آسایش ناوبریتان. کیفیت بصری کاهش خواهد یافت؛ ولی وضوح افزایش می‌باید.",
+ "Light theme" : "زمینهٔ روشن",
+ "Enable the default light theme" : "به کار انداختن زمینهٔ روشن پیش‌گزیده",
+ "The default light appearance." : "ظاهر روشن پیش گزیده.",
+ "Legal notice" : "توصیهٔ حقوقی",
+ "Privacy policy" : "سیاست محرمانگی",
+ "Adjust the Nextcloud theme" : "تنظیم زمینهٔ نکست‌کلود",
+ "Advanced options" : "گزینه‌های پیش‌رفته",
+ "Name" : "نام",
+ "Web link" : "پیوند وب",
+ "a safe home for all your data" : "خانه‌ای امن برای تمامی داده‌هایتان",
+ "Slogan" : "شعار",
+ "Color" : "رنگ",
+ "Logo" : "نشان",
+ "Upload new logo" : "بارگذاری نشان جدید",
+ "Background and login image" : "تصویر پس‌زمینه و ورود",
+ "Upload new background and login image" : "بارگذاری تصویر پس‌زمینه و ورود جدید",
+ "Legal notice link" : "پیوند توصیهٔ حقوقی",
+ "Privacy policy link" : "پیوند سیاست محرمانگی",
+ "Header logo" : "نشان سرایند",
+ "Upload new header logo" : "بارگذاری نشان سرایند جدید",
+ "Favicon" : "نقشک صفحه",
+ "Upload new favicon" : "بارگذاری نقشک صفحهٔ جدید",
+ "User settings" : "تنظمبات کاربری",
+ "Disable user theming" : "از کار انداختن زمینش کاربری",
+ "Keyboard shortcuts" : "میان‌برهای صفحه‌کلید",
+ "Disable all keyboard shortcuts" : "از کار انداختن تمامی میان‌برهای صفحه‌کلید",
+ "Background" : "پس‌زمینه",
+ "Customization has been disabled by your administrator" : "شخصی‌سازی به دست مدیرتان از کار افتاده",
+ "Set a custom background" : "تنظیم پس‌زمینه‌ای شخصی",
+ "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "دسترسی جهانی برای ما بسیار مهم است. ما از استانداردهای وب پیروی می‌کنیم و دقیت می‌کنیم تا همه چیز بدون موش‌واره و نرم‌افزارهای کمکی مانند صفحه‌خوان‌ها نیز قابل استفاده باشند. هدف ما این است که مطابق با دستورالعمل {guidelines}راهنماهای دسترس‌پذیری محتوا تحت وب{linkend} نسخه 2.1 در سطح AA، و حتی با زمینه کنتراست بالا در سطح AAA باشیم.",
+ "Change color" : "تغییر رنگ",
+ "Theme selection is enforced" : "گزینش زمینه اجباری است",
+ "Select a custom color" : "گزینش رنگی شخصی",
+ "Reset to default" : "بازنشانی به پیش‌گزیده",
+ "Upload" : "بارگذاری",
+ "Remove background image" : "برداشتن تصویر پس‌زمینه",
+ "Loading preview…" : "بار کردن پیش‌نمایش…",
+ "Admin" : "مدیر",
+ "Error uploading the file" : "خطا در بارگذاری پرونده",
+ "Name cannot be empty" : "نام نمی‌تواند خالی باشد",
+ "Open documentation" : "گشودن مستندات",
+ "https://…" : "https://…",
+ "Login image" : "تصویر ورود",
+ "Upload new login background" : "بارگذاری تصویر ورود جدید",
+ "Pick from Files" : "گزینش از پرونده‌ها",
+ "Default image" : "تصویر پیش‌گزیده",
+ "Custom color" : "رنگ سفارشی",
+ "Plain background" : "پس‌زمینهٔ ساده",
+ "Insert from {productName}" : "درج از {productName}"
+},"pluralForm" :"nplurals=2; plural=(n > 1);"
+} \ No newline at end of file
diff --git a/apps/theming/l10n/fi.js b/apps/theming/l10n/fi.js
index 6b3db9af133..e3ed934480f 100644
--- a/apps/theming/l10n/fi.js
+++ b/apps/theming/l10n/fi.js
@@ -69,11 +69,7 @@ OC.L10N.register(
"Customization has been disabled by your administrator" : "Mukauttaminen on poistettu käytöstä ylläpitäjän toimesta",
"Set a custom background" : "Aseta mukautettu tausta",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Saavutettavuus on erittäin tärkeää meille. Seuraamme verkkostandardeja ja varmistamme, että kaikki on käytettävissä ilman hiirtä sekä avustavien ohjelmistojen kuten ruudunlukijoiden avulla. Pyrimme olemaan yhteensopivia {guidelines}Web Content Accessibility Guidelines{linkend} -ohjeistuksen version 2.1 AA-tason kanssa, suuren kontrastin teemalla pyrimme jopa AAA-tasoon.",
- "Pick from Files" : "Valitse tiedostoista",
- "Default image" : "Oletuskuva",
- "Custom color" : "Mukautettu väri",
- "Plain background" : "Yksinkertainen tausta",
- "Insert from {productName}" : "Aseta kohteesta {productName}",
+ "Change color" : "Vaihda väriä",
"Theme selection is enforced" : "Teemavalinta on pakotettu",
"Reset to default" : "Palauta oletukseksi",
"Upload" : "Lähetä",
@@ -86,6 +82,11 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Kirjautumissivun kuva",
"Upload new login background" : "Lähetä uusi kirjautumissivun taustakuva",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Asenna Imagemagick PHP-lisäosa SVG-kuvatuella generoidaksesi automaattisesti logoon ja väriin perustuvat suosikkikuvakkeet."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Asenna Imagemagick PHP-lisäosa SVG-kuvatuella generoidaksesi automaattisesti logoon ja väriin perustuvat suosikkikuvakkeet.",
+ "Pick from Files" : "Valitse tiedostoista",
+ "Default image" : "Oletuskuva",
+ "Custom color" : "Mukautettu väri",
+ "Plain background" : "Yksinkertainen tausta",
+ "Insert from {productName}" : "Aseta kohteesta {productName}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/fi.json b/apps/theming/l10n/fi.json
index 1fd61121558..dfb6355e9df 100644
--- a/apps/theming/l10n/fi.json
+++ b/apps/theming/l10n/fi.json
@@ -67,11 +67,7 @@
"Customization has been disabled by your administrator" : "Mukauttaminen on poistettu käytöstä ylläpitäjän toimesta",
"Set a custom background" : "Aseta mukautettu tausta",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Saavutettavuus on erittäin tärkeää meille. Seuraamme verkkostandardeja ja varmistamme, että kaikki on käytettävissä ilman hiirtä sekä avustavien ohjelmistojen kuten ruudunlukijoiden avulla. Pyrimme olemaan yhteensopivia {guidelines}Web Content Accessibility Guidelines{linkend} -ohjeistuksen version 2.1 AA-tason kanssa, suuren kontrastin teemalla pyrimme jopa AAA-tasoon.",
- "Pick from Files" : "Valitse tiedostoista",
- "Default image" : "Oletuskuva",
- "Custom color" : "Mukautettu väri",
- "Plain background" : "Yksinkertainen tausta",
- "Insert from {productName}" : "Aseta kohteesta {productName}",
+ "Change color" : "Vaihda väriä",
"Theme selection is enforced" : "Teemavalinta on pakotettu",
"Reset to default" : "Palauta oletukseksi",
"Upload" : "Lähetä",
@@ -84,6 +80,11 @@
"https://…" : "https://…",
"Login image" : "Kirjautumissivun kuva",
"Upload new login background" : "Lähetä uusi kirjautumissivun taustakuva",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Asenna Imagemagick PHP-lisäosa SVG-kuvatuella generoidaksesi automaattisesti logoon ja väriin perustuvat suosikkikuvakkeet."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Asenna Imagemagick PHP-lisäosa SVG-kuvatuella generoidaksesi automaattisesti logoon ja väriin perustuvat suosikkikuvakkeet.",
+ "Pick from Files" : "Valitse tiedostoista",
+ "Default image" : "Oletuskuva",
+ "Custom color" : "Mukautettu väri",
+ "Plain background" : "Yksinkertainen tausta",
+ "Insert from {productName}" : "Aseta kohteesta {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/fr.js b/apps/theming/l10n/fr.js
index e706ffa5bf9..631bfc3009d 100644
--- a/apps/theming/l10n/fr.js
+++ b/apps/theming/l10n/fr.js
@@ -10,7 +10,7 @@ OC.L10N.register(
"The given privacy policy address is not a valid URL" : "L'adresse de la politique de confidentialité n'est pas une URL valide",
"The given slogan is too long" : "Le slogan donné est trop long",
"The given color is invalid" : "La couleur donnée est invalide",
- "Disable-user-theming should be true or false" : "Désactiver le thème de l'utilisateur doit être vrai ou faux.",
+ "Disable-user-theming should be true or false" : "Désactiver le thème de l'utilisateur doit valoir vrai ou faux.",
"Saved" : "Enregistré",
"The file was uploaded" : "Le fichier a été téléversé",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Le fichier téléversé dépasse la valeur upload_max_filesize située dans le fichier php.ini",
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "Définir un arrière-plan personnalisé",
"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 {guidelines}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 vérifions que tout est utilisable même sans souris et sans logiciel d'assistance comme les lecteurs d'écran. Nous visons à respecter les {guidelines}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} !",
- "Pick from Files" : "Sélectionner dans Fichiers",
- "Default image" : "Image par défaut",
- "Custom color" : "Couleur personnalisée",
- "Plain background" : "Arrière-plan uni",
- "Insert from {productName}" : "Sélectionnez une image de {productName}",
+ "Custom background" : "Arrière-plan personnalisé",
+ "Default background" : "Arrière-plan par défaut",
+ "Change color" : "Changer la couleur",
+ "Remove background" : "Retirer l'arrière-plan",
+ "Select a background from your files" : "Sélectionner un arrière-plan parmi vos fichiers",
"Theme selection is enforced" : "La sélection du thème est imposée",
"Select a custom color" : "Sélectionnez une couleur personnalisée",
"Reset to default" : "Restaurer les valeurs par défaut",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Téléverser un nouvel arrière-plan de connexion",
"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 avec le support pour les images SVG afin de générer automatiquement les favicons sur base du logo téléversé et de la couleur.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Dans certains cas, les raccourcis clavier peuvent interférer avec les outils d'accessibilité. Afin de vous permettre de vous concentrer correctement sur votre outil, vous pouvez désactiver tous les raccourcis clavier ici. Cela désactivera également tous les raccourcis disponibles dans les applications.",
+ "Pick from Files" : "Sélectionner dans Fichiers",
+ "Default image" : "Image par défaut",
+ "Custom color" : "Couleur personnalisée",
+ "Plain background" : "Arrière-plan uni",
+ "Insert from {productName}" : "Sélectionnez une image de {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Bien que vous puissiez sélectionner et personnaliser votre instance, les utilisateurs peuvent modifier leur arrière-plan et leurs couleurs. Si vous voulez imposer votre personnalisation, vous pouvez cocher cette case."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/fr.json b/apps/theming/l10n/fr.json
index 0d5fb0a87ad..de795ff49f8 100644
--- a/apps/theming/l10n/fr.json
+++ b/apps/theming/l10n/fr.json
@@ -8,7 +8,7 @@
"The given privacy policy address is not a valid URL" : "L'adresse de la politique de confidentialité n'est pas une URL valide",
"The given slogan is too long" : "Le slogan donné est trop long",
"The given color is invalid" : "La couleur donnée est invalide",
- "Disable-user-theming should be true or false" : "Désactiver le thème de l'utilisateur doit être vrai ou faux.",
+ "Disable-user-theming should be true or false" : "Désactiver le thème de l'utilisateur doit valoir vrai ou faux.",
"Saved" : "Enregistré",
"The file was uploaded" : "Le fichier a été téléversé",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Le fichier téléversé dépasse la valeur upload_max_filesize située dans le fichier php.ini",
@@ -74,11 +74,11 @@
"Set a custom background" : "Définir un arrière-plan personnalisé",
"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 {guidelines}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 vérifions que tout est utilisable même sans souris et sans logiciel d'assistance comme les lecteurs d'écran. Nous visons à respecter les {guidelines}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} !",
- "Pick from Files" : "Sélectionner dans Fichiers",
- "Default image" : "Image par défaut",
- "Custom color" : "Couleur personnalisée",
- "Plain background" : "Arrière-plan uni",
- "Insert from {productName}" : "Sélectionnez une image de {productName}",
+ "Custom background" : "Arrière-plan personnalisé",
+ "Default background" : "Arrière-plan par défaut",
+ "Change color" : "Changer la couleur",
+ "Remove background" : "Retirer l'arrière-plan",
+ "Select a background from your files" : "Sélectionner un arrière-plan parmi vos fichiers",
"Theme selection is enforced" : "La sélection du thème est imposée",
"Select a custom color" : "Sélectionnez une couleur personnalisée",
"Reset to default" : "Restaurer les valeurs par défaut",
@@ -94,6 +94,11 @@
"Upload new login background" : "Téléverser un nouvel arrière-plan de connexion",
"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 avec le support pour les images SVG afin de générer automatiquement les favicons sur base du logo téléversé et de la couleur.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Dans certains cas, les raccourcis clavier peuvent interférer avec les outils d'accessibilité. Afin de vous permettre de vous concentrer correctement sur votre outil, vous pouvez désactiver tous les raccourcis clavier ici. Cela désactivera également tous les raccourcis disponibles dans les applications.",
+ "Pick from Files" : "Sélectionner dans Fichiers",
+ "Default image" : "Image par défaut",
+ "Custom color" : "Couleur personnalisée",
+ "Plain background" : "Arrière-plan uni",
+ "Insert from {productName}" : "Sélectionnez une image de {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Bien que vous puissiez sélectionner et personnaliser votre instance, les utilisateurs peuvent modifier leur arrière-plan et leurs couleurs. Si vous voulez imposer votre personnalisation, vous pouvez cocher cette case."
},"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/theming/l10n/gl.js b/apps/theming/l10n/gl.js
index dc3a1d758cf..e67c1ba2db3 100644
--- a/apps/theming/l10n/gl.js
+++ b/apps/theming/l10n/gl.js
@@ -10,6 +10,7 @@ OC.L10N.register(
"The given privacy policy address is not a valid URL" : "O enderezo da directiva de privacidade indicado non é un URL válido",
"The given slogan is too long" : "O lema indicado é longo de máis",
"The given color is invalid" : "A cor indicada é incorrecta",
+ "Disable-user-theming should be true or false" : "Desactivar-a-temática-do-usuario debe ser verdadeiro ou falso",
"Saved" : "Gardado",
"The file was uploaded" : "O ficheiro foi enviado",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro enviado excede a directiva indicada por upload_max_filesize de php.ini",
@@ -20,21 +21,35 @@ OC.L10N.register(
"Could not write file to disk" : "Non foi posíbel escribir o ficheiro no disco",
"A PHP extension stopped the file upload" : "Unha extensión PHP detivo o envío de ficheiros",
"No file uploaded" : "Non se enviou ningún ficheiro",
+ "Cleanup old theming cache" : "Limpar a caché de temas antigos",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "Produciuse un erro ao eliminar o cartafol: \"%1$s\", erro: %2$s",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Está a empregar un tema personalizado. Os axustes da aplicación de temas poden ser sobrescritos por el.",
"Theming" : "Temas",
+ "Appearance and accessibility" : "Aspecto e accesibilidade",
+ "Dark theme with high contrast mode" : "Tema escuro con modo de alto contraste",
+ "Enable dark high contrast mode" : "Activa o modo escuro de alto contraste",
+ "Similar to the high contrast mode, but with dark colours." : "Similar ao modo de alto contraste, pero con cores escuras.",
"Dark theme" : "Tema escuro",
"Enable dark theme" : "Activar o tema escuro",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Un tema escuro para aliviar os teus ollos reducindo a luminosidade e o brillo xerais.",
+ "System default theme" : "Tema predeterminado do sistema",
+ "Enable the system default" : "Activa o predeterminado do sistema ",
+ "Using the default system appearance." : "Usando a aparencia predeterminada do sistema.",
"Dyslexia font" : "Tipo de letra para disléxicos",
"Enable dyslexia font" : "Activar o tipo de letra para disléxicos",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é un tipo de letra libre deseñada para mitigar algúns dos erros comúns de lectura causados pola dislexia.",
"High contrast mode" : "Modo de alto contraste",
"Enable high contrast mode" : "Activar o modo de alto contraste",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para facilitar a navegación. A calidade visual será reducida, mais a claridade aumentará.",
+ "Light theme" : "Tema claro",
+ "Enable the default light theme" : "Activa o tema claro predeterminado",
+ "The default light appearance." : "A aparencia clara predeterminada.",
"Legal notice" : "Aviso legal",
"Privacy policy" : "Directiva de privacidade",
"Adjust the Nextcloud theme" : "Axustar o tema do Nextcloud",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Os temas fan posíbel personalizar facilmente a aparencia da súa instancia e os clientes compatíbeis. Isto será visíbel para todos os usuarios.",
"Advanced options" : "Opcións avanzadas",
+ "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala a extensión PHP ImageMagick con soporte para imaxes SVG para xerar automaticamente favicons baseados no logotipo e na cor cargados.",
"Name" : "Nome",
"Web link" : "Ligazón web",
"a safe home for all your data" : "un lugar seguro para todos os seus datos",
@@ -42,6 +57,8 @@ OC.L10N.register(
"Color" : "Cor",
"Logo" : "Logotipo",
"Upload new logo" : "Enviar un novo logotipo",
+ "Background and login image" : "Imaxe de fondo e inicio de sesión",
+ "Upload new background and login image" : "Carga nova imaxe de fondo e inicio de sesión",
"Legal notice link" : "Ligazón ao aviso legal",
"Privacy policy link" : "Ligazón á directiva de privacidade",
"Header logo" : "Logotipo da cabeceira",
@@ -49,22 +66,41 @@ OC.L10N.register(
"Favicon" : "Favicon",
"Upload new favicon" : "Enviar un novo favicon",
"User settings" : "Axustes de usuario",
+ "Disable user theming" : "Desactivar a temática do usuario",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se queres aplicar a túa personalización, podes activar esta opción.",
"Keyboard shortcuts" : "Atallos de teclado",
+ "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarte na túa ferramenta correctamente, podes desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñibles nas aplicacións.",
+ "Disable all keyboard shortcuts" : "Desactiva todos os atallos de teclado",
+ "Background" : "Fondo",
+ "Customization has been disabled by your administrator" : "O teu administrador desactivou a personalización",
+ "Set a custom background" : "Establece un fondo personalizado",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Para nós o acceso universal é moi importante. Seguimos os estándares web e comprobamos que todo poida ser utilizado sen rato e software de axuda como os lectores de pantalla. O noso obxectivo é ter cumprir ás {guidelines}Directrices de accesibilidade ao contido web{linkend} 2.1 a nivel AA, co tema de alto contraste incluso a nivel AAA.",
- "Pick from Files" : "Escolla entre os ficheiros",
- "Custom color" : "Cor personalizada",
- "Plain background" : "Fondo sinxelo",
- "Insert from {productName}" : "Inserir dende {productName}",
+ "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}!" : "Se atopas algún problema, non dubides en informalo no {issuetracker}o noso rastreador de problemas{linkend}. E se queres participar, únete ao {designteam}noso equipo de deseño{linkend}!",
+ "Custom background" : "Fondo personalizado",
+ "Default background" : "Fondo predeterminado",
+ "Change color" : "Cambiar a cor",
+ "Remove background" : "Eliminar o fondo",
+ "Select a background from your files" : "Selecciona un fondo dende os teus ficheiros",
+ "Theme selection is enforced" : "Aplicarase a selección do tema",
+ "Select a custom color" : "Seleccione unha cor personalizada",
"Reset to default" : "Restabelecer os valores predeterminados",
"Upload" : "Enviar",
"Remove background image" : "Retirar a imaxe de fondo",
"Loading preview…" : "Cargando a vista previa…",
"Admin" : "Administración",
+ "Error uploading the file" : "Produciuse un erro ao cargar o ficheiro",
"Name cannot be empty" : "O nome non pode estar baleiro",
"Open documentation" : "Abrir a documentación",
"https://…" : "https://…",
"Login image" : "Imaxe de inicio",
"Upload new login background" : "Enviar unha nova imaxe de fondo",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados.",
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarte na túa ferramenta correctamente, podes desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñibles nas aplicacións.",
+ "Pick from Files" : "Escolla entre os ficheiros",
+ "Default image" : "Imaxe predeterminada",
+ "Custom color" : "Cor personalizada",
+ "Plain background" : "Fondo sinxelo",
+ "Insert from {productName}" : "Inserir dende {productName}",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se queres aplicar a túa personalización, podes marcar esta caixa."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/gl.json b/apps/theming/l10n/gl.json
index d7f4e14e387..3218f3f142e 100644
--- a/apps/theming/l10n/gl.json
+++ b/apps/theming/l10n/gl.json
@@ -8,6 +8,7 @@
"The given privacy policy address is not a valid URL" : "O enderezo da directiva de privacidade indicado non é un URL válido",
"The given slogan is too long" : "O lema indicado é longo de máis",
"The given color is invalid" : "A cor indicada é incorrecta",
+ "Disable-user-theming should be true or false" : "Desactivar-a-temática-do-usuario debe ser verdadeiro ou falso",
"Saved" : "Gardado",
"The file was uploaded" : "O ficheiro foi enviado",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "O ficheiro enviado excede a directiva indicada por upload_max_filesize de php.ini",
@@ -18,21 +19,35 @@
"Could not write file to disk" : "Non foi posíbel escribir o ficheiro no disco",
"A PHP extension stopped the file upload" : "Unha extensión PHP detivo o envío de ficheiros",
"No file uploaded" : "Non se enviou ningún ficheiro",
+ "Cleanup old theming cache" : "Limpar a caché de temas antigos",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "Produciuse un erro ao eliminar o cartafol: \"%1$s\", erro: %2$s",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Está a empregar un tema personalizado. Os axustes da aplicación de temas poden ser sobrescritos por el.",
"Theming" : "Temas",
+ "Appearance and accessibility" : "Aspecto e accesibilidade",
+ "Dark theme with high contrast mode" : "Tema escuro con modo de alto contraste",
+ "Enable dark high contrast mode" : "Activa o modo escuro de alto contraste",
+ "Similar to the high contrast mode, but with dark colours." : "Similar ao modo de alto contraste, pero con cores escuras.",
"Dark theme" : "Tema escuro",
"Enable dark theme" : "Activar o tema escuro",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Un tema escuro para aliviar os teus ollos reducindo a luminosidade e o brillo xerais.",
+ "System default theme" : "Tema predeterminado do sistema",
+ "Enable the system default" : "Activa o predeterminado do sistema ",
+ "Using the default system appearance." : "Usando a aparencia predeterminada do sistema.",
"Dyslexia font" : "Tipo de letra para disléxicos",
"Enable dyslexia font" : "Activar o tipo de letra para disléxicos",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic é un tipo de letra libre deseñada para mitigar algúns dos erros comúns de lectura causados pola dislexia.",
"High contrast mode" : "Modo de alto contraste",
"Enable high contrast mode" : "Activar o modo de alto contraste",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Un modo de alto contraste para facilitar a navegación. A calidade visual será reducida, mais a claridade aumentará.",
+ "Light theme" : "Tema claro",
+ "Enable the default light theme" : "Activa o tema claro predeterminado",
+ "The default light appearance." : "A aparencia clara predeterminada.",
"Legal notice" : "Aviso legal",
"Privacy policy" : "Directiva de privacidade",
"Adjust the Nextcloud theme" : "Axustar o tema do Nextcloud",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Os temas fan posíbel personalizar facilmente a aparencia da súa instancia e os clientes compatíbeis. Isto será visíbel para todos os usuarios.",
"Advanced options" : "Opcións avanzadas",
+ "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instala a extensión PHP ImageMagick con soporte para imaxes SVG para xerar automaticamente favicons baseados no logotipo e na cor cargados.",
"Name" : "Nome",
"Web link" : "Ligazón web",
"a safe home for all your data" : "un lugar seguro para todos os seus datos",
@@ -40,6 +55,8 @@
"Color" : "Cor",
"Logo" : "Logotipo",
"Upload new logo" : "Enviar un novo logotipo",
+ "Background and login image" : "Imaxe de fondo e inicio de sesión",
+ "Upload new background and login image" : "Carga nova imaxe de fondo e inicio de sesión",
"Legal notice link" : "Ligazón ao aviso legal",
"Privacy policy link" : "Ligazón á directiva de privacidade",
"Header logo" : "Logotipo da cabeceira",
@@ -47,22 +64,41 @@
"Favicon" : "Favicon",
"Upload new favicon" : "Enviar un novo favicon",
"User settings" : "Axustes de usuario",
+ "Disable user theming" : "Desactivar a temática do usuario",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se queres aplicar a túa personalización, podes activar esta opción.",
"Keyboard shortcuts" : "Atallos de teclado",
+ "In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarte na túa ferramenta correctamente, podes desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñibles nas aplicacións.",
+ "Disable all keyboard shortcuts" : "Desactiva todos os atallos de teclado",
+ "Background" : "Fondo",
+ "Customization has been disabled by your administrator" : "O teu administrador desactivou a personalización",
+ "Set a custom background" : "Establece un fondo personalizado",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Para nós o acceso universal é moi importante. Seguimos os estándares web e comprobamos que todo poida ser utilizado sen rato e software de axuda como os lectores de pantalla. O noso obxectivo é ter cumprir ás {guidelines}Directrices de accesibilidade ao contido web{linkend} 2.1 a nivel AA, co tema de alto contraste incluso a nivel AAA.",
- "Pick from Files" : "Escolla entre os ficheiros",
- "Custom color" : "Cor personalizada",
- "Plain background" : "Fondo sinxelo",
- "Insert from {productName}" : "Inserir dende {productName}",
+ "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}!" : "Se atopas algún problema, non dubides en informalo no {issuetracker}o noso rastreador de problemas{linkend}. E se queres participar, únete ao {designteam}noso equipo de deseño{linkend}!",
+ "Custom background" : "Fondo personalizado",
+ "Default background" : "Fondo predeterminado",
+ "Change color" : "Cambiar a cor",
+ "Remove background" : "Eliminar o fondo",
+ "Select a background from your files" : "Selecciona un fondo dende os teus ficheiros",
+ "Theme selection is enforced" : "Aplicarase a selección do tema",
+ "Select a custom color" : "Seleccione unha cor personalizada",
"Reset to default" : "Restabelecer os valores predeterminados",
"Upload" : "Enviar",
"Remove background image" : "Retirar a imaxe de fondo",
"Loading preview…" : "Cargando a vista previa…",
"Admin" : "Administración",
+ "Error uploading the file" : "Produciuse un erro ao cargar o ficheiro",
"Name cannot be empty" : "O nome non pode estar baleiro",
"Open documentation" : "Abrir a documentación",
"https://…" : "https://…",
"Login image" : "Imaxe de inicio",
"Upload new login background" : "Enviar unha nova imaxe de fondo",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensión de PHP Imagemagick con compatibilidade con imaxes SVG para xerar automáticamente faviconos baseados no logotipo e cor enviados.",
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Nalgúns casos, os atallos de teclado poden interferir coas ferramentas de accesibilidade. Para poder centrarte na túa ferramenta correctamente, podes desactivar aquí todos os atallos de teclado. Isto tamén desactivará todos os atallos dispoñibles nas aplicacións.",
+ "Pick from Files" : "Escolla entre os ficheiros",
+ "Default image" : "Imaxe predeterminada",
+ "Custom color" : "Cor personalizada",
+ "Plain background" : "Fondo sinxelo",
+ "Insert from {productName}" : "Inserir dende {productName}",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Aínda que pode seleccionar e personalizar a súa instancia, os usuarios poden cambiar o seu fondo e cores. Se queres aplicar a túa personalización, podes marcar esta caixa."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/he.js b/apps/theming/l10n/he.js
index 8c75bea1069..818e10706e5 100644
--- a/apps/theming/l10n/he.js
+++ b/apps/theming/l10n/he.js
@@ -51,10 +51,7 @@ OC.L10N.register(
"User settings" : "הגדרות משתמש",
"Keyboard shortcuts" : "קיצורי מקלדת",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "גישה אוניברסלית מאוד חשובה לנו, אנו נצמדים לתקני אינטרנט ובודקים כדי לוודא שהכול שמיש גם ללא עכבר ומול תכניות סיוע כגון מקריאי מסך. אנו חותרים להיות תואמים ל{guidelines}הנחיות הנגישות לתוכן אינטרנט{linkend} 2.1 ברמת AA ועם ערכת הניגודיות הגבוהה אפילו ברמת AAA.",
- "Pick from Files" : "בחירה מקבצים",
- "Custom color" : "צבע בהתאמה אישית",
- "Plain background" : "רקע רגיל",
- "Insert from {productName}" : "הכנס מ-{productName}",
+ "Change color" : "החלפת צבע",
"Reset to default" : "איפוס לבררת מחדל",
"Upload" : "העלאה",
"Remove background image" : "הסרת תמונת רקע",
@@ -65,6 +62,10 @@ OC.L10N.register(
"https://…" : "https://…‎",
"Login image" : "תמונת כניסה",
"Upload new login background" : "העלאת תמונת כניסה חדשה",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "יש להתקין את הרחבת ה־PHP של Imagemagick עם תמיכה בתמונות SVG כדי לייצר תמונות מועדפים אוטומטיות על בסיס הלוגו שהועלה והצבע."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "יש להתקין את הרחבת ה־PHP של Imagemagick עם תמיכה בתמונות SVG כדי לייצר תמונות מועדפים אוטומטיות על בסיס הלוגו שהועלה והצבע.",
+ "Pick from Files" : "בחירה מקבצים",
+ "Custom color" : "צבע בהתאמה אישית",
+ "Plain background" : "רקע רגיל",
+ "Insert from {productName}" : "הכנס מ-{productName}"
},
"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;");
diff --git a/apps/theming/l10n/he.json b/apps/theming/l10n/he.json
index ee2bb293d5a..601410e9e85 100644
--- a/apps/theming/l10n/he.json
+++ b/apps/theming/l10n/he.json
@@ -49,10 +49,7 @@
"User settings" : "הגדרות משתמש",
"Keyboard shortcuts" : "קיצורי מקלדת",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "גישה אוניברסלית מאוד חשובה לנו, אנו נצמדים לתקני אינטרנט ובודקים כדי לוודא שהכול שמיש גם ללא עכבר ומול תכניות סיוע כגון מקריאי מסך. אנו חותרים להיות תואמים ל{guidelines}הנחיות הנגישות לתוכן אינטרנט{linkend} 2.1 ברמת AA ועם ערכת הניגודיות הגבוהה אפילו ברמת AAA.",
- "Pick from Files" : "בחירה מקבצים",
- "Custom color" : "צבע בהתאמה אישית",
- "Plain background" : "רקע רגיל",
- "Insert from {productName}" : "הכנס מ-{productName}",
+ "Change color" : "החלפת צבע",
"Reset to default" : "איפוס לבררת מחדל",
"Upload" : "העלאה",
"Remove background image" : "הסרת תמונת רקע",
@@ -63,6 +60,10 @@
"https://…" : "https://…‎",
"Login image" : "תמונת כניסה",
"Upload new login background" : "העלאת תמונת כניסה חדשה",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "יש להתקין את הרחבת ה־PHP של Imagemagick עם תמיכה בתמונות SVG כדי לייצר תמונות מועדפים אוטומטיות על בסיס הלוגו שהועלה והצבע."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "יש להתקין את הרחבת ה־PHP של Imagemagick עם תמיכה בתמונות SVG כדי לייצר תמונות מועדפים אוטומטיות על בסיס הלוגו שהועלה והצבע.",
+ "Pick from Files" : "בחירה מקבצים",
+ "Custom color" : "צבע בהתאמה אישית",
+ "Plain background" : "רקע רגיל",
+ "Insert from {productName}" : "הכנס מ-{productName}"
},"pluralForm" :"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/hr.js b/apps/theming/l10n/hr.js
index c97618f13ed..03ed1a8ac66 100644
--- a/apps/theming/l10n/hr.js
+++ b/apps/theming/l10n/hr.js
@@ -52,10 +52,7 @@ OC.L10N.register(
"Keyboard shortcuts" : "Tipkovni prečaci",
"Background" : "Pozadina",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Nama je vrlo važno osigurati univerzalan pristup. Pratimo sve internetske i mrežne standarde i provjeravamo je li sustav upotrebljiv bez miša i pomoćnog softvera, kao što je čitač zaslona. Naš je cilj postići sukladnost sa {guidelines}Smjernicama pristupačnosti web-sadržaja{linkend} 2.1 na razini AA s temom jakog kontrasta na razini AAA.",
- "Pick from Files" : "Odaberi iz datoteka",
- "Custom color" : "Prilagođena boja",
- "Plain background" : "Obična pozadina",
- "Insert from {productName}" : "Umetni iz {productName}",
+ "Change color" : "Promijeni boju",
"Reset to default" : "Vrati na zadanu postavku",
"Upload" : "Otpremi",
"Remove background image" : "Ukloni pozadinsku sliku",
@@ -66,6 +63,10 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Slika za prijavu",
"Upload new login background" : "Otpremi novu pozadinu za prijavu",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ugradite proširenje za PHP pod nazivom Imagemagick s podrškom za SVG slike kako biste automatski generirali favicone na temelju otpremljenog logotipa i boje."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ugradite proširenje za PHP pod nazivom Imagemagick s podrškom za SVG slike kako biste automatski generirali favicone na temelju otpremljenog logotipa i boje.",
+ "Pick from Files" : "Odaberi iz datoteka",
+ "Custom color" : "Prilagođena boja",
+ "Plain background" : "Obična pozadina",
+ "Insert from {productName}" : "Umetni iz {productName}"
},
"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;");
diff --git a/apps/theming/l10n/hr.json b/apps/theming/l10n/hr.json
index 4c12e09e9a9..aff4a13a909 100644
--- a/apps/theming/l10n/hr.json
+++ b/apps/theming/l10n/hr.json
@@ -50,10 +50,7 @@
"Keyboard shortcuts" : "Tipkovni prečaci",
"Background" : "Pozadina",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Nama je vrlo važno osigurati univerzalan pristup. Pratimo sve internetske i mrežne standarde i provjeravamo je li sustav upotrebljiv bez miša i pomoćnog softvera, kao što je čitač zaslona. Naš je cilj postići sukladnost sa {guidelines}Smjernicama pristupačnosti web-sadržaja{linkend} 2.1 na razini AA s temom jakog kontrasta na razini AAA.",
- "Pick from Files" : "Odaberi iz datoteka",
- "Custom color" : "Prilagođena boja",
- "Plain background" : "Obična pozadina",
- "Insert from {productName}" : "Umetni iz {productName}",
+ "Change color" : "Promijeni boju",
"Reset to default" : "Vrati na zadanu postavku",
"Upload" : "Otpremi",
"Remove background image" : "Ukloni pozadinsku sliku",
@@ -64,6 +61,10 @@
"https://…" : "https://…",
"Login image" : "Slika za prijavu",
"Upload new login background" : "Otpremi novu pozadinu za prijavu",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ugradite proširenje za PHP pod nazivom Imagemagick s podrškom za SVG slike kako biste automatski generirali favicone na temelju otpremljenog logotipa i boje."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ugradite proširenje za PHP pod nazivom Imagemagick s podrškom za SVG slike kako biste automatski generirali favicone na temelju otpremljenog logotipa i boje.",
+ "Pick from Files" : "Odaberi iz datoteka",
+ "Custom color" : "Prilagođena boja",
+ "Plain background" : "Obična pozadina",
+ "Insert from {productName}" : "Umetni iz {productName}"
},"pluralForm" :"nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/hu.js b/apps/theming/l10n/hu.js
index bb2d47a671c..cf1dcbb50ff 100644
--- a/apps/theming/l10n/hu.js
+++ b/apps/theming/l10n/hu.js
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "Egyéni háttér beállítása",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Az akadálymentesítés fontos számunka. A webes szabványokat követjük, és ellenőrizzük, hogy minden használható egér nélkül, illetve akadálymentesítési technológiákkal, például képernyőolvasókkal. Arra törekszünk, hogy a {guidelines}Webes tartalomra vonatkozó akadálymentesítési irányelvek{linkend} 2.1-es változatának AA szinten, a magas kontrasztú témával pedig AAA szinten megfeleljünk.",
"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}!" : "Ha problémákat tapasztal, jelentse a {issuetracker}hibakövetőnkben{linkend}. És ha segíteni szeretne, csatlakozzon a {designteam}dizájn csapatunkhoz{linkend}!",
- "Pick from Files" : "Válasszon a Fájlokból",
- "Default image" : "Alapértelmezett kép",
- "Custom color" : "Egyéni szín",
- "Plain background" : "Egyszerű háttér",
- "Insert from {productName}" : "Beillesztés innen: {productName}",
+ "Custom background" : "Egyéni háttér",
+ "Default background" : "Alapértelmezett háttér",
+ "Change color" : "Szín módosítása",
+ "Remove background" : "Háttér eltávolítása",
+ "Select a background from your files" : "Válasszon hátteret a fájljai közül",
"Theme selection is enforced" : "A témaválasztás kényszerített",
"Select a custom color" : "Válasszon egyéni színt",
"Reset to default" : "Visszaállítás alapértelmezettre",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Új bejelentkező kép feltöltése",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Telepítse az Imagemagick PHP kiterjesztést SVG képtámogatással, hogy automatikusan előállítsa a kedvencek ikont a feltöltött logó és szín alapján.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Egyes esetekben a gyorsbillentyűk összeakadhatnak az akadálymentesítési eszközökkel. Hogy helyesen tudjon fókuszálni az eszközre, itt letilthatja a gyorsbillentyűket. Ez az alkalmazásokban is letiltja az összes elérhető gyorsbillentyűt.",
+ "Pick from Files" : "Válasszon a Fájlokból",
+ "Default image" : "Alapértelmezett kép",
+ "Custom color" : "Egyéni szín",
+ "Plain background" : "Egyszerű háttér",
+ "Insert from {productName}" : "Beillesztés innen: {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Bár kiválaszthatja és testreszabhatja a példányát, a felhasználók módosíthatják a hátterüket és a színeiket. Ha ki akarja kényszeríteni a saját testreszabását, akkor bejelölheti ezt a mezőt. "
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/hu.json b/apps/theming/l10n/hu.json
index 47ebcb60d00..ce13597bbef 100644
--- a/apps/theming/l10n/hu.json
+++ b/apps/theming/l10n/hu.json
@@ -74,11 +74,11 @@
"Set a custom background" : "Egyéni háttér beállítása",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Az akadálymentesítés fontos számunka. A webes szabványokat követjük, és ellenőrizzük, hogy minden használható egér nélkül, illetve akadálymentesítési technológiákkal, például képernyőolvasókkal. Arra törekszünk, hogy a {guidelines}Webes tartalomra vonatkozó akadálymentesítési irányelvek{linkend} 2.1-es változatának AA szinten, a magas kontrasztú témával pedig AAA szinten megfeleljünk.",
"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}!" : "Ha problémákat tapasztal, jelentse a {issuetracker}hibakövetőnkben{linkend}. És ha segíteni szeretne, csatlakozzon a {designteam}dizájn csapatunkhoz{linkend}!",
- "Pick from Files" : "Válasszon a Fájlokból",
- "Default image" : "Alapértelmezett kép",
- "Custom color" : "Egyéni szín",
- "Plain background" : "Egyszerű háttér",
- "Insert from {productName}" : "Beillesztés innen: {productName}",
+ "Custom background" : "Egyéni háttér",
+ "Default background" : "Alapértelmezett háttér",
+ "Change color" : "Szín módosítása",
+ "Remove background" : "Háttér eltávolítása",
+ "Select a background from your files" : "Válasszon hátteret a fájljai közül",
"Theme selection is enforced" : "A témaválasztás kényszerített",
"Select a custom color" : "Válasszon egyéni színt",
"Reset to default" : "Visszaállítás alapértelmezettre",
@@ -94,6 +94,11 @@
"Upload new login background" : "Új bejelentkező kép feltöltése",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Telepítse az Imagemagick PHP kiterjesztést SVG képtámogatással, hogy automatikusan előállítsa a kedvencek ikont a feltöltött logó és szín alapján.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Egyes esetekben a gyorsbillentyűk összeakadhatnak az akadálymentesítési eszközökkel. Hogy helyesen tudjon fókuszálni az eszközre, itt letilthatja a gyorsbillentyűket. Ez az alkalmazásokban is letiltja az összes elérhető gyorsbillentyűt.",
+ "Pick from Files" : "Válasszon a Fájlokból",
+ "Default image" : "Alapértelmezett kép",
+ "Custom color" : "Egyéni szín",
+ "Plain background" : "Egyszerű háttér",
+ "Insert from {productName}" : "Beillesztés innen: {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Bár kiválaszthatja és testreszabhatja a példányát, a felhasználók módosíthatják a hátterüket és a színeiket. Ha ki akarja kényszeríteni a saját testreszabását, akkor bejelölheti ezt a mezőt. "
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/is.js b/apps/theming/l10n/is.js
index 4f22bc6e98f..11e73f196b8 100644
--- a/apps/theming/l10n/is.js
+++ b/apps/theming/l10n/is.js
@@ -52,7 +52,7 @@ OC.L10N.register(
"Keyboard shortcuts" : "Flýtileiðir á lyklaborði",
"Background" : "Background",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Aðgengi fyrir alla er okkur mikilvægt. Við fylgjum vefstöðlum oggöngum úr skugga um að allt sé nothæft án þess að nota tölvumús, auk þess að hjálpartæki á borð við skjálesara virki. Við miðum að samhæfni við {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 á stigi AA, og höfum meira að segja háskerpuþemað miðað við stig AAA.",
- "Custom color" : "Sérsniðinn litur",
+ "Change color" : "Breyta lit",
"Reset to default" : "Endurstilla á sjálfgefið",
"Upload" : "Senda inn",
"Remove background image" : "Fjarlægja bakgrunnsmynd",
@@ -63,6 +63,7 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Innskráningarmynd",
"Upload new login background" : "Senda inn nýjan bakgrunn innskráningar",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit.",
+ "Custom color" : "Sérsniðinn litur"
},
"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);");
diff --git a/apps/theming/l10n/is.json b/apps/theming/l10n/is.json
index 1b594dfb180..725ac2de701 100644
--- a/apps/theming/l10n/is.json
+++ b/apps/theming/l10n/is.json
@@ -50,7 +50,7 @@
"Keyboard shortcuts" : "Flýtileiðir á lyklaborði",
"Background" : "Background",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Aðgengi fyrir alla er okkur mikilvægt. Við fylgjum vefstöðlum oggöngum úr skugga um að allt sé nothæft án þess að nota tölvumús, auk þess að hjálpartæki á borð við skjálesara virki. Við miðum að samhæfni við {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 á stigi AA, og höfum meira að segja háskerpuþemað miðað við stig AAA.",
- "Custom color" : "Sérsniðinn litur",
+ "Change color" : "Breyta lit",
"Reset to default" : "Endurstilla á sjálfgefið",
"Upload" : "Senda inn",
"Remove background image" : "Fjarlægja bakgrunnsmynd",
@@ -61,6 +61,7 @@
"https://…" : "https://…",
"Login image" : "Innskráningarmynd",
"Upload new login background" : "Senda inn nýjan bakgrunn innskráningar",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Settu inn Imagemagick PHP forritsviðaukann með stuðningi við SVG-myndir til að útbúa sjálfvirkt veftáknmyndir byggðar á innsendu táknmerki og lit.",
+ "Custom color" : "Sérsniðinn litur"
},"pluralForm" :"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/it.js b/apps/theming/l10n/it.js
index e08522cfc18..a96384c5481 100644
--- a/apps/theming/l10n/it.js
+++ b/apps/theming/l10n/it.js
@@ -59,10 +59,7 @@ OC.L10N.register(
"Keyboard shortcuts" : "Scorciatoie da tastiera",
"Background" : "Sfondo",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accesso universale è molto importante per noi. Seguiamo gli standard web e cerchiamo di rendere tutto utilizzabile anche senza mouse, e programmi di assistenza come i lettori dello schermo. Il nostro obiettivo è la compatibilità con la {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 a livello AA, con il tema ad alto contrasto anche a livello AAA. ",
- "Pick from Files" : "Scegli da File",
- "Custom color" : "Colore personalizzato",
- "Plain background" : "Sfondo semplice",
- "Insert from {productName}" : "Inserisci da {productName}",
+ "Change color" : "Cambia colore",
"Reset to default" : "Ripristina valori predefiniti",
"Upload" : "Carica",
"Remove background image" : "Rimuovi immagine di sfondo",
@@ -73,6 +70,10 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Immagine di accesso",
"Upload new login background" : "Carica nuovo sfondo di accesso",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemagick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemagick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore.",
+ "Pick from Files" : "Scegli da File",
+ "Custom color" : "Colore personalizzato",
+ "Plain background" : "Sfondo semplice",
+ "Insert from {productName}" : "Inserisci da {productName}"
},
"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/it.json b/apps/theming/l10n/it.json
index 98238afc6ac..51c684d622e 100644
--- a/apps/theming/l10n/it.json
+++ b/apps/theming/l10n/it.json
@@ -57,10 +57,7 @@
"Keyboard shortcuts" : "Scorciatoie da tastiera",
"Background" : "Sfondo",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "L'accesso universale è molto importante per noi. Seguiamo gli standard web e cerchiamo di rendere tutto utilizzabile anche senza mouse, e programmi di assistenza come i lettori dello schermo. Il nostro obiettivo è la compatibilità con la {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 a livello AA, con il tema ad alto contrasto anche a livello AAA. ",
- "Pick from Files" : "Scegli da File",
- "Custom color" : "Colore personalizzato",
- "Plain background" : "Sfondo semplice",
- "Insert from {productName}" : "Inserisci da {productName}",
+ "Change color" : "Cambia colore",
"Reset to default" : "Ripristina valori predefiniti",
"Upload" : "Carica",
"Remove background image" : "Rimuovi immagine di sfondo",
@@ -71,6 +68,10 @@
"https://…" : "https://…",
"Login image" : "Immagine di accesso",
"Upload new login background" : "Carica nuovo sfondo di accesso",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemagick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa l'estensione Imagemagick di PHP con supporto per le immagini SVG per generare automaticamente favicon basate sul logo caricato e sul colore.",
+ "Pick from Files" : "Scegli da File",
+ "Custom color" : "Colore personalizzato",
+ "Plain background" : "Sfondo semplice",
+ "Insert from {productName}" : "Inserisci da {productName}"
},"pluralForm" :"nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/ja.js b/apps/theming/l10n/ja.js
index 0cdf510d11c..8563408cd51 100644
--- a/apps/theming/l10n/ja.js
+++ b/apps/theming/l10n/ja.js
@@ -76,11 +76,7 @@ OC.L10N.register(
"Set a custom background" : "背景を設定",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "ユニバーサルアクセスは私たちにとって非常に重要なことです。そのためウェブ標準に従い、マウスやスクリーンリーダーなどの支援ソフトウェアが無くても全ての機能をご利用いただけるようにチェックしています。AAAレベルのハイコントラストのテーマを採用することで、{guidelines} Webコンテンツアクセシビリティガイドライン2.1 {linkend} のAAAレベルに準拠することを目指しています。",
"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}!" : "何か問題を見つけた場合は、{issuetracker}私たちの問題トラッカー{linkend}で遠慮なく報告してください。参加したい場合は、{designteam}私たちのデザイン チーム{linkend}に参加してください!",
- "Pick from Files" : "ファイルから選択",
- "Default image" : "デフォルト背景",
- "Custom color" : "カスタム色",
- "Plain background" : "シンプルな背景",
- "Insert from {productName}" : "{productName} から挿入",
+ "Change color" : "色を変える",
"Theme selection is enforced" : "テーマ選択を強制",
"Select a custom color" : "カスタムカラーを選択",
"Reset to default" : "デフォルトに戻す",
@@ -96,6 +92,11 @@ OC.L10N.register(
"Upload new login background" : "新しいログイン背景画像をアップロード",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "アップロードしたロゴと色に基づいてfaviconを自動的に生成するには、SVG画像をサポートしているimagemagick PHP拡張をインストールしてください。",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "場合によっては、キーボードショートカットがアクセシビリティツールに干渉することがあります。ツールに正しくフォーカスできるようにするために、ここですべてのキーボード ショートカットを無効にできます。この場合、アプリで使用可能なすべてのショートカットも無効になります。",
+ "Pick from Files" : "ファイルから選択",
+ "Default image" : "デフォルト背景",
+ "Custom color" : "カスタム色",
+ "Plain background" : "シンプルな背景",
+ "Insert from {productName}" : "{productName} から挿入",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "このサーバーの外観のカスタマイズと画像を変更を変更できますが、さらにユーザーは背景と色を変更できます。外観のカスタマイズを強制する場合は以下のチェック設定をオンにしてください。"
},
"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/ja.json b/apps/theming/l10n/ja.json
index a0bffc78478..e88fc7f5f12 100644
--- a/apps/theming/l10n/ja.json
+++ b/apps/theming/l10n/ja.json
@@ -74,11 +74,7 @@
"Set a custom background" : "背景を設定",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "ユニバーサルアクセスは私たちにとって非常に重要なことです。そのためウェブ標準に従い、マウスやスクリーンリーダーなどの支援ソフトウェアが無くても全ての機能をご利用いただけるようにチェックしています。AAAレベルのハイコントラストのテーマを採用することで、{guidelines} Webコンテンツアクセシビリティガイドライン2.1 {linkend} のAAAレベルに準拠することを目指しています。",
"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}!" : "何か問題を見つけた場合は、{issuetracker}私たちの問題トラッカー{linkend}で遠慮なく報告してください。参加したい場合は、{designteam}私たちのデザイン チーム{linkend}に参加してください!",
- "Pick from Files" : "ファイルから選択",
- "Default image" : "デフォルト背景",
- "Custom color" : "カスタム色",
- "Plain background" : "シンプルな背景",
- "Insert from {productName}" : "{productName} から挿入",
+ "Change color" : "色を変える",
"Theme selection is enforced" : "テーマ選択を強制",
"Select a custom color" : "カスタムカラーを選択",
"Reset to default" : "デフォルトに戻す",
@@ -94,6 +90,11 @@
"Upload new login background" : "新しいログイン背景画像をアップロード",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "アップロードしたロゴと色に基づいてfaviconを自動的に生成するには、SVG画像をサポートしているimagemagick PHP拡張をインストールしてください。",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "場合によっては、キーボードショートカットがアクセシビリティツールに干渉することがあります。ツールに正しくフォーカスできるようにするために、ここですべてのキーボード ショートカットを無効にできます。この場合、アプリで使用可能なすべてのショートカットも無効になります。",
+ "Pick from Files" : "ファイルから選択",
+ "Default image" : "デフォルト背景",
+ "Custom color" : "カスタム色",
+ "Plain background" : "シンプルな背景",
+ "Insert from {productName}" : "{productName} から挿入",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "このサーバーの外観のカスタマイズと画像を変更を変更できますが、さらにユーザーは背景と色を変更できます。外観のカスタマイズを強制する場合は以下のチェック設定をオンにしてください。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/ko.js b/apps/theming/l10n/ko.js
index 3c29b560592..de74d29c38d 100644
--- a/apps/theming/l10n/ko.js
+++ b/apps/theming/l10n/ko.js
@@ -19,14 +19,20 @@ OC.L10N.register(
"No file uploaded" : "업로드한 파일 없음",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "사용자 정의 테마를 사용하고 있습니다. 테마 앱에서 해당 설정을 덮어쓸 수 있습니다.",
"Theming" : "테마",
+ "Appearance and accessibility" : "외형과 접근성",
+ "Dark theme with high contrast mode" : "고대비 모드의 어두운 테마",
"Dark theme" : "어두운 테마",
"Enable dark theme" : "어두운 테마 활성화",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "어두운 테마는 전체적인 광량을 줄여 사용자의 눈을 편안하게 합니다.",
+ "System default theme" : "시스템 기본 테마",
"Dyslexia font" : "난독증용 글꼴",
"Enable dyslexia font" : "난독증용 글꼴 활성화",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic은 난독증 때문에 읽기에 문제가 있는 사람들을 위해 디자인된 자유 글꼴입니다.",
"High contrast mode" : "고대비 모드",
"Enable high contrast mode" : "고대비 모드 활성화",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "쉬운 탐색을 위한 고대비 테마입니다. 색감이 나빠지지만 더 선명해집니다.",
+ "Light theme" : "밝은 테마",
+ "Enable the default light theme" : "기본 밝은 테마 활성화",
"Legal notice" : "법적 고지",
"Privacy policy" : "개인 정보 취급 방침",
"Adjust the Nextcloud theme" : "Nextcloud 테마 사용자 정의",
@@ -48,10 +54,10 @@ OC.L10N.register(
"User settings" : "사용자 설정",
"Keyboard shortcuts" : "키보드 단축키",
"Background" : "배경",
- "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "웹 접근성은 매우 중요합니다. 저희는 웹 표준을 준수하고 모든것을 마우스 없이 스크린 리더와 같은 접근성 프로그램을 사용할 수 사용할 수 있도록 합니다. 저희는 {guidelines}웹 컨텐츠 접근성 가이드라인{linkend} 2.1 을 AA레벨에서, 고 대비 테마와 같이 적용한 AAA레벨에서 조차도 준수하는 것을 노력하고있습니다.",
- "Pick from Files" : "파일로부터 선택",
- "Plain background" : "일반 배경",
- "Insert from {productName}" : "{productName}로부터 삽입",
+ "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "보편적 접근성은 매우 중요합니다. 저희는 웹 표준을 준수하며, 마우스 혹은 스크린리더와 같은 보조 소프트웨어 없이도 정상적인 사용이 가능한지에 대해 확인하고 있습니다. 또한, {guidelines}웹 컨텐츠 접근성 가이드라인{linkend} 2.1을 AA 수준 및 AAA 수준의 고대비 테마에서 준수하기 위해 노력하고 있습니다. ",
+ "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}!" : "사용 중 문제가 발생했을 경우, {issuetracker}이슈 트래커{linkend}에 보고해주시기 바랍니다. 또한 디자인 부분에 참여하고 싶다면, {designteam}저희 디자인 팀{linkend}과 함께해주세요!",
+ "Change color" : "색깔 바꾸기",
+ "Theme selection is enforced" : "테마가 강제로 선택됨",
"Reset to default" : "기본값으로 초기화",
"Upload" : "업로드",
"Remove background image" : "배경 그림 삭제",
@@ -62,6 +68,9 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "로그인 그림",
"Upload new login background" : "새 로그인 배경 업로드",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오.",
+ "Pick from Files" : "파일로부터 선택",
+ "Plain background" : "일반 배경",
+ "Insert from {productName}" : "{productName}로부터 삽입"
},
"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/ko.json b/apps/theming/l10n/ko.json
index d2022bb277e..c923c37ac9f 100644
--- a/apps/theming/l10n/ko.json
+++ b/apps/theming/l10n/ko.json
@@ -17,14 +17,20 @@
"No file uploaded" : "업로드한 파일 없음",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "사용자 정의 테마를 사용하고 있습니다. 테마 앱에서 해당 설정을 덮어쓸 수 있습니다.",
"Theming" : "테마",
+ "Appearance and accessibility" : "외형과 접근성",
+ "Dark theme with high contrast mode" : "고대비 모드의 어두운 테마",
"Dark theme" : "어두운 테마",
"Enable dark theme" : "어두운 테마 활성화",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "어두운 테마는 전체적인 광량을 줄여 사용자의 눈을 편안하게 합니다.",
+ "System default theme" : "시스템 기본 테마",
"Dyslexia font" : "난독증용 글꼴",
"Enable dyslexia font" : "난독증용 글꼴 활성화",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic은 난독증 때문에 읽기에 문제가 있는 사람들을 위해 디자인된 자유 글꼴입니다.",
"High contrast mode" : "고대비 모드",
"Enable high contrast mode" : "고대비 모드 활성화",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "쉬운 탐색을 위한 고대비 테마입니다. 색감이 나빠지지만 더 선명해집니다.",
+ "Light theme" : "밝은 테마",
+ "Enable the default light theme" : "기본 밝은 테마 활성화",
"Legal notice" : "법적 고지",
"Privacy policy" : "개인 정보 취급 방침",
"Adjust the Nextcloud theme" : "Nextcloud 테마 사용자 정의",
@@ -46,10 +52,10 @@
"User settings" : "사용자 설정",
"Keyboard shortcuts" : "키보드 단축키",
"Background" : "배경",
- "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "웹 접근성은 매우 중요합니다. 저희는 웹 표준을 준수하고 모든것을 마우스 없이 스크린 리더와 같은 접근성 프로그램을 사용할 수 사용할 수 있도록 합니다. 저희는 {guidelines}웹 컨텐츠 접근성 가이드라인{linkend} 2.1 을 AA레벨에서, 고 대비 테마와 같이 적용한 AAA레벨에서 조차도 준수하는 것을 노력하고있습니다.",
- "Pick from Files" : "파일로부터 선택",
- "Plain background" : "일반 배경",
- "Insert from {productName}" : "{productName}로부터 삽입",
+ "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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "보편적 접근성은 매우 중요합니다. 저희는 웹 표준을 준수하며, 마우스 혹은 스크린리더와 같은 보조 소프트웨어 없이도 정상적인 사용이 가능한지에 대해 확인하고 있습니다. 또한, {guidelines}웹 컨텐츠 접근성 가이드라인{linkend} 2.1을 AA 수준 및 AAA 수준의 고대비 테마에서 준수하기 위해 노력하고 있습니다. ",
+ "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}!" : "사용 중 문제가 발생했을 경우, {issuetracker}이슈 트래커{linkend}에 보고해주시기 바랍니다. 또한 디자인 부분에 참여하고 싶다면, {designteam}저희 디자인 팀{linkend}과 함께해주세요!",
+ "Change color" : "색깔 바꾸기",
+ "Theme selection is enforced" : "테마가 강제로 선택됨",
"Reset to default" : "기본값으로 초기화",
"Upload" : "업로드",
"Remove background image" : "배경 그림 삭제",
@@ -60,6 +66,9 @@
"https://…" : "https://…",
"Login image" : "로그인 그림",
"Upload new login background" : "새 로그인 배경 업로드",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "업로드한 로고와 색으로부터 자동으로 파비콘을 생성하려면 PHP Imagemagick 확장 기능 및 SVG 형식 그림 지원을 설치하십시오.",
+ "Pick from Files" : "파일로부터 선택",
+ "Plain background" : "일반 배경",
+ "Insert from {productName}" : "{productName}로부터 삽입"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/lt_LT.js b/apps/theming/l10n/lt_LT.js
index b2bb65c2bfc..904df65b840 100644
--- a/apps/theming/l10n/lt_LT.js
+++ b/apps/theming/l10n/lt_LT.js
@@ -63,11 +63,7 @@ OC.L10N.register(
"Background" : "Fonas",
"Set a custom background" : "Nustatyti tinkintą foną",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Mums universalioji prieiga yra labai svarbi. Mes sekame saityno standartus ir stengiamės, kad būtų galima viskuobe pelės ir pagalbinės programinės įrangos, tokios kaip ekrano skaitytuvė. Stengiamės atitikti {guidelines}Saityno turinio prieinamumo gairėms{linkend} 2.1 pagal AA lygmenį, o su didelio kontrasto apipavidalinimu netgi pagal AAA lygmenį.",
- "Pick from Files" : "Pasirinkti iš Failų",
- "Default image" : "Numatytasis paveikslas",
- "Custom color" : "Tinkinta spalva",
- "Plain background" : "Vientisas fonas",
- "Insert from {productName}" : "Įterpti iš {productName}",
+ "Change color" : "Keisti spalvą",
"Reset to default" : "Atstatyti į numatytąjį",
"Upload" : "Įkelti",
"Remove background image" : "Šalinti foninį paveikslą",
@@ -78,6 +74,11 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Prisijungimo paveikslas",
"Upload new login background" : "Įkelti naują prisijungimo foną",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu.",
+ "Pick from Files" : "Pasirinkti iš Failų",
+ "Default image" : "Numatytasis paveikslas",
+ "Custom color" : "Tinkinta spalva",
+ "Plain background" : "Vientisas fonas",
+ "Insert from {productName}" : "Įterpti iš {productName}"
},
"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/theming/l10n/lt_LT.json b/apps/theming/l10n/lt_LT.json
index 563635a4c76..6fa004d1b83 100644
--- a/apps/theming/l10n/lt_LT.json
+++ b/apps/theming/l10n/lt_LT.json
@@ -61,11 +61,7 @@
"Background" : "Fonas",
"Set a custom background" : "Nustatyti tinkintą foną",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Mums universalioji prieiga yra labai svarbi. Mes sekame saityno standartus ir stengiamės, kad būtų galima viskuobe pelės ir pagalbinės programinės įrangos, tokios kaip ekrano skaitytuvė. Stengiamės atitikti {guidelines}Saityno turinio prieinamumo gairėms{linkend} 2.1 pagal AA lygmenį, o su didelio kontrasto apipavidalinimu netgi pagal AAA lygmenį.",
- "Pick from Files" : "Pasirinkti iš Failų",
- "Default image" : "Numatytasis paveikslas",
- "Custom color" : "Tinkinta spalva",
- "Plain background" : "Vientisas fonas",
- "Insert from {productName}" : "Įterpti iš {productName}",
+ "Change color" : "Keisti spalvą",
"Reset to default" : "Atstatyti į numatytąjį",
"Upload" : "Įkelti",
"Remove background image" : "Šalinti foninį paveikslą",
@@ -76,6 +72,11 @@
"https://…" : "https://…",
"Login image" : "Prisijungimo paveikslas",
"Upload new login background" : "Įkelti naują prisijungimo foną",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Norėdami automatiškai generuoti svetainės piktogramą remiantis įkeltu logotipu ir spalva, įdiekite Imagemagick PHP plėtinį su SVG paveikslų palaikymu.",
+ "Pick from Files" : "Pasirinkti iš Failų",
+ "Default image" : "Numatytasis paveikslas",
+ "Custom color" : "Tinkinta spalva",
+ "Plain background" : "Vientisas fonas",
+ "Insert from {productName}" : "Įterpti iš {productName}"
},"pluralForm" :"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/mk.js b/apps/theming/l10n/mk.js
index 3b5a30096ea..5a89b8361ba 100644
--- a/apps/theming/l10n/mk.js
+++ b/apps/theming/l10n/mk.js
@@ -20,8 +20,10 @@ OC.L10N.register(
"Could not write file to disk" : "Неможе да се запишува на дискот",
"A PHP extension stopped the file upload" : "PHP додаток го стопираше прикачувањето на датотеката",
"No file uploaded" : "Нема прикачено дадотека",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "Неуспешно бришење на папката: \"%1$s\", грешка: %2$s",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Веќе користите сопствена тема. Апликацијата за сопствена тема може да ја пребрише истата.",
"Theming" : "Теми",
+ "Appearance and accessibility" : "Изглед и пристапност",
"Dark theme" : "Темна тема",
"Enable dark theme" : "Овозможи темна тема",
"Dyslexia font" : "Фонт за дислексија",
@@ -30,6 +32,7 @@ OC.L10N.register(
"High contrast mode" : "Режим на висок контраст",
"Enable high contrast mode" : "Овозможи режим на висок контраст",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Режим со висок контраст за олеснување на навигацијата. Визуелниот квалитет ќе се намали, но јасноста ќе се зголеми.",
+ "Light theme" : "Светла тема",
"Legal notice" : "Правно известување",
"Privacy policy" : "Политика за приватност",
"Adjust the Nextcloud theme" : "Прилагодување на темата за Nextcloud",
@@ -42,28 +45,45 @@ OC.L10N.register(
"Color" : "Боја",
"Logo" : "Лого",
"Upload new logo" : "Прикачи ново лого",
+ "Background and login image" : "Позадина и слика на страната за најавување",
+ "Upload new background and login image" : "Прикачи нова позадина и слика на страната за најавување",
"Legal notice link" : "Правно известување",
"Privacy policy link" : "Политика за приватност",
"Header logo" : "Лого на заглавие",
"Upload new header logo" : "Прикачи ново лого на заглавие",
"Favicon" : "Фавикон",
"Upload new favicon" : "Прикачи нов Фавикон",
+ "User settings" : "Кориснички параметри",
+ "Disable user theming" : "Оневозможи кориснички теми",
"Keyboard shortcuts" : "Кратенки преку тастатура",
+ "Disable all keyboard shortcuts" : "Оневозможи ги сите кратенки преку тастатурата",
+ "Background" : "Позадина",
+ "Customization has been disabled by your administrator" : "Уредувањето е оневозможено од администраторот",
+ "Set a custom background" : "Постави позадина",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универзалниот пристап е многу важен за нас. Ние ги следиме веб-стандардите и ги имплементираме за да го направиме користењето попристапно, како користење без маус, и помошни апликации за читање на екранот. Наша цел е да бидеме во согласност со {guidelines} {linkend}2.1 на ниво АА, со висока контрастна тема дури и на ниво на ААА.",
- "Pick from Files" : "Избери од датотеките",
- "Custom color" : "Прилагодена боја",
- "Plain background" : "Обична позадина",
- "Insert from {productName}" : "Вметнни од {productName}",
+ "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}!" : "Доколку наидете на некој проблем, не се двоумете и пријавете го на {issuetracker} {linkend}. И доколку сакате можете да се приклучите кон нашиот {designteam} {linkend}!",
+ "Custom background" : "Сопствена позадина",
+ "Default background" : "Стандардна позадина",
+ "Change color" : "Промени боја",
+ "Remove background" : "Избриши ја позадината",
+ "Select a background from your files" : "Избери позадина од датотеките",
+ "Select a custom color" : "Избери боја",
"Reset to default" : "Ресетирај на стандардно",
"Upload" : "Прикачи",
"Remove background image" : "Избриши ја позадинската слика",
"Loading preview…" : "Се вчитува прегледот...",
"Admin" : "Администратор",
+ "Error uploading the file" : "Грешка при прикачување на датотеката",
"Name cannot be empty" : "Името неможе да биде празно",
"Open documentation" : "Отвори ја документацијата",
"https://…" : "https://…",
"Login image" : "Слика на најава",
"Upload new login background" : "Прикачи нова слика за позадина на најавната страница",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирај Imagemagick додаток за PHP со што ќе се овозможи поддршка за SVG сликите автоматски да генерираат Фавикон базирано на прикаченото лого и боја."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирај Imagemagick додаток за PHP со што ќе се овозможи поддршка за SVG сликите автоматски да генерираат Фавикон базирано на прикаченото лого и боја.",
+ "Pick from Files" : "Избери од датотеките",
+ "Default image" : "Стандардна слика",
+ "Custom color" : "Прилагодена боја",
+ "Plain background" : "Обична позадина",
+ "Insert from {productName}" : "Вметнни од {productName}"
},
"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;");
diff --git a/apps/theming/l10n/mk.json b/apps/theming/l10n/mk.json
index 92a729bbaa9..b34539d3f73 100644
--- a/apps/theming/l10n/mk.json
+++ b/apps/theming/l10n/mk.json
@@ -18,8 +18,10 @@
"Could not write file to disk" : "Неможе да се запишува на дискот",
"A PHP extension stopped the file upload" : "PHP додаток го стопираше прикачувањето на датотеката",
"No file uploaded" : "Нема прикачено дадотека",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "Неуспешно бришење на папката: \"%1$s\", грешка: %2$s",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Веќе користите сопствена тема. Апликацијата за сопствена тема може да ја пребрише истата.",
"Theming" : "Теми",
+ "Appearance and accessibility" : "Изглед и пристапност",
"Dark theme" : "Темна тема",
"Enable dark theme" : "Овозможи темна тема",
"Dyslexia font" : "Фонт за дислексија",
@@ -28,6 +30,7 @@
"High contrast mode" : "Режим на висок контраст",
"Enable high contrast mode" : "Овозможи режим на висок контраст",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Режим со висок контраст за олеснување на навигацијата. Визуелниот квалитет ќе се намали, но јасноста ќе се зголеми.",
+ "Light theme" : "Светла тема",
"Legal notice" : "Правно известување",
"Privacy policy" : "Политика за приватност",
"Adjust the Nextcloud theme" : "Прилагодување на темата за Nextcloud",
@@ -40,28 +43,45 @@
"Color" : "Боја",
"Logo" : "Лого",
"Upload new logo" : "Прикачи ново лого",
+ "Background and login image" : "Позадина и слика на страната за најавување",
+ "Upload new background and login image" : "Прикачи нова позадина и слика на страната за најавување",
"Legal notice link" : "Правно известување",
"Privacy policy link" : "Политика за приватност",
"Header logo" : "Лого на заглавие",
"Upload new header logo" : "Прикачи ново лого на заглавие",
"Favicon" : "Фавикон",
"Upload new favicon" : "Прикачи нов Фавикон",
+ "User settings" : "Кориснички параметри",
+ "Disable user theming" : "Оневозможи кориснички теми",
"Keyboard shortcuts" : "Кратенки преку тастатура",
+ "Disable all keyboard shortcuts" : "Оневозможи ги сите кратенки преку тастатурата",
+ "Background" : "Позадина",
+ "Customization has been disabled by your administrator" : "Уредувањето е оневозможено од администраторот",
+ "Set a custom background" : "Постави позадина",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универзалниот пристап е многу важен за нас. Ние ги следиме веб-стандардите и ги имплементираме за да го направиме користењето попристапно, како користење без маус, и помошни апликации за читање на екранот. Наша цел е да бидеме во согласност со {guidelines} {linkend}2.1 на ниво АА, со висока контрастна тема дури и на ниво на ААА.",
- "Pick from Files" : "Избери од датотеките",
- "Custom color" : "Прилагодена боја",
- "Plain background" : "Обична позадина",
- "Insert from {productName}" : "Вметнни од {productName}",
+ "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}!" : "Доколку наидете на некој проблем, не се двоумете и пријавете го на {issuetracker} {linkend}. И доколку сакате можете да се приклучите кон нашиот {designteam} {linkend}!",
+ "Custom background" : "Сопствена позадина",
+ "Default background" : "Стандардна позадина",
+ "Change color" : "Промени боја",
+ "Remove background" : "Избриши ја позадината",
+ "Select a background from your files" : "Избери позадина од датотеките",
+ "Select a custom color" : "Избери боја",
"Reset to default" : "Ресетирај на стандардно",
"Upload" : "Прикачи",
"Remove background image" : "Избриши ја позадинската слика",
"Loading preview…" : "Се вчитува прегледот...",
"Admin" : "Администратор",
+ "Error uploading the file" : "Грешка при прикачување на датотеката",
"Name cannot be empty" : "Името неможе да биде празно",
"Open documentation" : "Отвори ја документацијата",
"https://…" : "https://…",
"Login image" : "Слика на најава",
"Upload new login background" : "Прикачи нова слика за позадина на најавната страница",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирај Imagemagick додаток за PHP со што ќе се овозможи поддршка за SVG сликите автоматски да генерираат Фавикон базирано на прикаченото лого и боја."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Инсталирај Imagemagick додаток за PHP со што ќе се овозможи поддршка за SVG сликите автоматски да генерираат Фавикон базирано на прикаченото лого и боја.",
+ "Pick from Files" : "Избери од датотеките",
+ "Default image" : "Стандардна слика",
+ "Custom color" : "Прилагодена боја",
+ "Plain background" : "Обична позадина",
+ "Insert from {productName}" : "Вметнни од {productName}"
},"pluralForm" :"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/nb.js b/apps/theming/l10n/nb.js
index 325405fafe4..2652e64b522 100644
--- a/apps/theming/l10n/nb.js
+++ b/apps/theming/l10n/nb.js
@@ -51,10 +51,7 @@ OC.L10N.register(
"User settings" : "Brukerinnstillinger",
"Keyboard shortcuts" : "Tastatursnarveier",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universell utforming er viktig for oss. Vi følger web-standarder og tester for full funksjonalitet, både uten mus og med hjelpeprogrammer, slik som skjermlesere. Vi etterstreber å følge {guidelines}Retningslinjer for tilgjengelighet på nettsider{linkend} 2.1 på nivå AA, og med temaet for høy kontrast også nivå AAA.",
- "Pick from Files" : "Velg fra Filer",
- "Custom color" : "Tilpasset farge",
- "Plain background" : "Ensfarget bakgrunn",
- "Insert from {productName}" : "Sett inn fra {productName}",
+ "Change color" : "Endre farge",
"Reset to default" : "Tilbakestill til standard",
"Upload" : "Last opp",
"Remove background image" : "Fjern bakgrunnsbilde",
@@ -65,6 +62,10 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Innloggingsbilde",
"Upload new login background" : "Last opp ny innloggingsbakgrunn",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge.",
+ "Pick from Files" : "Velg fra Filer",
+ "Custom color" : "Tilpasset farge",
+ "Plain background" : "Ensfarget bakgrunn",
+ "Insert from {productName}" : "Sett inn fra {productName}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/nb.json b/apps/theming/l10n/nb.json
index cea6eb9c0bb..0df91803f10 100644
--- a/apps/theming/l10n/nb.json
+++ b/apps/theming/l10n/nb.json
@@ -49,10 +49,7 @@
"User settings" : "Brukerinnstillinger",
"Keyboard shortcuts" : "Tastatursnarveier",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universell utforming er viktig for oss. Vi følger web-standarder og tester for full funksjonalitet, både uten mus og med hjelpeprogrammer, slik som skjermlesere. Vi etterstreber å følge {guidelines}Retningslinjer for tilgjengelighet på nettsider{linkend} 2.1 på nivå AA, og med temaet for høy kontrast også nivå AAA.",
- "Pick from Files" : "Velg fra Filer",
- "Custom color" : "Tilpasset farge",
- "Plain background" : "Ensfarget bakgrunn",
- "Insert from {productName}" : "Sett inn fra {productName}",
+ "Change color" : "Endre farge",
"Reset to default" : "Tilbakestill til standard",
"Upload" : "Last opp",
"Remove background image" : "Fjern bakgrunnsbilde",
@@ -63,6 +60,10 @@
"https://…" : "https://…",
"Login image" : "Innloggingsbilde",
"Upload new login background" : "Last opp ny innloggingsbakgrunn",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installer PHP-utvidelsen Imagemagick med støtte for SVG-bilder for å opprette favikoner automatisk basert på opplastet logo og farge.",
+ "Pick from Files" : "Velg fra Filer",
+ "Custom color" : "Tilpasset farge",
+ "Plain background" : "Ensfarget bakgrunn",
+ "Insert from {productName}" : "Sett inn fra {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/nl.js b/apps/theming/l10n/nl.js
index 42c6b34d0ba..5d372110b99 100644
--- a/apps/theming/l10n/nl.js
+++ b/apps/theming/l10n/nl.js
@@ -73,11 +73,7 @@ OC.L10N.register(
"Set a custom background" : "Stel persoonlijke achtergrond in",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universele toegang is heel belangrijk voor ons. We volgen webstandaarden en controleren dat alles ook zonder muis en met ondersteunende software zoals schermlezers bruikbaar is. We streven om de {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 op AA-niveau te volgen, en met het hoge contrast thema zelfs op AAA-niveau.",
"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}!" : "Als je problemen tegenkomt, aarzel dan niet om deze te rapporteren op {issuetracker}onze issue tracker{linkend}. En als je betrokken wilt raken, word dan lid van {designteam}ons designteam{linkend}!",
- "Pick from Files" : "Kies uit Bestanden",
- "Default image" : "Standaard afbeelding",
- "Custom color" : "Kleur op maat",
- "Plain background" : "Kale achtergrond",
- "Insert from {productName}" : "Invoegen vanuit {productName}",
+ "Change color" : "Wijzigen kleur",
"Theme selection is enforced" : "Themaselectie is afgedwongen",
"Reset to default" : "Herstellen naar standaard",
"Upload" : "Uploaden",
@@ -92,6 +88,11 @@ OC.L10N.register(
"Upload new login background" : "Uploaden nieuwe inlog achtergrond",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installeer de Imagemagick PHP extensie met ondersteuning voor SVG afbeeldingen om automatisch favicons te genereren op basis van het geuploade logo en kleur.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In sommige gevallen grijpen sneltoetsen in op de werking van toegankelijkheidstools. Om correct op uw hulpmiddel te kunnen concentreren, kunt u hier alle sneltoetsen uitschakelen. Dit zal ook alle beschikbare sneltoetsen in apps uitschakelen.",
+ "Pick from Files" : "Kies uit Bestanden",
+ "Default image" : "Standaard afbeelding",
+ "Custom color" : "Kleur op maat",
+ "Plain background" : "Kale achtergrond",
+ "Insert from {productName}" : "Invoegen vanuit {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Hoewel u uw instantie kunt selecteren en aanpassen, kunnen gebruikers hun achtergrond en kleuren wijzigen. Als je jouw maatwerk wilt afdwingen, kun je dit vakje aanvinken."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/nl.json b/apps/theming/l10n/nl.json
index b163e8e1b60..8348f567bb1 100644
--- a/apps/theming/l10n/nl.json
+++ b/apps/theming/l10n/nl.json
@@ -71,11 +71,7 @@
"Set a custom background" : "Stel persoonlijke achtergrond in",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Universele toegang is heel belangrijk voor ons. We volgen webstandaarden en controleren dat alles ook zonder muis en met ondersteunende software zoals schermlezers bruikbaar is. We streven om de {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 op AA-niveau te volgen, en met het hoge contrast thema zelfs op AAA-niveau.",
"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}!" : "Als je problemen tegenkomt, aarzel dan niet om deze te rapporteren op {issuetracker}onze issue tracker{linkend}. En als je betrokken wilt raken, word dan lid van {designteam}ons designteam{linkend}!",
- "Pick from Files" : "Kies uit Bestanden",
- "Default image" : "Standaard afbeelding",
- "Custom color" : "Kleur op maat",
- "Plain background" : "Kale achtergrond",
- "Insert from {productName}" : "Invoegen vanuit {productName}",
+ "Change color" : "Wijzigen kleur",
"Theme selection is enforced" : "Themaselectie is afgedwongen",
"Reset to default" : "Herstellen naar standaard",
"Upload" : "Uploaden",
@@ -90,6 +86,11 @@
"Upload new login background" : "Uploaden nieuwe inlog achtergrond",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installeer de Imagemagick PHP extensie met ondersteuning voor SVG afbeeldingen om automatisch favicons te genereren op basis van het geuploade logo en kleur.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "In sommige gevallen grijpen sneltoetsen in op de werking van toegankelijkheidstools. Om correct op uw hulpmiddel te kunnen concentreren, kunt u hier alle sneltoetsen uitschakelen. Dit zal ook alle beschikbare sneltoetsen in apps uitschakelen.",
+ "Pick from Files" : "Kies uit Bestanden",
+ "Default image" : "Standaard afbeelding",
+ "Custom color" : "Kleur op maat",
+ "Plain background" : "Kale achtergrond",
+ "Insert from {productName}" : "Invoegen vanuit {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Hoewel u uw instantie kunt selecteren en aanpassen, kunnen gebruikers hun achtergrond en kleuren wijzigen. Als je jouw maatwerk wilt afdwingen, kun je dit vakje aanvinken."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/pl.js b/apps/theming/l10n/pl.js
index 8588e01f21e..d2f61311b45 100644
--- a/apps/theming/l10n/pl.js
+++ b/apps/theming/l10n/pl.js
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "Ustaw niestandardowe tło",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Uniwersalny dostęp jest dla nas bardzo ważny. Przestrzegamy standardów internetowych i sprawdzamy, aby wszystko było użyteczne również bez myszy i oprogramowania pomocniczego, takiego jak czytniki ekranu. Naszym celem jest zgodność z {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na poziomie AA, z motywem o wysokim kontraście nawet na poziomie AAA.",
"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}!" : "Jeśli znajdziesz jakieś problemy, nie wahaj się zgłosić je na {issuetracker}listę błędów{linkend}. A jeśli chcesz się zaangażować, dołącz do {designteam}naszego zespołu projektowego{linkend}!",
- "Pick from Files" : "Wybierz z Plików",
- "Default image" : "Obraz domyślny",
- "Custom color" : "Kolor niestandardowy",
- "Plain background" : "Zwykłe tło",
- "Insert from {productName}" : "Wstaw z {productName}",
+ "Custom background" : "Tło niestandardowe",
+ "Default background" : "Tło domyślne",
+ "Change color" : "Zmień kolor",
+ "Remove background" : "Usuń tło",
+ "Select a background from your files" : "Wybierz tło ze swoich Plików",
"Theme selection is enforced" : "Wybór motywu jest wymuszony",
"Select a custom color" : "Wybierz kolor niestandardowy",
"Reset to default" : "Przywróć domyślne",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Wyślij nowe tło logowania",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Zainstaluj rozszerzenie Imagemagick PHP z obsługą obrazów SVG, aby automatycznie generować favicony w oparciu o wysłane logo i kolor.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "W niektórych przypadkach skróty klawiaturowe mogą kolidować z narzędziami ułatwień dostępu. Aby umożliwić prawidłowe skupienie się na narzędziu, możesz tutaj wyłączyć wszystkie skróty klawiaturowe. Spowoduje to również wyłączenie wszystkich dostępnych skrótów w aplikacjach.",
+ "Pick from Files" : "Wybierz z Plików",
+ "Default image" : "Obraz domyślny",
+ "Custom color" : "Kolor niestandardowy",
+ "Plain background" : "Zwykłe tło",
+ "Insert from {productName}" : "Wstaw z {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Mimo że możesz wybrać i dostosować swoją instancję, użytkownicy mogą zmieniać swoje tło i kolory. Jeśli chcesz wymusić dostosowanie, możesz zaznaczyć to pole."
},
"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);");
diff --git a/apps/theming/l10n/pl.json b/apps/theming/l10n/pl.json
index 34cb7ebe693..e5a3527f662 100644
--- a/apps/theming/l10n/pl.json
+++ b/apps/theming/l10n/pl.json
@@ -74,11 +74,11 @@
"Set a custom background" : "Ustaw niestandardowe tło",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Uniwersalny dostęp jest dla nas bardzo ważny. Przestrzegamy standardów internetowych i sprawdzamy, aby wszystko było użyteczne również bez myszy i oprogramowania pomocniczego, takiego jak czytniki ekranu. Naszym celem jest zgodność z {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 na poziomie AA, z motywem o wysokim kontraście nawet na poziomie AAA.",
"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}!" : "Jeśli znajdziesz jakieś problemy, nie wahaj się zgłosić je na {issuetracker}listę błędów{linkend}. A jeśli chcesz się zaangażować, dołącz do {designteam}naszego zespołu projektowego{linkend}!",
- "Pick from Files" : "Wybierz z Plików",
- "Default image" : "Obraz domyślny",
- "Custom color" : "Kolor niestandardowy",
- "Plain background" : "Zwykłe tło",
- "Insert from {productName}" : "Wstaw z {productName}",
+ "Custom background" : "Tło niestandardowe",
+ "Default background" : "Tło domyślne",
+ "Change color" : "Zmień kolor",
+ "Remove background" : "Usuń tło",
+ "Select a background from your files" : "Wybierz tło ze swoich Plików",
"Theme selection is enforced" : "Wybór motywu jest wymuszony",
"Select a custom color" : "Wybierz kolor niestandardowy",
"Reset to default" : "Przywróć domyślne",
@@ -94,6 +94,11 @@
"Upload new login background" : "Wyślij nowe tło logowania",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Zainstaluj rozszerzenie Imagemagick PHP z obsługą obrazów SVG, aby automatycznie generować favicony w oparciu o wysłane logo i kolor.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "W niektórych przypadkach skróty klawiaturowe mogą kolidować z narzędziami ułatwień dostępu. Aby umożliwić prawidłowe skupienie się na narzędziu, możesz tutaj wyłączyć wszystkie skróty klawiaturowe. Spowoduje to również wyłączenie wszystkich dostępnych skrótów w aplikacjach.",
+ "Pick from Files" : "Wybierz z Plików",
+ "Default image" : "Obraz domyślny",
+ "Custom color" : "Kolor niestandardowy",
+ "Plain background" : "Zwykłe tło",
+ "Insert from {productName}" : "Wstaw z {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Mimo że możesz wybrać i dostosować swoją instancję, użytkownicy mogą zmieniać swoje tło i kolory. Jeśli chcesz wymusić dostosowanie, możesz zaznaczyć to pole."
},"pluralForm" :"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/pt_BR.js b/apps/theming/l10n/pt_BR.js
index 59150c02138..c251a0fcf30 100644
--- a/apps/theming/l10n/pt_BR.js
+++ b/apps/theming/l10n/pt_BR.js
@@ -49,6 +49,7 @@ OC.L10N.register(
"Adjust the Nextcloud theme" : "Ajustar o tema do Nextcloud",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Criar e alterar temas torna possível personalizar facilmente o Nextcloud e clientes suportados. Isso será visível para todos os usuários.",
"Advanced options" : "Opções avançadas",
+ "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP ImageMagick para ter suporte a geração automática em SVG para favicons baseados no logotipo e cores enviados.",
"Name" : "Nome",
"Web link" : "Link web",
"a safe home for all your data" : "um lugar seguro para seus dados",
@@ -57,6 +58,7 @@ OC.L10N.register(
"Logo" : "Logotipo",
"Upload new logo" : "Enviar novo logotipo",
"Background and login image" : "Plano de fundo e imagem de login",
+ "Upload new background and login image" : "Envie um novo papel de parede e imagem de login",
"Legal notice link" : "Link do aviso legal",
"Privacy policy link" : "Link da política de privacidade",
"Header logo" : "Logotipo de cabeçalho",
@@ -65,6 +67,7 @@ OC.L10N.register(
"Upload new favicon" : "Enviar novo ícone de favorito",
"User settings" : "Configurações de usuário",
"Disable user theming" : "Desabilitar temas do usuário",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Embora você possa selecionar e personalizar a sua instância, os usuários podem alterar seu plano de fundo e as cores. Se você quiser forçar a sua personalização, marque esta caixa.",
"Keyboard shortcuts" : "Atalhos do teclado",
"In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Em alguns casos, os atalhos de teclado podem interferir nas ferramentas de acessibilidade. Para permitir o foco em sua ferramenta corretamente, você pode desativar todos os atalhos de teclado aqui. Isso também desativará todos os atalhos disponíveis nos aplicativos.",
"Disable all keyboard shortcuts" : "Desabilitar todos os atalhos de teclado",
@@ -73,12 +76,13 @@ OC.L10N.register(
"Set a custom background" : "Defina um plano de fundo personalizado",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e nos certificamos de tornar tudo utilizável também sem mouse e software auxiliar, como leitores de tela. Nosso objetivo é estar em conformidade com as {guidelines}Diretrizes de Acessibilidade para Conteúdo da Web{linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
"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}!" : "Se você encontrar algum problema, não hesite em denunciá-lo em {issuetracker}nosso rastreador de problemas{linkend}. E se você quiser se envolver, junte-se a {designteam}nossa equipe de design{linkend}!",
- "Pick from Files" : "Escolher de Arquivos",
- "Default image" : "Imagem padrão",
- "Custom color" : "Cor personalizada",
- "Plain background" : "Fundo simples",
- "Insert from {productName}" : "Inserir de {productName}",
+ "Custom background" : "Papel de parede personalizado",
+ "Default background" : "Papel de parede padrão",
+ "Change color" : "Trocar a cor",
+ "Remove background" : "Remover papel de parede",
+ "Select a background from your files" : "Selecione o papel de parede de seus arquivos",
"Theme selection is enforced" : "A seleção do tema é aplicada",
+ "Select a custom color" : "Selecione uma cor personalizada",
"Reset to default" : "Redefinir para o padrão",
"Upload" : "Enviar",
"Remove background image" : "Excluir a imagem de fundo",
@@ -92,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Enviar nova imagem de fundo para o login",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte a imagens SVG para gerar favicons automaticamente, com base no logotipo e na cor enviados.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Em alguns casos, os atalhos de teclado podem interferir nas ferramentas de acessibilidade. Para permitir o foco em sua ferramenta corretamente, você pode desativar todos os atalhos de teclado aqui. Isso também desativará todos os atalhos disponíveis nos aplicativos.",
+ "Pick from Files" : "Escolher de Arquivos",
+ "Default image" : "Imagem padrão",
+ "Custom color" : "Cor personalizada",
+ "Plain background" : "Fundo simples",
+ "Insert from {productName}" : "Inserir de {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Embora você possa selecionar e personalizar sua instância, os usuários podem alterar o plano de fundo e as cores. Se você quiser impor sua personalização, marque esta caixa."
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/pt_BR.json b/apps/theming/l10n/pt_BR.json
index 9cb325f844e..00f528df17a 100644
--- a/apps/theming/l10n/pt_BR.json
+++ b/apps/theming/l10n/pt_BR.json
@@ -47,6 +47,7 @@
"Adjust the Nextcloud theme" : "Ajustar o tema do Nextcloud",
"Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users." : "Criar e alterar temas torna possível personalizar facilmente o Nextcloud e clientes suportados. Isso será visível para todos os usuários.",
"Advanced options" : "Opções avançadas",
+ "Install the ImageMagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP ImageMagick para ter suporte a geração automática em SVG para favicons baseados no logotipo e cores enviados.",
"Name" : "Nome",
"Web link" : "Link web",
"a safe home for all your data" : "um lugar seguro para seus dados",
@@ -55,6 +56,7 @@
"Logo" : "Logotipo",
"Upload new logo" : "Enviar novo logotipo",
"Background and login image" : "Plano de fundo e imagem de login",
+ "Upload new background and login image" : "Envie um novo papel de parede e imagem de login",
"Legal notice link" : "Link do aviso legal",
"Privacy policy link" : "Link da política de privacidade",
"Header logo" : "Logotipo de cabeçalho",
@@ -63,6 +65,7 @@
"Upload new favicon" : "Enviar novo ícone de favorito",
"User settings" : "Configurações de usuário",
"Disable user theming" : "Desabilitar temas do usuário",
+ "Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can toggle this on." : "Embora você possa selecionar e personalizar a sua instância, os usuários podem alterar seu plano de fundo e as cores. Se você quiser forçar a sua personalização, marque esta caixa.",
"Keyboard shortcuts" : "Atalhos do teclado",
"In some cases keyboard shortcuts can interfere with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Em alguns casos, os atalhos de teclado podem interferir nas ferramentas de acessibilidade. Para permitir o foco em sua ferramenta corretamente, você pode desativar todos os atalhos de teclado aqui. Isso também desativará todos os atalhos disponíveis nos aplicativos.",
"Disable all keyboard shortcuts" : "Desabilitar todos os atalhos de teclado",
@@ -71,12 +74,13 @@
"Set a custom background" : "Defina um plano de fundo personalizado",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e nos certificamos de tornar tudo utilizável também sem mouse e software auxiliar, como leitores de tela. Nosso objetivo é estar em conformidade com as {guidelines}Diretrizes de Acessibilidade para Conteúdo da Web{linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
"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}!" : "Se você encontrar algum problema, não hesite em denunciá-lo em {issuetracker}nosso rastreador de problemas{linkend}. E se você quiser se envolver, junte-se a {designteam}nossa equipe de design{linkend}!",
- "Pick from Files" : "Escolher de Arquivos",
- "Default image" : "Imagem padrão",
- "Custom color" : "Cor personalizada",
- "Plain background" : "Fundo simples",
- "Insert from {productName}" : "Inserir de {productName}",
+ "Custom background" : "Papel de parede personalizado",
+ "Default background" : "Papel de parede padrão",
+ "Change color" : "Trocar a cor",
+ "Remove background" : "Remover papel de parede",
+ "Select a background from your files" : "Selecione o papel de parede de seus arquivos",
"Theme selection is enforced" : "A seleção do tema é aplicada",
+ "Select a custom color" : "Selecione uma cor personalizada",
"Reset to default" : "Redefinir para o padrão",
"Upload" : "Enviar",
"Remove background image" : "Excluir a imagem de fundo",
@@ -90,6 +94,11 @@
"Upload new login background" : "Enviar nova imagem de fundo para o login",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte a imagens SVG para gerar favicons automaticamente, com base no logotipo e na cor enviados.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Em alguns casos, os atalhos de teclado podem interferir nas ferramentas de acessibilidade. Para permitir o foco em sua ferramenta corretamente, você pode desativar todos os atalhos de teclado aqui. Isso também desativará todos os atalhos disponíveis nos aplicativos.",
+ "Pick from Files" : "Escolher de Arquivos",
+ "Default image" : "Imagem padrão",
+ "Custom color" : "Cor personalizada",
+ "Plain background" : "Fundo simples",
+ "Insert from {productName}" : "Inserir de {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Embora você possa selecionar e personalizar sua instância, os usuários podem alterar o plano de fundo e as cores. Se você quiser impor sua personalização, marque esta caixa."
},"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/theming/l10n/pt_PT.js b/apps/theming/l10n/pt_PT.js
index 2035c03c8e2..9deacca5a50 100644
--- a/apps/theming/l10n/pt_PT.js
+++ b/apps/theming/l10n/pt_PT.js
@@ -48,9 +48,6 @@ OC.L10N.register(
"Upload new favicon" : "Carregar novo favicon",
"Keyboard shortcuts" : "Atalhos de teclado",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
- "Pick from Files" : "Escolha a partir dos Ficheiros",
- "Plain background" : "Fundo simples",
- "Insert from {productName}" : "Inserir de {productName}",
"Reset to default" : "Repor original",
"Upload" : "Enviar",
"Remove background image" : "Remover imagem de segundo plano",
@@ -61,6 +58,9 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Imagem de Login",
"Upload new login background" : "Carregar imagem de segundo plano de Login",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado.",
+ "Pick from Files" : "Escolha a partir dos Ficheiros",
+ "Plain background" : "Fundo simples",
+ "Insert from {productName}" : "Inserir de {productName}"
},
"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/theming/l10n/pt_PT.json b/apps/theming/l10n/pt_PT.json
index 630687e46f2..50feff22a6c 100644
--- a/apps/theming/l10n/pt_PT.json
+++ b/apps/theming/l10n/pt_PT.json
@@ -46,9 +46,6 @@
"Upload new favicon" : "Carregar novo favicon",
"Keyboard shortcuts" : "Atalhos de teclado",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "O acesso universal é muito importante para nós. Seguimos os padrões da web e verificamos para tornar tudo utilizável também sem rato e software auxiliar, como leitores de ecrã. O nosso objetivo é estar em conformidade com as {guidelines} Diretrizes de acessibilidade para o conteúdo da Web {linkend} 2.1 no nível AA, com o tema de alto contraste, mesmo no nível AAA.",
- "Pick from Files" : "Escolha a partir dos Ficheiros",
- "Plain background" : "Fundo simples",
- "Insert from {productName}" : "Inserir de {productName}",
"Reset to default" : "Repor original",
"Upload" : "Enviar",
"Remove background image" : "Remover imagem de segundo plano",
@@ -59,6 +56,9 @@
"https://…" : "https://…",
"Login image" : "Imagem de Login",
"Upload new login background" : "Carregar imagem de segundo plano de Login",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Instale a extensão PHP Imagemagick com suporte para imagens SVG para gerar automaticamente favicons com base na cor e no logotipo carregado.",
+ "Pick from Files" : "Escolha a partir dos Ficheiros",
+ "Plain background" : "Fundo simples",
+ "Insert from {productName}" : "Inserir de {productName}"
},"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/theming/l10n/ru.js b/apps/theming/l10n/ru.js
index 82f2f307897..028b6e4e165 100644
--- a/apps/theming/l10n/ru.js
+++ b/apps/theming/l10n/ru.js
@@ -53,10 +53,7 @@ OC.L10N.register(
"Keyboard shortcuts" : "Сочетания клавиш",
"Background" : "Фон",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Доступная среда очень важна для нас. При разработке мы следуем веб-стандартам, контролируя возможность пользования всем сервисом без помощи мыши и с использованием вспомогательных программ, например, выполняющих чтение с экрана. Мы стремимся к выполнению рекомендаций {guidelines}Руководства доступности Веб-Контента{linkend} 2.1 на уровне АА, а при использовании режима высокой контрастности — даже на уровне ААА.",
- "Pick from Files" : "Выбрать из файлов",
- "Custom color" : "Свой цвет",
- "Plain background" : "Обычный фон",
- "Insert from {productName}" : "Вставить из {productName}",
+ "Change color" : "Изменить цвет",
"Reset to default" : "Сбросить изменения",
"Upload" : "Отправить",
"Remove background image" : "Убрать фоновое изображение ",
@@ -67,6 +64,10 @@ OC.L10N.register(
"https://…" : "https://",
"Login image" : "Изображение экрана входа в систему",
"Upload new login background" : "Загрузить новый фон для экрана входа в систему",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG "
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG ",
+ "Pick from Files" : "Выбрать из файлов",
+ "Custom color" : "Свой цвет",
+ "Plain background" : "Обычный фон",
+ "Insert from {productName}" : "Вставить из {productName}"
},
"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/theming/l10n/ru.json b/apps/theming/l10n/ru.json
index e1c10bc95c3..53a417f3a62 100644
--- a/apps/theming/l10n/ru.json
+++ b/apps/theming/l10n/ru.json
@@ -51,10 +51,7 @@
"Keyboard shortcuts" : "Сочетания клавиш",
"Background" : "Фон",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Доступная среда очень важна для нас. При разработке мы следуем веб-стандартам, контролируя возможность пользования всем сервисом без помощи мыши и с использованием вспомогательных программ, например, выполняющих чтение с экрана. Мы стремимся к выполнению рекомендаций {guidelines}Руководства доступности Веб-Контента{linkend} 2.1 на уровне АА, а при использовании режима высокой контрастности — даже на уровне ААА.",
- "Pick from Files" : "Выбрать из файлов",
- "Custom color" : "Свой цвет",
- "Plain background" : "Обычный фон",
- "Insert from {productName}" : "Вставить из {productName}",
+ "Change color" : "Изменить цвет",
"Reset to default" : "Сбросить изменения",
"Upload" : "Отправить",
"Remove background image" : "Убрать фоновое изображение ",
@@ -65,6 +62,10 @@
"https://…" : "https://",
"Login image" : "Изображение экрана входа в систему",
"Upload new login background" : "Загрузить новый фон для экрана входа в систему",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG "
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Для автоматической генерации favicon на основе загруженного логотипа и цвета нужно установить PHP расширение Imagemagick с поддержкой изображений SVG ",
+ "Pick from Files" : "Выбрать из файлов",
+ "Custom color" : "Свой цвет",
+ "Plain background" : "Обычный фон",
+ "Insert from {productName}" : "Вставить из {productName}"
},"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/theming/l10n/sc.js b/apps/theming/l10n/sc.js
index d49a59ba756..9020de1dcbf 100644
--- a/apps/theming/l10n/sc.js
+++ b/apps/theming/l10n/sc.js
@@ -52,10 +52,7 @@ OC.L10N.register(
"Keyboard shortcuts" : "Curtziadòrgios de tecladu",
"Background" : "Isfundu",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "S'atzessu universale est de importu mannu pro nois. Sighimus is istandard de sa rete e chircamus de fàghere chi totu si potzat impreare chene cursore puru, e cun programmas de assistèntzia comente leghidores de ischermu. S'intentu nostru est de acumprire is inditos de is {guidelines}Lìinas ghia cuntenutos de rete{linkend} 2.1 a su livellu AA, cun su tema de cuntrastu artu a su livellu AAA.",
- "Pick from Files" : "Sèbera dae archìvios",
- "Custom color" : "Personaliza colore",
- "Plain background" : "Isfundu simpre",
- "Insert from {productName}" : "Inserta dae {productName}",
+ "Change color" : "Càmbia colore",
"Reset to default" : "Torra a is impostatziones predefinidas",
"Upload" : "Càrriga",
"Remove background image" : "Boga immàgine de fundu",
@@ -66,6 +63,10 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Imàgine de intrada",
"Upload new login background" : "Càrriga fundu de intrada nou",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa s'estensione Imagemagick de PHP cun suportu pro is immàgines SVG pro generare in automàticu favicon basadas subra de su logo carrigadu e su colore."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa s'estensione Imagemagick de PHP cun suportu pro is immàgines SVG pro generare in automàticu favicon basadas subra de su logo carrigadu e su colore.",
+ "Pick from Files" : "Sèbera dae archìvios",
+ "Custom color" : "Personaliza colore",
+ "Plain background" : "Isfundu simpre",
+ "Insert from {productName}" : "Inserta dae {productName}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/sc.json b/apps/theming/l10n/sc.json
index b97c96b7e3c..dc9be1fc9fa 100644
--- a/apps/theming/l10n/sc.json
+++ b/apps/theming/l10n/sc.json
@@ -50,10 +50,7 @@
"Keyboard shortcuts" : "Curtziadòrgios de tecladu",
"Background" : "Isfundu",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "S'atzessu universale est de importu mannu pro nois. Sighimus is istandard de sa rete e chircamus de fàghere chi totu si potzat impreare chene cursore puru, e cun programmas de assistèntzia comente leghidores de ischermu. S'intentu nostru est de acumprire is inditos de is {guidelines}Lìinas ghia cuntenutos de rete{linkend} 2.1 a su livellu AA, cun su tema de cuntrastu artu a su livellu AAA.",
- "Pick from Files" : "Sèbera dae archìvios",
- "Custom color" : "Personaliza colore",
- "Plain background" : "Isfundu simpre",
- "Insert from {productName}" : "Inserta dae {productName}",
+ "Change color" : "Càmbia colore",
"Reset to default" : "Torra a is impostatziones predefinidas",
"Upload" : "Càrriga",
"Remove background image" : "Boga immàgine de fundu",
@@ -64,6 +61,10 @@
"https://…" : "https://…",
"Login image" : "Imàgine de intrada",
"Upload new login background" : "Càrriga fundu de intrada nou",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa s'estensione Imagemagick de PHP cun suportu pro is immàgines SVG pro generare in automàticu favicon basadas subra de su logo carrigadu e su colore."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installa s'estensione Imagemagick de PHP cun suportu pro is immàgines SVG pro generare in automàticu favicon basadas subra de su logo carrigadu e su colore.",
+ "Pick from Files" : "Sèbera dae archìvios",
+ "Custom color" : "Personaliza colore",
+ "Plain background" : "Isfundu simpre",
+ "Insert from {productName}" : "Inserta dae {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/sk.js b/apps/theming/l10n/sk.js
index dc900a7219c..7702d1a67bb 100644
--- a/apps/theming/l10n/sk.js
+++ b/apps/theming/l10n/sk.js
@@ -66,11 +66,7 @@ OC.L10N.register(
"Set a custom background" : "Nastaviť vlastné pozadie",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Univerzálny prístup je pre nás veľmi dôležitý. Dodržiavame webové štandardy a kontrolujeme, aby bolo všetko použiteľné aj bez myši a pomocného softvéru, ako sú čítačky obrazovky. Naším cieľom je byť v súlade s {guidelines}pokynmi pre prístup k webovému obsahu {linkend} 2.1 na úrovni AA, v režime vysokého kontrastu dokonca na úrovni AAA.",
"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}!" : "Ak nájdete nejaké problémy, neváhajte ich nahlásiť v {issuetracker}našom nástroji na sledovanie problémov{linkend}. A ak sa chcete zapojiť, pridajte sa k {designteam}nášmu tímu dizajnérov{linkend}!",
- "Pick from Files" : "Vybrať zo súborov",
- "Default image" : "Predvolený obrázok",
- "Custom color" : "Vlastná farba",
- "Plain background" : "Obyčajné pozadie",
- "Insert from {productName}" : "Vložiť z {productName}",
+ "Change color" : "Zmeniť farbu",
"Theme selection is enforced" : "Vynucuje sa výber témy",
"Reset to default" : "Nastaviť predvolené",
"Upload" : "Nahrať",
@@ -84,6 +80,11 @@ OC.L10N.register(
"Login image" : "Prihlasovací obrázok",
"Upload new login background" : "Nahrať nové prihlasovacie pozadie",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ak chcete automaticky generovať favikony na základe nahraného loga a farby, nainštalujte rozšírenie Imagemagick PHP s podporou pre SVG obrázky.",
- "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V niektorých prípadoch môžu klávesové skratky zasahovať do nástrojov dostupnosti. Aby ste mohli správne zaostriť na svoj nástroj, môžete tu vypnúť všetky klávesové skratky. Tým sa tiež zakážu všetky dostupné skratky v aplikáciách."
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V niektorých prípadoch môžu klávesové skratky zasahovať do nástrojov dostupnosti. Aby ste mohli správne zaostriť na svoj nástroj, môžete tu vypnúť všetky klávesové skratky. Tým sa tiež zakážu všetky dostupné skratky v aplikáciách.",
+ "Pick from Files" : "Vybrať zo súborov",
+ "Default image" : "Predvolený obrázok",
+ "Custom color" : "Vlastná farba",
+ "Plain background" : "Obyčajné pozadie",
+ "Insert from {productName}" : "Vložiť z {productName}"
},
"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);");
diff --git a/apps/theming/l10n/sk.json b/apps/theming/l10n/sk.json
index b9eda2d948e..f59767b3383 100644
--- a/apps/theming/l10n/sk.json
+++ b/apps/theming/l10n/sk.json
@@ -64,11 +64,7 @@
"Set a custom background" : "Nastaviť vlastné pozadie",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Univerzálny prístup je pre nás veľmi dôležitý. Dodržiavame webové štandardy a kontrolujeme, aby bolo všetko použiteľné aj bez myši a pomocného softvéru, ako sú čítačky obrazovky. Naším cieľom je byť v súlade s {guidelines}pokynmi pre prístup k webovému obsahu {linkend} 2.1 na úrovni AA, v režime vysokého kontrastu dokonca na úrovni AAA.",
"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}!" : "Ak nájdete nejaké problémy, neváhajte ich nahlásiť v {issuetracker}našom nástroji na sledovanie problémov{linkend}. A ak sa chcete zapojiť, pridajte sa k {designteam}nášmu tímu dizajnérov{linkend}!",
- "Pick from Files" : "Vybrať zo súborov",
- "Default image" : "Predvolený obrázok",
- "Custom color" : "Vlastná farba",
- "Plain background" : "Obyčajné pozadie",
- "Insert from {productName}" : "Vložiť z {productName}",
+ "Change color" : "Zmeniť farbu",
"Theme selection is enforced" : "Vynucuje sa výber témy",
"Reset to default" : "Nastaviť predvolené",
"Upload" : "Nahrať",
@@ -82,6 +78,11 @@
"Login image" : "Prihlasovací obrázok",
"Upload new login background" : "Nahrať nové prihlasovacie pozadie",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Ak chcete automaticky generovať favikony na základe nahraného loga a farby, nainštalujte rozšírenie Imagemagick PHP s podporou pre SVG obrázky.",
- "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V niektorých prípadoch môžu klávesové skratky zasahovať do nástrojov dostupnosti. Aby ste mohli správne zaostriť na svoj nástroj, môžete tu vypnúť všetky klávesové skratky. Tým sa tiež zakážu všetky dostupné skratky v aplikáciách."
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "V niektorých prípadoch môžu klávesové skratky zasahovať do nástrojov dostupnosti. Aby ste mohli správne zaostriť na svoj nástroj, môžete tu vypnúť všetky klávesové skratky. Tým sa tiež zakážu všetky dostupné skratky v aplikáciách.",
+ "Pick from Files" : "Vybrať zo súborov",
+ "Default image" : "Predvolený obrázok",
+ "Custom color" : "Vlastná farba",
+ "Plain background" : "Obyčajné pozadie",
+ "Insert from {productName}" : "Vložiť z {productName}"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n == 1 ? 0 : n % 1 == 0 && n >= 2 && n <= 4 ? 1 : n % 1 != 0 ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/sl.js b/apps/theming/l10n/sl.js
index 781790ec023..4567b7ae163 100644
--- a/apps/theming/l10n/sl.js
+++ b/apps/theming/l10n/sl.js
@@ -64,10 +64,7 @@ OC.L10N.register(
"Background" : "Ozadje",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Enostaven dostop do možnosti je za nas zelo pomemben. Sledimo spletnim standardom in preverjamo, da je vmesnik uporaben tudi brez uporabe miške in brez podporne programske opreme, kot so zaslonski bralniki in podobno. Zagotavljamo skladnost s smernicami {guidelines}Dostopnosti spletne vsebine{linkend} 2.1 na ravni AA, pri visoko kontrastni temi pa tudi na ravni AAA.",
"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}!" : "Če naletite na težave, ne odlašajte in takoj pošljite poročilo na {issuetracker}sledilnik{linkend}, če želite sodelovati, pa se pridružite {designteam}skupini oblikovalcev{linkend}!",
- "Pick from Files" : "Izbor iz datotek",
- "Custom color" : "Barva po meri",
- "Plain background" : "Enostavno ozadje",
- "Insert from {productName}" : "Vstavi iz {productName}",
+ "Change color" : "Spremeni barvo",
"Theme selection is enforced" : "Izbira teme je vsiljena",
"Reset to default" : "Ponastavi na privzeto",
"Upload" : "Pošlji",
@@ -79,6 +76,10 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Prijavna slika",
"Upload new login background" : "Pošlji novo ozadje prijavnega okna",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Z namestitvijo razširitve Imagemagick PHP s podporo za slike SVG je mogoče samodejno ustvariti ikone zaznamka na podlagi določenega logotipa in barve."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Z namestitvijo razširitve Imagemagick PHP s podporo za slike SVG je mogoče samodejno ustvariti ikone zaznamka na podlagi določenega logotipa in barve.",
+ "Pick from Files" : "Izbor iz datotek",
+ "Custom color" : "Barva po meri",
+ "Plain background" : "Enostavno ozadje",
+ "Insert from {productName}" : "Vstavi iz {productName}"
},
"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);");
diff --git a/apps/theming/l10n/sl.json b/apps/theming/l10n/sl.json
index fc05d5d21db..5d7ae57edf0 100644
--- a/apps/theming/l10n/sl.json
+++ b/apps/theming/l10n/sl.json
@@ -62,10 +62,7 @@
"Background" : "Ozadje",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Enostaven dostop do možnosti je za nas zelo pomemben. Sledimo spletnim standardom in preverjamo, da je vmesnik uporaben tudi brez uporabe miške in brez podporne programske opreme, kot so zaslonski bralniki in podobno. Zagotavljamo skladnost s smernicami {guidelines}Dostopnosti spletne vsebine{linkend} 2.1 na ravni AA, pri visoko kontrastni temi pa tudi na ravni AAA.",
"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}!" : "Če naletite na težave, ne odlašajte in takoj pošljite poročilo na {issuetracker}sledilnik{linkend}, če želite sodelovati, pa se pridružite {designteam}skupini oblikovalcev{linkend}!",
- "Pick from Files" : "Izbor iz datotek",
- "Custom color" : "Barva po meri",
- "Plain background" : "Enostavno ozadje",
- "Insert from {productName}" : "Vstavi iz {productName}",
+ "Change color" : "Spremeni barvo",
"Theme selection is enforced" : "Izbira teme je vsiljena",
"Reset to default" : "Ponastavi na privzeto",
"Upload" : "Pošlji",
@@ -77,6 +74,10 @@
"https://…" : "https://…",
"Login image" : "Prijavna slika",
"Upload new login background" : "Pošlji novo ozadje prijavnega okna",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Z namestitvijo razširitve Imagemagick PHP s podporo za slike SVG je mogoče samodejno ustvariti ikone zaznamka na podlagi določenega logotipa in barve."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Z namestitvijo razširitve Imagemagick PHP s podporo za slike SVG je mogoče samodejno ustvariti ikone zaznamka na podlagi določenega logotipa in barve.",
+ "Pick from Files" : "Izbor iz datotek",
+ "Custom color" : "Barva po meri",
+ "Plain background" : "Enostavno ozadje",
+ "Insert from {productName}" : "Vstavi iz {productName}"
},"pluralForm" :"nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || n%100==4 ? 2 : 3);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/sr.js b/apps/theming/l10n/sr.js
index f1c967bb886..42aed853125 100644
--- a/apps/theming/l10n/sr.js
+++ b/apps/theming/l10n/sr.js
@@ -50,6 +50,7 @@ OC.L10N.register(
"Upload new favicon" : "Отпремите нову иконицу",
"Keyboard shortcuts" : "Пречице на тастатури",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универзални приступ нам је веома важан. Пратимо веб стандарде и проверавамо да све буде употребљиво и без миша а и са помоћним софтвером попут читача екрана. Циљ нам је да будемо усклађени са документом {guidelines}Смернице приступачности веб садржаја{linkend} 2.1 на АА нивоу а са темом високог контраста и на ААА нивоу.",
+ "Change color" : "Промени боју",
"Reset to default" : "Врати на подразумевано",
"Upload" : "Отпреми",
"Remove background image" : "Уклони позадинску слику",
diff --git a/apps/theming/l10n/sr.json b/apps/theming/l10n/sr.json
index 87df51126fd..96fe9d9f06b 100644
--- a/apps/theming/l10n/sr.json
+++ b/apps/theming/l10n/sr.json
@@ -48,6 +48,7 @@
"Upload new favicon" : "Отпремите нову иконицу",
"Keyboard shortcuts" : "Пречице на тастатури",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Универзални приступ нам је веома важан. Пратимо веб стандарде и проверавамо да све буде употребљиво и без миша а и са помоћним софтвером попут читача екрана. Циљ нам је да будемо усклађени са документом {guidelines}Смернице приступачности веб садржаја{linkend} 2.1 на АА нивоу а са темом високог контраста и на ААА нивоу.",
+ "Change color" : "Промени боју",
"Reset to default" : "Врати на подразумевано",
"Upload" : "Отпреми",
"Remove background image" : "Уклони позадинску слику",
diff --git a/apps/theming/l10n/sv.js b/apps/theming/l10n/sv.js
index 9ed5ed8d0a7..ac8f1e228db 100644
--- a/apps/theming/l10n/sv.js
+++ b/apps/theming/l10n/sv.js
@@ -10,6 +10,7 @@ OC.L10N.register(
"The given privacy policy address is not a valid URL" : "Den angivna sekretesspolicyadressen är inte en giltig webbadress",
"The given slogan is too long" : "Den angivna slogan är för lång",
"The given color is invalid" : "Den angivna färgen är inte tillgänglig",
+ "Disable-user-theming should be true or false" : "Inaktivera teman för användare ska vara sant eller falskt",
"Saved" : "Sparat",
"The file was uploaded" : "Filen laddades upp",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Uppladdningsfilen är för stor (upload_max_filesize i php.ini)",
@@ -20,17 +21,29 @@ OC.L10N.register(
"Could not write file to disk" : "Kunde inte skriva fil till disk",
"A PHP extension stopped the file upload" : "Ett PHP-tillägg stoppade filuppladdning",
"No file uploaded" : "Ingen fil uppladdad",
+ "Cleanup old theming cache" : "Rensa gammal tema-cache",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "Kunde inte radera mappen: \"%1$s\", fel: %2$s",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Du använder redan ett anpassat tema. Dessa appinställningar kan skrivas över.",
"Theming" : "Teman",
"Appearance and accessibility" : "Utseende och tillgänglighet",
+ "Dark theme with high contrast mode" : "Mörkt tema med högkontrastläge",
+ "Enable dark high contrast mode" : "Aktivera mörkt högkontrastläge",
+ "Similar to the high contrast mode, but with dark colours." : "Liknar högkontrastläget, men med mörka färger.",
"Dark theme" : "Mörkt tema",
"Enable dark theme" : "Aktivera mörkt tema",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ett mörkt tema som underlättar för dina ögon genom att minska den totala ljusstyrkan.",
+ "System default theme" : "Systemets standardtema",
+ "Enable the system default" : "Aktivera systemets standard",
+ "Using the default system appearance." : "Använder systemets standardutseende.",
"Dyslexia font" : "Teckensnitt för dyslektiker",
"Enable dyslexia font" : "Aktivera teckensnitt för dyslektiker",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic är ett fritt teckensnitt/font som är utformat för att mildra några av de vanligaste lässvårigheterna som orsakas av dyslexi.",
"High contrast mode" : "Läge med hög kontrast",
"Enable high contrast mode" : "Aktivera läge med hög kontrast",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Ett läge med hög kontrast för att underlätta din navigering. Visuell kvalitet kommer att minska men tydligheten ökar.",
+ "Light theme" : "Ljust tema",
+ "Enable the default light theme" : "Aktivera ljust standardtema",
+ "The default light appearance." : "Standardutseende för ljust tema.",
"Legal notice" : "Rättsligt meddelande",
"Privacy policy" : "Integritetspolicy",
"Adjust the Nextcloud theme" : "Justera Nextcloud-tema",
@@ -43,6 +56,8 @@ OC.L10N.register(
"Color" : "Färg",
"Logo" : "Logotyp",
"Upload new logo" : "Ladda upp ny logotyp",
+ "Background and login image" : "Bakgrund och inloggningsbild",
+ "Upload new background and login image" : "Ladda upp ny bakgrund och inloggningsbild",
"Legal notice link" : "Länk rättsligt meddelande",
"Privacy policy link" : "Länk integritetspolicy",
"Header logo" : "Huvud-logga",
@@ -50,22 +65,37 @@ OC.L10N.register(
"Favicon" : "Favicon",
"Upload new favicon" : "Ladda upp nya favicon",
"User settings" : "Användarinställningar",
+ "Disable user theming" : "Inaktivera teman för användare",
"Keyboard shortcuts" : "Tangentbordsgenvägar",
+ "Disable all keyboard shortcuts" : "Inaktivera alla tangentbordsgenvägar",
+ "Background" : "Bakgrund",
+ "Customization has been disabled by your administrator" : "Anpassning har inaktiverats av din administratör",
+ "Set a custom background" : "Ställ in en anpassad bakgrund",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Allmän åtkomst är mycket viktig för oss. Vi följer webbstandarder och kontrollerar att allt är användbart även utan mus och hjälpmedel som skärmläsare. Vi strävar efter att följa {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 på AA-nivå, med temat hög kontrast även på AAA-nivå.",
- "Pick from Files" : "Välj från filer",
- "Custom color" : "Anpassad färg",
- "Plain background" : "Enkel bakgrund",
- "Insert from {productName}" : "Infoga från {productName}",
+ "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}!" : "Om du hittar några problem, tveka inte att rapportera dem på {issuetracker}vår problemhanterare{linkend}. Och om du vill engagera dig, gå med i {designteam}vårt designteam{linkend}!",
+ "Custom background" : "Anpassad bakgrund",
+ "Default background" : "Standardbakgrund",
+ "Change color" : "Ändra färg",
+ "Remove background" : "Ta bort bakgrund",
+ "Select a background from your files" : "Välj en bakgrund från dina filer",
+ "Select a custom color" : "Välj en anpassad färg",
"Reset to default" : "Återställ till grundinställningar",
"Upload" : "Ladda upp",
"Remove background image" : "Ta bort bakgrundsbild",
"Loading preview…" : "Läser in förhandsvisning...",
"Admin" : "Admin",
+ "Error uploading the file" : "Det gick inte att ladda upp filen",
"Name cannot be empty" : "Namn kan inte vara tom",
"Open documentation" : "Öppna dokumentationen",
"https://…" : "https://…",
"Login image" : "Inloggningsbild",
"Upload new login background" : "Ladda upp ny bakgrundsbild",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen.",
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "I vissa fall kan tangentbordsgenvägar störa tillgänglighetsverktyg. För att kunna fokusera på ditt verktyg korrekt kan du inaktivera alla tangentbordsgenvägar här. Detta kommer också att inaktivera alla tillgängliga genvägar i appar.",
+ "Pick from Files" : "Välj från filer",
+ "Default image" : "Standardbild",
+ "Custom color" : "Anpassad färg",
+ "Plain background" : "Enkel bakgrund",
+ "Insert from {productName}" : "Infoga från {productName}"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/theming/l10n/sv.json b/apps/theming/l10n/sv.json
index 1ec0417abaf..2ef8ebfee08 100644
--- a/apps/theming/l10n/sv.json
+++ b/apps/theming/l10n/sv.json
@@ -8,6 +8,7 @@
"The given privacy policy address is not a valid URL" : "Den angivna sekretesspolicyadressen är inte en giltig webbadress",
"The given slogan is too long" : "Den angivna slogan är för lång",
"The given color is invalid" : "Den angivna färgen är inte tillgänglig",
+ "Disable-user-theming should be true or false" : "Inaktivera teman för användare ska vara sant eller falskt",
"Saved" : "Sparat",
"The file was uploaded" : "Filen laddades upp",
"The uploaded file exceeds the upload_max_filesize directive in php.ini" : "Uppladdningsfilen är för stor (upload_max_filesize i php.ini)",
@@ -18,17 +19,29 @@
"Could not write file to disk" : "Kunde inte skriva fil till disk",
"A PHP extension stopped the file upload" : "Ett PHP-tillägg stoppade filuppladdning",
"No file uploaded" : "Ingen fil uppladdad",
+ "Cleanup old theming cache" : "Rensa gammal tema-cache",
+ "Failed to delete folder: \"%1$s\", error: %2$s" : "Kunde inte radera mappen: \"%1$s\", fel: %2$s",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Du använder redan ett anpassat tema. Dessa appinställningar kan skrivas över.",
"Theming" : "Teman",
"Appearance and accessibility" : "Utseende och tillgänglighet",
+ "Dark theme with high contrast mode" : "Mörkt tema med högkontrastläge",
+ "Enable dark high contrast mode" : "Aktivera mörkt högkontrastläge",
+ "Similar to the high contrast mode, but with dark colours." : "Liknar högkontrastläget, men med mörka färger.",
"Dark theme" : "Mörkt tema",
"Enable dark theme" : "Aktivera mörkt tema",
+ "A dark theme to ease your eyes by reducing the overall luminosity and brightness." : "Ett mörkt tema som underlättar för dina ögon genom att minska den totala ljusstyrkan.",
+ "System default theme" : "Systemets standardtema",
+ "Enable the system default" : "Aktivera systemets standard",
+ "Using the default system appearance." : "Använder systemets standardutseende.",
"Dyslexia font" : "Teckensnitt för dyslektiker",
"Enable dyslexia font" : "Aktivera teckensnitt för dyslektiker",
"OpenDyslexic is a free typeface/font designed to mitigate some of the common reading errors caused by dyslexia." : "OpenDyslexic är ett fritt teckensnitt/font som är utformat för att mildra några av de vanligaste lässvårigheterna som orsakas av dyslexi.",
"High contrast mode" : "Läge med hög kontrast",
"Enable high contrast mode" : "Aktivera läge med hög kontrast",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Ett läge med hög kontrast för att underlätta din navigering. Visuell kvalitet kommer att minska men tydligheten ökar.",
+ "Light theme" : "Ljust tema",
+ "Enable the default light theme" : "Aktivera ljust standardtema",
+ "The default light appearance." : "Standardutseende för ljust tema.",
"Legal notice" : "Rättsligt meddelande",
"Privacy policy" : "Integritetspolicy",
"Adjust the Nextcloud theme" : "Justera Nextcloud-tema",
@@ -41,6 +54,8 @@
"Color" : "Färg",
"Logo" : "Logotyp",
"Upload new logo" : "Ladda upp ny logotyp",
+ "Background and login image" : "Bakgrund och inloggningsbild",
+ "Upload new background and login image" : "Ladda upp ny bakgrund och inloggningsbild",
"Legal notice link" : "Länk rättsligt meddelande",
"Privacy policy link" : "Länk integritetspolicy",
"Header logo" : "Huvud-logga",
@@ -48,22 +63,37 @@
"Favicon" : "Favicon",
"Upload new favicon" : "Ladda upp nya favicon",
"User settings" : "Användarinställningar",
+ "Disable user theming" : "Inaktivera teman för användare",
"Keyboard shortcuts" : "Tangentbordsgenvägar",
+ "Disable all keyboard shortcuts" : "Inaktivera alla tangentbordsgenvägar",
+ "Background" : "Bakgrund",
+ "Customization has been disabled by your administrator" : "Anpassning har inaktiverats av din administratör",
+ "Set a custom background" : "Ställ in en anpassad bakgrund",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Allmän åtkomst är mycket viktig för oss. Vi följer webbstandarder och kontrollerar att allt är användbart även utan mus och hjälpmedel som skärmläsare. Vi strävar efter att följa {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 på AA-nivå, med temat hög kontrast även på AAA-nivå.",
- "Pick from Files" : "Välj från filer",
- "Custom color" : "Anpassad färg",
- "Plain background" : "Enkel bakgrund",
- "Insert from {productName}" : "Infoga från {productName}",
+ "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}!" : "Om du hittar några problem, tveka inte att rapportera dem på {issuetracker}vår problemhanterare{linkend}. Och om du vill engagera dig, gå med i {designteam}vårt designteam{linkend}!",
+ "Custom background" : "Anpassad bakgrund",
+ "Default background" : "Standardbakgrund",
+ "Change color" : "Ändra färg",
+ "Remove background" : "Ta bort bakgrund",
+ "Select a background from your files" : "Välj en bakgrund från dina filer",
+ "Select a custom color" : "Välj en anpassad färg",
"Reset to default" : "Återställ till grundinställningar",
"Upload" : "Ladda upp",
"Remove background image" : "Ta bort bakgrundsbild",
"Loading preview…" : "Läser in förhandsvisning...",
"Admin" : "Admin",
+ "Error uploading the file" : "Det gick inte att ladda upp filen",
"Name cannot be empty" : "Namn kan inte vara tom",
"Open documentation" : "Öppna dokumentationen",
"https://…" : "https://…",
"Login image" : "Inloggningsbild",
"Upload new login background" : "Ladda upp ny bakgrundsbild",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen."
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Installera Imagemagick PHP-tillägget med stöd för SVG-bilder för att automatiskt generera favicons baserat på den uppladdade logotypen och färgen.",
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "I vissa fall kan tangentbordsgenvägar störa tillgänglighetsverktyg. För att kunna fokusera på ditt verktyg korrekt kan du inaktivera alla tangentbordsgenvägar här. Detta kommer också att inaktivera alla tillgängliga genvägar i appar.",
+ "Pick from Files" : "Välj från filer",
+ "Default image" : "Standardbild",
+ "Custom color" : "Anpassad färg",
+ "Plain background" : "Enkel bakgrund",
+ "Insert from {productName}" : "Infoga från {productName}"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/tr.js b/apps/theming/l10n/tr.js
index 6e6718cda08..0557406dcc1 100644
--- a/apps/theming/l10n/tr.js
+++ b/apps/theming/l10n/tr.js
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "Özel bir arka plan ayarla",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Uygulamalarımızı herkesin kullanabilmesini çok önemsiyoruz. Web standartlarını izleyerek, işlemlerin fare olmadan da yapılabilmesini ve ekran okuyucular gibi yardımcı yazılımların kullanılabilmesini sağlıyoruz. AAA düzeyinde yüksek renk karşıtlığı teması ile AA düzeyinde {guidelines}Web İçeriği Erişilebilirlik Kuralları{linkend} 2.1 ile uyumlu olmayı amaçladık.",
"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}!" : "Bir sorunla karşılaşırsanız, bunları {issuetracker}sorun izleyicimiz{linkend} üzerinden bildirmekten çekinmeyin. Katkıda bulunmak istiyorsanız {designteam}tasarım ekibimize{linkend} katılın!",
- "Pick from Files" : "Dosyalardan seçin",
- "Default image" : "Varsayılan görsel",
- "Custom color" : "Özel renk",
- "Plain background" : "Düz arka plan",
- "Insert from {productName}" : "{productName} üzerinden ekle",
+ "Custom background" : "Özel arka plan",
+ "Default background" : "Varsayılan arka plan",
+ "Change color" : "Rengi değiştir",
+ "Remove background" : "Arka planı kaldır",
+ "Select a background from your files" : "Dosyalarınızdan bir arka plan seçin",
"Theme selection is enforced" : "Tema seçimi zorunludur",
"Select a custom color" : "Özel bir renk seçin",
"Reset to default" : "Varsayılanlara dön",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "Yeni oturum açma arka planı yükle",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Yüklenen logo ve renge göre otomatik olarak favicon üretilmesi için Imagemagick PHP eklentisini SVG desteği ile kurun.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Bazı durumlarda klavye kısayolları erişilebilirlik araçlarına etki edebilir. Aracınıza doğru şekilde odaklanmanızı sağlamak için tüm klavye kısayollarını buradan devre dışı bırakabilirsiniz. Bu aynı zamanda uygulamalarda var olan tüm kısayolları da devre dışı bırakır.",
+ "Pick from Files" : "Dosyalardan seçin",
+ "Default image" : "Varsayılan görsel",
+ "Custom color" : "Özel renk",
+ "Plain background" : "Düz arka plan",
+ "Insert from {productName}" : "{productName} üzerinden ekle",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Kopyanızı seçip özelleştirebilmenize rağmen, kullanıcılar arka planlarını ve renklerini değiştirebilir. Özelleştirmeyi dayatmak istiyorsanız, bu kutuyu işaretleyebilirsiniz."
},
"nplurals=2; plural=(n > 1);");
diff --git a/apps/theming/l10n/tr.json b/apps/theming/l10n/tr.json
index 5524c839e5f..a4800e904e0 100644
--- a/apps/theming/l10n/tr.json
+++ b/apps/theming/l10n/tr.json
@@ -74,11 +74,11 @@
"Set a custom background" : "Özel bir arka plan ayarla",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Uygulamalarımızı herkesin kullanabilmesini çok önemsiyoruz. Web standartlarını izleyerek, işlemlerin fare olmadan da yapılabilmesini ve ekran okuyucular gibi yardımcı yazılımların kullanılabilmesini sağlıyoruz. AAA düzeyinde yüksek renk karşıtlığı teması ile AA düzeyinde {guidelines}Web İçeriği Erişilebilirlik Kuralları{linkend} 2.1 ile uyumlu olmayı amaçladık.",
"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}!" : "Bir sorunla karşılaşırsanız, bunları {issuetracker}sorun izleyicimiz{linkend} üzerinden bildirmekten çekinmeyin. Katkıda bulunmak istiyorsanız {designteam}tasarım ekibimize{linkend} katılın!",
- "Pick from Files" : "Dosyalardan seçin",
- "Default image" : "Varsayılan görsel",
- "Custom color" : "Özel renk",
- "Plain background" : "Düz arka plan",
- "Insert from {productName}" : "{productName} üzerinden ekle",
+ "Custom background" : "Özel arka plan",
+ "Default background" : "Varsayılan arka plan",
+ "Change color" : "Rengi değiştir",
+ "Remove background" : "Arka planı kaldır",
+ "Select a background from your files" : "Dosyalarınızdan bir arka plan seçin",
"Theme selection is enforced" : "Tema seçimi zorunludur",
"Select a custom color" : "Özel bir renk seçin",
"Reset to default" : "Varsayılanlara dön",
@@ -94,6 +94,11 @@
"Upload new login background" : "Yeni oturum açma arka planı yükle",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Yüklenen logo ve renge göre otomatik olarak favicon üretilmesi için Imagemagick PHP eklentisini SVG desteği ile kurun.",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "Bazı durumlarda klavye kısayolları erişilebilirlik araçlarına etki edebilir. Aracınıza doğru şekilde odaklanmanızı sağlamak için tüm klavye kısayollarını buradan devre dışı bırakabilirsiniz. Bu aynı zamanda uygulamalarda var olan tüm kısayolları da devre dışı bırakır.",
+ "Pick from Files" : "Dosyalardan seçin",
+ "Default image" : "Varsayılan görsel",
+ "Custom color" : "Özel renk",
+ "Plain background" : "Düz arka plan",
+ "Insert from {productName}" : "{productName} üzerinden ekle",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "Kopyanızı seçip özelleştirebilmenize rağmen, kullanıcılar arka planlarını ve renklerini değiştirebilir. Özelleştirmeyi dayatmak istiyorsanız, bu kutuyu işaretleyebilirsiniz."
},"pluralForm" :"nplurals=2; plural=(n > 1);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/uk.js b/apps/theming/l10n/uk.js
index bb52d0f8886..2a9c2e3510b 100644
--- a/apps/theming/l10n/uk.js
+++ b/apps/theming/l10n/uk.js
@@ -22,7 +22,7 @@ OC.L10N.register(
"No file uploaded" : "Файл не завантажено",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Ви уже використовуєте власну тему. Таким чином налаштування застосунку Оформлення може бути перезаписано.",
"Theming" : "Оформлення",
- "Appearance and accessibility" : "Зовнішній вигляд і доступність",
+ "Appearance and accessibility" : "Вигляд та доступність",
"Dark theme with high contrast mode" : "Темна тема з режимом високої контрастності",
"Enable dark high contrast mode" : "Увімкніть темний режим високої контрастності",
"Similar to the high contrast mode, but with dark colours." : "Подібно до режиму високої контрастності, але з темними кольорами.",
@@ -39,7 +39,7 @@ OC.L10N.register(
"Enable high contrast mode" : "Увімкнути висококонтрастний режим",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Висококонтрастний режим спрощує Вашу навігацію. Візуальна якість буде знижена, але чіткість підвищиться..",
"Light theme" : "Світла тема",
- "Enable the default light theme" : "Увімкніть світлову тему за умовчанням",
+ "Enable the default light theme" : "Увімкніть типову світлу тему",
"The default light appearance." : "Світловий вигляд за замовчуванням.",
"Legal notice" : "Правові застереження",
"Privacy policy" : "Політика конфіденційності",
@@ -53,23 +53,22 @@ OC.L10N.register(
"Color" : "Колір",
"Logo" : "Логотип",
"Upload new logo" : "Завантажити новий логотип",
+ "Background and login image" : "Зображення тла та логотипу авторизації",
+ "Upload new background and login image" : "Завантажити нове зображення тла та логотип сторінки авторизації",
"Legal notice link" : "Посилання на правову інформацію",
"Privacy policy link" : "Посилання на політику конфіденційності",
"Header logo" : "Логотип заголовка",
"Upload new header logo" : "Завантажити новий логотип заголовка",
"Favicon" : "Піктограма сайту",
"Upload new favicon" : "Завантажити нову піктограму",
+ "User settings" : "Користувацькі налаштування",
"Keyboard shortcuts" : "Скорочення",
"Disable all keyboard shortcuts" : "Вимкнути всі комбінації клавіш",
- "Background" : "Фон",
- "Set a custom background" : "Встановити спеціальний фон",
+ "Background" : "Тло",
+ "Set a custom background" : "Встановити спеціальне зображення тла",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Для нас дуже важливо забезпечити доступ для всіх. Ми дотримуємось веб-стандартів і перевіряємо, щоб забезпечити зручність користування без комп'ютерної миші, а також за допомогую допоміжного програмного забезпечення, наприклад, програми зчитування з екрана. Ми прагнемо відповідати {guidelines} Правила доступу до веб-вмісту {linkend} 2.1 на рівні AA, а з темою високої контрастності навіть на рівні AAA.",
"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}!" : "Якщо ви виявите будь-які проблеми, не соромтеся повідомити про них на {issuetracker}нашій системі відстеження проблем{linkend}. І якщо ви хочете взяти участь, приєднуйтесь до {designteam}нашої команди дизайнерів{linkend}!",
- "Pick from Files" : "Виберіть із файлів",
- "Default image" : "Зображення за умовчанням",
- "Custom color" : "Власний колір",
- "Plain background" : "Рівний фон",
- "Insert from {productName}" : "Вставка з {productName}",
+ "Change color" : "Змінити колір",
"Theme selection is enforced" : "Вибір теми виконується примусово",
"Reset to default" : "Скинути до типового",
"Upload" : "Завантажити",
@@ -83,6 +82,11 @@ OC.L10N.register(
"Login image" : "Зображення сторінки входу",
"Upload new login background" : "Завантажити новий фон для сторінки входу",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Встановіть розширення Imagemagick PHP з підтримкою SVG-зображень, щоб автоматично генерувати іконки сайту на основі завантаженого логотипу та кольору.",
- "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах."
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах.",
+ "Pick from Files" : "Виберіть із файлів",
+ "Default image" : "Типове зображення",
+ "Custom color" : "Власний колір",
+ "Plain background" : "Однокольорове тло",
+ "Insert from {productName}" : "Вставка з {productName}"
},
"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);");
diff --git a/apps/theming/l10n/uk.json b/apps/theming/l10n/uk.json
index 6974bdeaffb..f3b7b7841ed 100644
--- a/apps/theming/l10n/uk.json
+++ b/apps/theming/l10n/uk.json
@@ -20,7 +20,7 @@
"No file uploaded" : "Файл не завантажено",
"You are already using a custom theme. Theming app settings might be overwritten by that." : "Ви уже використовуєте власну тему. Таким чином налаштування застосунку Оформлення може бути перезаписано.",
"Theming" : "Оформлення",
- "Appearance and accessibility" : "Зовнішній вигляд і доступність",
+ "Appearance and accessibility" : "Вигляд та доступність",
"Dark theme with high contrast mode" : "Темна тема з режимом високої контрастності",
"Enable dark high contrast mode" : "Увімкніть темний режим високої контрастності",
"Similar to the high contrast mode, but with dark colours." : "Подібно до режиму високої контрастності, але з темними кольорами.",
@@ -37,7 +37,7 @@
"Enable high contrast mode" : "Увімкнути висококонтрастний режим",
"A high contrast mode to ease your navigation. Visual quality will be reduced but clarity will be increased." : "Висококонтрастний режим спрощує Вашу навігацію. Візуальна якість буде знижена, але чіткість підвищиться..",
"Light theme" : "Світла тема",
- "Enable the default light theme" : "Увімкніть світлову тему за умовчанням",
+ "Enable the default light theme" : "Увімкніть типову світлу тему",
"The default light appearance." : "Світловий вигляд за замовчуванням.",
"Legal notice" : "Правові застереження",
"Privacy policy" : "Політика конфіденційності",
@@ -51,23 +51,22 @@
"Color" : "Колір",
"Logo" : "Логотип",
"Upload new logo" : "Завантажити новий логотип",
+ "Background and login image" : "Зображення тла та логотипу авторизації",
+ "Upload new background and login image" : "Завантажити нове зображення тла та логотип сторінки авторизації",
"Legal notice link" : "Посилання на правову інформацію",
"Privacy policy link" : "Посилання на політику конфіденційності",
"Header logo" : "Логотип заголовка",
"Upload new header logo" : "Завантажити новий логотип заголовка",
"Favicon" : "Піктограма сайту",
"Upload new favicon" : "Завантажити нову піктограму",
+ "User settings" : "Користувацькі налаштування",
"Keyboard shortcuts" : "Скорочення",
"Disable all keyboard shortcuts" : "Вимкнути всі комбінації клавіш",
- "Background" : "Фон",
- "Set a custom background" : "Встановити спеціальний фон",
+ "Background" : "Тло",
+ "Set a custom background" : "Встановити спеціальне зображення тла",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Для нас дуже важливо забезпечити доступ для всіх. Ми дотримуємось веб-стандартів і перевіряємо, щоб забезпечити зручність користування без комп'ютерної миші, а також за допомогую допоміжного програмного забезпечення, наприклад, програми зчитування з екрана. Ми прагнемо відповідати {guidelines} Правила доступу до веб-вмісту {linkend} 2.1 на рівні AA, а з темою високої контрастності навіть на рівні AAA.",
"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}!" : "Якщо ви виявите будь-які проблеми, не соромтеся повідомити про них на {issuetracker}нашій системі відстеження проблем{linkend}. І якщо ви хочете взяти участь, приєднуйтесь до {designteam}нашої команди дизайнерів{linkend}!",
- "Pick from Files" : "Виберіть із файлів",
- "Default image" : "Зображення за умовчанням",
- "Custom color" : "Власний колір",
- "Plain background" : "Рівний фон",
- "Insert from {productName}" : "Вставка з {productName}",
+ "Change color" : "Змінити колір",
"Theme selection is enforced" : "Вибір теми виконується примусово",
"Reset to default" : "Скинути до типового",
"Upload" : "Завантажити",
@@ -81,6 +80,11 @@
"Login image" : "Зображення сторінки входу",
"Upload new login background" : "Завантажити новий фон для сторінки входу",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Встановіть розширення Imagemagick PHP з підтримкою SVG-зображень, щоб автоматично генерувати іконки сайту на основі завантаженого логотипу та кольору.",
- "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах."
+ "In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "У деяких випадках комбінації клавіш можуть перешкоджати роботі інструментів спеціальних можливостей. Щоб правильно сфокусуватися на інструменті, тут можна вимкнути всі комбінації клавіш. Це також вимкне всі доступні ярлики в програмах.",
+ "Pick from Files" : "Виберіть із файлів",
+ "Default image" : "Типове зображення",
+ "Custom color" : "Власний колір",
+ "Plain background" : "Однокольорове тло",
+ "Insert from {productName}" : "Вставка з {productName}"
},"pluralForm" :"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);"
} \ No newline at end of file
diff --git a/apps/theming/l10n/vi.js b/apps/theming/l10n/vi.js
index d7529933452..7da21bd9b82 100644
--- a/apps/theming/l10n/vi.js
+++ b/apps/theming/l10n/vi.js
@@ -50,7 +50,6 @@ OC.L10N.register(
"Upload new favicon" : "Tải lên bộ Favicon mới",
"Keyboard shortcuts" : "Phím tắt",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sự truy cập đa dạng là rất quan trọng với chúng tôi. Chúng tôi tuân theo các tiêu chuẩn mạng và kiểm tra để khiến mọi thứ đều có thể sử dụng được ngay cả khi không có chuột, và hỗ trợ những phần mềm hỗ trợ như đọc màn hình. Chúng tôi hướng đến sự tương thích với {guidelines}Nguyên Tắc Truy Cập Cho Nội Dung Mạng{linkend} 2.1 ở cấp độ AA, với chế độ tương phản cao là AAA",
- "Custom color" : "Tùy chỉnh màu",
"Reset to default" : "Đặt lại về mặc định",
"Upload" : "Tải lên",
"Remove background image" : "Xóa bỏ ảnh nền",
@@ -61,6 +60,7 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "Hình ảnh trang đăng nhập",
"Upload new login background" : "Tải lên ảnh nền trang đăng nhập mới",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Cài đặt phần mở rộng PHP Imagemagick với hỗ trợ cho hình ảnh SVG để tự động tạo bộ favicon dựa trên màu và logo được tải lên"
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Cài đặt phần mở rộng PHP Imagemagick với hỗ trợ cho hình ảnh SVG để tự động tạo bộ favicon dựa trên màu và logo được tải lên",
+ "Custom color" : "Tùy chỉnh màu"
},
"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/vi.json b/apps/theming/l10n/vi.json
index 69b13297eaa..d8dce323a7d 100644
--- a/apps/theming/l10n/vi.json
+++ b/apps/theming/l10n/vi.json
@@ -48,7 +48,6 @@
"Upload new favicon" : "Tải lên bộ Favicon mới",
"Keyboard shortcuts" : "Phím tắt",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "Sự truy cập đa dạng là rất quan trọng với chúng tôi. Chúng tôi tuân theo các tiêu chuẩn mạng và kiểm tra để khiến mọi thứ đều có thể sử dụng được ngay cả khi không có chuột, và hỗ trợ những phần mềm hỗ trợ như đọc màn hình. Chúng tôi hướng đến sự tương thích với {guidelines}Nguyên Tắc Truy Cập Cho Nội Dung Mạng{linkend} 2.1 ở cấp độ AA, với chế độ tương phản cao là AAA",
- "Custom color" : "Tùy chỉnh màu",
"Reset to default" : "Đặt lại về mặc định",
"Upload" : "Tải lên",
"Remove background image" : "Xóa bỏ ảnh nền",
@@ -59,6 +58,7 @@
"https://…" : "https://…",
"Login image" : "Hình ảnh trang đăng nhập",
"Upload new login background" : "Tải lên ảnh nền trang đăng nhập mới",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Cài đặt phần mở rộng PHP Imagemagick với hỗ trợ cho hình ảnh SVG để tự động tạo bộ favicon dựa trên màu và logo được tải lên"
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "Cài đặt phần mở rộng PHP Imagemagick với hỗ trợ cho hình ảnh SVG để tự động tạo bộ favicon dựa trên màu và logo được tải lên",
+ "Custom color" : "Tùy chỉnh màu"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/zh_CN.js b/apps/theming/l10n/zh_CN.js
index 9d2fe9ea151..695f4d78adc 100644
--- a/apps/theming/l10n/zh_CN.js
+++ b/apps/theming/l10n/zh_CN.js
@@ -74,11 +74,7 @@ OC.L10N.register(
"Customization has been disabled by your administrator" : "管理员已禁用自定义功能",
"Set a custom background" : "选择自定义背景",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "无障碍访问对我们非常重要。 我们遵循网络标准,并进行检查以确保所有内容都可以在没有鼠标或辅助软件(例如屏幕阅读器)的情况下使用。 我们的目标是达到 {guidelines} Web 内容可访问性指南 {linkend} 2.1 中的 AA 级别,并另外通过高对比度主题达到 AAA 级别。",
- "Pick from Files" : "从文件中挑选",
- "Default image" : "默认图片",
- "Custom color" : "自定义颜色",
- "Plain background" : "纯色背景",
- "Insert from {productName}" : "从 {productName} 插入",
+ "Change color" : "更改颜色",
"Theme selection is enforced" : "主题由管理员指定",
"Select a custom color" : "自定义颜色",
"Reset to default" : "重置为默认设置",
@@ -92,6 +88,11 @@ OC.L10N.register(
"https://…" : "https://…",
"Login image" : "登录图片",
"Upload new login background" : "上传新登录背景",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。"
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。",
+ "Pick from Files" : "从文件中挑选",
+ "Default image" : "默认图片",
+ "Custom color" : "自定义颜色",
+ "Plain background" : "纯色背景",
+ "Insert from {productName}" : "从 {productName} 插入"
},
"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/zh_CN.json b/apps/theming/l10n/zh_CN.json
index 8219c37b7b4..7ca6e65e1fc 100644
--- a/apps/theming/l10n/zh_CN.json
+++ b/apps/theming/l10n/zh_CN.json
@@ -72,11 +72,7 @@
"Customization has been disabled by your administrator" : "管理员已禁用自定义功能",
"Set a custom background" : "选择自定义背景",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "无障碍访问对我们非常重要。 我们遵循网络标准,并进行检查以确保所有内容都可以在没有鼠标或辅助软件(例如屏幕阅读器)的情况下使用。 我们的目标是达到 {guidelines} Web 内容可访问性指南 {linkend} 2.1 中的 AA 级别,并另外通过高对比度主题达到 AAA 级别。",
- "Pick from Files" : "从文件中挑选",
- "Default image" : "默认图片",
- "Custom color" : "自定义颜色",
- "Plain background" : "纯色背景",
- "Insert from {productName}" : "从 {productName} 插入",
+ "Change color" : "更改颜色",
"Theme selection is enforced" : "主题由管理员指定",
"Select a custom color" : "自定义颜色",
"Reset to default" : "重置为默认设置",
@@ -90,6 +86,11 @@
"https://…" : "https://…",
"Login image" : "登录图片",
"Upload new login background" : "上传新登录背景",
- "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。"
+ "Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安装支持 SVG 图像的 PHP 扩展 Imagemagick,以根据上传的 logo 和颜色自动生成图标。",
+ "Pick from Files" : "从文件中挑选",
+ "Default image" : "默认图片",
+ "Custom color" : "自定义颜色",
+ "Plain background" : "纯色背景",
+ "Insert from {productName}" : "从 {productName} 插入"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/zh_HK.js b/apps/theming/l10n/zh_HK.js
index 635f1d245b2..12db31e6403 100644
--- a/apps/theming/l10n/zh_HK.js
+++ b/apps/theming/l10n/zh_HK.js
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "設置自定義背景",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙使用。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到 {guidelines} 網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
"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}!" : "如果您發現任何問題,請在 {issuetracker}我們的問題追蹤系統{linkend} 舉報。而如果您想參與,歡迎加入 {designteam}我們的設計團隊{linked}!",
- "Pick from Files" : "從檔案選取",
- "Default image" : "默認圖像",
- "Custom color" : "自訂顏色",
- "Plain background" : "簡單背景",
- "Insert from {productName}" : "自 {productName} 插入",
+ "Custom background" : "自訂背景",
+ "Default background" : "默認背景",
+ "Change color" : "變更顏色",
+ "Remove background" : "移除背景",
+ "Select a background from your files" : "從您的檔案中選擇背景",
"Theme selection is enforced" : "主題選擇已實施",
"Select a custom color" : "選擇自訂色彩",
"Reset to default" : "恢復預設值",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "上傳新的登入頁背景",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安裝支援 SVG 圖片的 PHP ImageMagick 擴充元件,以上傳的圖示與顏色為基礎生成 favicons。",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "在某些情況下,鍵盤快捷鍵可能會干擾輔助工具。 為了允許正確地專注於您的工具,您可以在此處禁用所有鍵盤快捷鍵。 這還將禁用應用程式中的所有可用快捷方式。",
+ "Pick from Files" : "從檔案選取",
+ "Default image" : "默認圖像",
+ "Custom color" : "自訂顏色",
+ "Plain background" : "簡單背景",
+ "Insert from {productName}" : "自 {productName} 插入",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "雖然您可以選取並自訂您的實例,但用戶仍可以變更他們自己的背景與顏色。若您想要強制執行您的自訂,您可以勾選此勾選框。"
},
"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/zh_HK.json b/apps/theming/l10n/zh_HK.json
index 921cbb8b9f4..e9793b8a9c9 100644
--- a/apps/theming/l10n/zh_HK.json
+++ b/apps/theming/l10n/zh_HK.json
@@ -74,11 +74,11 @@
"Set a custom background" : "設置自定義背景",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙使用。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到 {guidelines} 網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
"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}!" : "如果您發現任何問題,請在 {issuetracker}我們的問題追蹤系統{linkend} 舉報。而如果您想參與,歡迎加入 {designteam}我們的設計團隊{linked}!",
- "Pick from Files" : "從檔案選取",
- "Default image" : "默認圖像",
- "Custom color" : "自訂顏色",
- "Plain background" : "簡單背景",
- "Insert from {productName}" : "自 {productName} 插入",
+ "Custom background" : "自訂背景",
+ "Default background" : "默認背景",
+ "Change color" : "變更顏色",
+ "Remove background" : "移除背景",
+ "Select a background from your files" : "從您的檔案中選擇背景",
"Theme selection is enforced" : "主題選擇已實施",
"Select a custom color" : "選擇自訂色彩",
"Reset to default" : "恢復預設值",
@@ -94,6 +94,11 @@
"Upload new login background" : "上傳新的登入頁背景",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安裝支援 SVG 圖片的 PHP ImageMagick 擴充元件,以上傳的圖示與顏色為基礎生成 favicons。",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "在某些情況下,鍵盤快捷鍵可能會干擾輔助工具。 為了允許正確地專注於您的工具,您可以在此處禁用所有鍵盤快捷鍵。 這還將禁用應用程式中的所有可用快捷方式。",
+ "Pick from Files" : "從檔案選取",
+ "Default image" : "默認圖像",
+ "Custom color" : "自訂顏色",
+ "Plain background" : "簡單背景",
+ "Insert from {productName}" : "自 {productName} 插入",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "雖然您可以選取並自訂您的實例,但用戶仍可以變更他們自己的背景與顏色。若您想要強制執行您的自訂,您可以勾選此勾選框。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/theming/l10n/zh_TW.js b/apps/theming/l10n/zh_TW.js
index 152f0f570be..b205edba2eb 100644
--- a/apps/theming/l10n/zh_TW.js
+++ b/apps/theming/l10n/zh_TW.js
@@ -76,11 +76,11 @@ OC.L10N.register(
"Set a custom background" : "設定自訂背景",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到{guidelines}網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
"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}!" : "如果您發現任何一個問題,請不要猶豫並請在{issuetracker}我們的問題追蹤系統{linkend}回報。而如果您想參與,歡迎加入{designteam}我們的設計團隊{linkend}!",
- "Pick from Files" : "從檔案選取",
- "Default image" : "預設影像",
- "Custom color" : "自訂顏色",
- "Plain background" : "簡單背景",
- "Insert from {productName}" : "插入自 {productName}",
+ "Custom background" : "自訂背景",
+ "Default background" : "預設背景",
+ "Change color" : "變更顏色",
+ "Remove background" : "移除背景",
+ "Select a background from your files" : "從您的檔案中選取背景",
"Theme selection is enforced" : "強制佈景主題選取",
"Select a custom color" : "選取自訂色彩",
"Reset to default" : "恢復預設值",
@@ -96,6 +96,11 @@ OC.L10N.register(
"Upload new login background" : "上傳新的登入頁面背景",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安裝支援 SVG 圖片的 PHP ImageMagick 擴充元件,以上傳的圖示與顏色為基礎生成 favicons。",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "在某些情況下,鍵盤快捷鍵可能會干擾無障礙工具。為了可以正確地將焦點置於您的工具,您可以在此處停用所有鍵盤快捷鍵。這也會停用應用程式中的所有可用的快捷鍵。",
+ "Pick from Files" : "從檔案選取",
+ "Default image" : "預設影像",
+ "Custom color" : "自訂顏色",
+ "Plain background" : "簡單背景",
+ "Insert from {productName}" : "插入自 {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "雖然您可以選取並自訂您的站台,但使用者仍可以變更他們自己的背景與顏色。若您想要強制執行您的自訂,您可以勾選此核取方塊。"
},
"nplurals=1; plural=0;");
diff --git a/apps/theming/l10n/zh_TW.json b/apps/theming/l10n/zh_TW.json
index 2942159f392..da299115fd5 100644
--- a/apps/theming/l10n/zh_TW.json
+++ b/apps/theming/l10n/zh_TW.json
@@ -74,11 +74,11 @@
"Set a custom background" : "設定自訂背景",
"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 {guidelines}Web Content Accessibility Guidelines{linkend} 2.1 on AA level, with the high contrast theme even on AAA level." : "我們非常重視無障礙存取。我們遵循網路標準,並透過檢查來確保所有內容皆可在沒有滑鼠或輔助軟體(例如螢幕閱讀器)的情況下使用。我們目標是能達到{guidelines}網頁內容可及性指引{linkend} 2.1 版的 AA 等級,加上高對比度主題甚至還能到 AAA 等級。",
"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}!" : "如果您發現任何一個問題,請不要猶豫並請在{issuetracker}我們的問題追蹤系統{linkend}回報。而如果您想參與,歡迎加入{designteam}我們的設計團隊{linkend}!",
- "Pick from Files" : "從檔案選取",
- "Default image" : "預設影像",
- "Custom color" : "自訂顏色",
- "Plain background" : "簡單背景",
- "Insert from {productName}" : "插入自 {productName}",
+ "Custom background" : "自訂背景",
+ "Default background" : "預設背景",
+ "Change color" : "變更顏色",
+ "Remove background" : "移除背景",
+ "Select a background from your files" : "從您的檔案中選取背景",
"Theme selection is enforced" : "強制佈景主題選取",
"Select a custom color" : "選取自訂色彩",
"Reset to default" : "恢復預設值",
@@ -94,6 +94,11 @@
"Upload new login background" : "上傳新的登入頁面背景",
"Install the Imagemagick PHP extension with support for SVG images to automatically generate favicons based on the uploaded logo and color." : "安裝支援 SVG 圖片的 PHP ImageMagick 擴充元件,以上傳的圖示與顏色為基礎生成 favicons。",
"In some cases keyboard shortcuts can interfer with accessibility tools. In order to allow focusing on your tool correctly you can disable all keyboard shortcuts here. This will also disable all available shortcuts in apps." : "在某些情況下,鍵盤快捷鍵可能會干擾無障礙工具。為了可以正確地將焦點置於您的工具,您可以在此處停用所有鍵盤快捷鍵。這也會停用應用程式中的所有可用的快捷鍵。",
+ "Pick from Files" : "從檔案選取",
+ "Default image" : "預設影像",
+ "Custom color" : "自訂顏色",
+ "Plain background" : "簡單背景",
+ "Insert from {productName}" : "插入自 {productName}",
"Although you can select and customize your instance, users can change their background and colors. If you want to enforce your customization, you can check this box." : "雖然您可以選取並自訂您的站台,但使用者仍可以變更他們自己的背景與顏色。若您想要強制執行您的自訂,您可以勾選此核取方塊。"
},"pluralForm" :"nplurals=1; plural=0;"
} \ No newline at end of file
diff --git a/apps/theming/lib/Command/UpdateConfig.php b/apps/theming/lib/Command/UpdateConfig.php
index c327c92492f..58dfcff8a8e 100644
--- a/apps/theming/lib/Command/UpdateConfig.php
+++ b/apps/theming/lib/Command/UpdateConfig.php
@@ -36,10 +36,6 @@ class UpdateConfig extends Command {
'name', 'url', 'imprintUrl', 'privacyUrl', 'slogan', 'color', 'disable-user-theming'
];
- public const SUPPORTED_IMAGE_KEYS = [
- 'background', 'logo', 'favicon', 'logoheader'
- ];
-
private $themingDefaults;
private $imageManager;
private $config;
@@ -87,14 +83,14 @@ class UpdateConfig extends Command {
$value = $this->config->getAppValue('theming', $key, '');
$output->writeln('- ' . $key . ': ' . $value . '');
}
- foreach (self::SUPPORTED_IMAGE_KEYS as $key) {
+ foreach (ImageManager::SUPPORTED_IMAGE_KEYS as $key) {
$value = $this->config->getAppValue('theming', $key . 'Mime', '');
$output->writeln('- ' . $key . ': ' . $value . '');
}
return 0;
}
- if (!in_array($key, self::SUPPORTED_KEYS, true) && !in_array($key, self::SUPPORTED_IMAGE_KEYS, true)) {
+ if (!in_array($key, self::SUPPORTED_KEYS, true) && !in_array($key, ImageManager::SUPPORTED_IMAGE_KEYS, true)) {
$output->writeln('<error>Invalid config key provided</error>');
return 1;
}
@@ -115,7 +111,7 @@ class UpdateConfig extends Command {
return 0;
}
- if (in_array($key, self::SUPPORTED_IMAGE_KEYS, true)) {
+ if (in_array($key, ImageManager::SUPPORTED_IMAGE_KEYS, true)) {
if (strpos($value, '/') !== 0) {
$output->writeln('<error>The image file needs to be provided as an absolute path: ' . $value . '.</error>');
return 1;
diff --git a/apps/theming/lib/Controller/IconController.php b/apps/theming/lib/Controller/IconController.php
index 173b5210394..08ee71ac660 100644
--- a/apps/theming/lib/Controller/IconController.php
+++ b/apps/theming/lib/Controller/IconController.php
@@ -86,16 +86,17 @@ class IconController extends Controller {
* @throws \Exception
*/
public function getThemedIcon(string $app, string $image): Response {
+ $color = $this->themingDefaults->getColorPrimary();
try {
- $iconFile = $this->imageManager->getCachedImage('icon-' . $app . '-' . str_replace('/', '_',$image));
+ $iconFileName = $this->imageManager->getCachedImage('icon-' . $app . '-' . $color . str_replace('/', '_', $image));
} catch (NotFoundException $exception) {
$icon = $this->iconBuilder->colorSvg($app, $image);
if ($icon === false || $icon === '') {
return new NotFoundResponse();
}
- $iconFile = $this->imageManager->setCachedImage('icon-' . $app . '-' . str_replace('/', '_',$image), $icon);
+ $iconFileName = $this->imageManager->setCachedImage('icon-' . $app . '-' . $color . str_replace('/', '_', $image), $icon);
}
- $response = new FileDisplayResponse($iconFile, Http::STATUS_OK, ['Content-Type' => 'image/svg+xml']);
+ $response = new FileDisplayResponse($iconFileName, Http::STATUS_OK, ['Content-Type' => 'image/svg+xml']);
$response->cacheFor(86400, false, true);
return $response;
}
diff --git a/apps/theming/lib/Controller/ThemingController.php b/apps/theming/lib/Controller/ThemingController.php
index 2cac9a345a4..8868208197d 100644
--- a/apps/theming/lib/Controller/ThemingController.php
+++ b/apps/theming/lib/Controller/ThemingController.php
@@ -276,6 +276,27 @@ class ThemingController extends Controller {
}
/**
+ * Revert all theming settings to their default values
+ * @AuthorizedAdminSetting(settings=OCA\Theming\Settings\Admin)
+ *
+ * @return DataResponse
+ * @throws NotPermittedException
+ */
+ public function undoAll(): DataResponse {
+ $this->themingDefaults->undoAll();
+
+ return new DataResponse(
+ [
+ 'data' =>
+ [
+ 'message' => $this->l10n->t('Saved'),
+ ],
+ 'status' => 'success'
+ ]
+ );
+ }
+
+ /**
* @PublicPage
* @NoCSRFRequired
* @NoSameSiteCookieRequired
diff --git a/apps/theming/lib/Controller/UserThemeController.php b/apps/theming/lib/Controller/UserThemeController.php
index 635dad34736..6a58366c4f6 100644
--- a/apps/theming/lib/Controller/UserThemeController.php
+++ b/apps/theming/lib/Controller/UserThemeController.php
@@ -50,16 +50,14 @@ use OCP\PreConditionNotMetException;
class UserThemeController extends OCSController {
- protected string $userId;
+ protected ?string $userId = null;
+
private IConfig $config;
private IUserSession $userSession;
private ThemesService $themesService;
private ThemingDefaults $themingDefaults;
private BackgroundService $backgroundService;
- /**
- * Config constructor.
- */
public function __construct(string $appName,
IRequest $request,
IConfig $config,
@@ -73,7 +71,11 @@ class UserThemeController extends OCSController {
$this->themesService = $themesService;
$this->themingDefaults = $themingDefaults;
$this->backgroundService = $backgroundService;
- $this->userId = $userSession->getUser()->getUID();
+
+ $user = $userSession->getUser();
+ if ($user !== null) {
+ $this->userId = $user->getUID();
+ }
}
/**
@@ -155,25 +157,44 @@ class UserThemeController extends OCSController {
/**
* @NoAdminRequired
*/
- public function setBackground(string $type = 'default', string $value = ''): JSONResponse {
+ public function deleteBackground(): JSONResponse {
+ $currentVersion = (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'userCacheBuster', '0');
+ $this->backgroundService->deleteBackgroundImage();
+ return new JSONResponse([
+ 'backgroundImage' => null,
+ 'backgroundColor' => $this->themingDefaults->getColorPrimary(),
+ 'version' => $currentVersion,
+ ]);
+ }
+
+ /**
+ * @NoAdminRequired
+ */
+ public function setBackground(string $type = BackgroundService::BACKGROUND_DEFAULT, string $value = '', string $color = null): JSONResponse {
$currentVersion = (int)$this->config->getUserValue($this->userId, Application::APP_ID, 'userCacheBuster', '0');
+ // Set color if provided
+ if ($color) {
+ $this->backgroundService->setColorBackground($color);
+ }
+
+ // Set background image if provided
try {
switch ($type) {
- case 'shipped':
+ case BackgroundService::BACKGROUND_SHIPPED:
$this->backgroundService->setShippedBackground($value);
break;
- case 'custom':
+ case BackgroundService::BACKGROUND_CUSTOM:
$this->backgroundService->setFileBackground($value);
break;
- case 'color':
- $this->backgroundService->setColorBackground($value);
- break;
- case 'default':
+ case BackgroundService::BACKGROUND_DEFAULT:
+ // Delete both background and color keys
$this->backgroundService->setDefaultBackground();
break;
default:
- return new JSONResponse(['error' => 'Invalid type provided'], Http::STATUS_BAD_REQUEST);
+ if (!$color) {
+ return new JSONResponse(['error' => 'Invalid type provided'], Http::STATUS_BAD_REQUEST);
+ }
}
} catch (\InvalidArgumentException $e) {
return new JSONResponse(['error' => $e->getMessage()], Http::STATUS_BAD_REQUEST);
@@ -185,8 +206,8 @@ class UserThemeController extends OCSController {
$this->config->setUserValue($this->userId, Application::APP_ID, 'userCacheBuster', (string)$currentVersion);
return new JSONResponse([
- 'type' => $type,
- 'value' => $value,
+ 'backgroundImage' => $this->config->getUserValue($this->userId, Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT),
+ 'backgroundColor' => $this->themingDefaults->getColorPrimary(),
'version' => $currentVersion,
]);
}
diff --git a/apps/theming/lib/ImageManager.php b/apps/theming/lib/ImageManager.php
index 88a733580fc..f7b0c12844a 100644
--- a/apps/theming/lib/ImageManager.php
+++ b/apps/theming/lib/ImageManager.php
@@ -33,6 +33,8 @@
*/
namespace OCA\Theming;
+use OCA\Theming\AppInfo\Application;
+use OCA\Theming\Service\BackgroundService;
use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
@@ -45,7 +47,7 @@ use OCP\ITempManager;
use OCP\IURLGenerator;
class ImageManager {
- public const SupportedImageKeys = ['background', 'logo', 'logoheader', 'favicon'];
+ public const SUPPORTED_IMAGE_KEYS = ['background', 'logo', 'logoheader', 'favicon'];
/** @var IConfig */
private $config;
@@ -74,8 +76,14 @@ class ImageManager {
$this->appData = $appData;
}
- public function getImageUrl(string $key, bool $useSvg = true): string {
- $cacheBusterCounter = $this->config->getAppValue('theming', 'cachebuster', '0');
+ /**
+ * Get a globally defined image (admin theming settings)
+ *
+ * @param string $key the image key
+ * @return string the image url
+ */
+ public function getImageUrl(string $key): string {
+ $cacheBusterCounter = $this->config->getAppValue(Application::APP_ID, 'cachebuster', '0');
if ($this->hasImage($key)) {
return $this->urlGenerator->linkToRoute('theming.Theming.getImage', [ 'key' => $key ]) . '?v=' . $cacheBusterCounter;
}
@@ -86,13 +94,16 @@ class ImageManager {
case 'favicon':
return $this->urlGenerator->imagePath('core', 'logo/logo.png') . '?v=' . $cacheBusterCounter;
case 'background':
- return $this->urlGenerator->imagePath('core', 'background.png') . '?v=' . $cacheBusterCounter;
+ return $this->urlGenerator->linkTo(Application::APP_ID, 'img/background/' . BackgroundService::DEFAULT_BACKGROUND_IMAGE);
}
return '';
}
- public function getImageUrlAbsolute(string $key, bool $useSvg = true): string {
- return $this->urlGenerator->getAbsoluteURL($this->getImageUrl($key, $useSvg));
+ /**
+ * Get the absolute url. See getImageUrl
+ */
+ public function getImageUrlAbsolute(string $key): string {
+ return $this->urlGenerator->getAbsoluteURL($this->getImageUrl($key));
}
/**
@@ -137,6 +148,20 @@ class ImageManager {
}
/**
+ * @return array<string, array{mime: string, url: string}>
+ */
+ public function getCustomImages(): array {
+ $images = [];
+ foreach (self::SUPPORTED_IMAGE_KEYS as $key) {
+ $images[$key] = [
+ 'mime' => $this->config->getAppValue('theming', $key . 'Mime', ''),
+ 'url' => $this->getImageUrl($key),
+ ];
+ }
+ return $images;
+ }
+
+ /**
* Get folder for current theming files
*
* @return ISimpleFolder
diff --git a/apps/theming/lib/Jobs/MigrateBackgroundImages.php b/apps/theming/lib/Jobs/MigrateBackgroundImages.php
index b816a4c8775..54c0d591e40 100644
--- a/apps/theming/lib/Jobs/MigrateBackgroundImages.php
+++ b/apps/theming/lib/Jobs/MigrateBackgroundImages.php
@@ -27,56 +27,96 @@ declare(strict_types=1);
namespace OCA\Theming\Jobs;
use OCA\Theming\AppInfo\Application;
-use OCP\App\IAppManager;
use OCP\AppFramework\Utility\ITimeFactory;
use OCP\BackgroundJob\IJobList;
use OCP\BackgroundJob\QueuedJob;
use OCP\Files\AppData\IAppDataFactory;
+use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
use OCP\Files\NotPermittedException;
use OCP\Files\SimpleFS\ISimpleFolder;
-use OCP\IConfig;
+use OCP\IDBConnection;
+use Psr\Log\LoggerInterface;
class MigrateBackgroundImages extends QueuedJob {
public const TIME_SENSITIVE = 0;
- private IConfig $config;
- private IAppManager $appManager;
+ public const STAGE_PREPARE = 'prepare';
+ public const STAGE_EXECUTE = 'execute';
+ // will be saved in appdata/theming/global/
+ protected const STATE_FILE_NAME = '25_dashboard_to_theming_migration_users.json';
+
private IAppDataFactory $appDataFactory;
private IJobList $jobList;
-
- public function __construct(ITimeFactory $time, IAppDataFactory $appDataFactory, IConfig $config, IAppManager $appManager, IJobList $jobList) {
+ private IDBConnection $dbc;
+ private IAppData $appData;
+ private LoggerInterface $logger;
+
+ public function __construct(
+ ITimeFactory $time,
+ IAppDataFactory $appDataFactory,
+ IJobList $jobList,
+ IDBConnection $dbc,
+ IAppData $appData,
+ LoggerInterface $logger
+ ) {
parent::__construct($time);
- $this->config = $config;
- $this->appManager = $appManager;
$this->appDataFactory = $appDataFactory;
$this->jobList = $jobList;
+ $this->dbc = $dbc;
+ $this->appData = $appData;
+ $this->logger = $logger;
}
protected function run($argument): void {
- if (!$this->appManager->isEnabledForUser('dashboard')) {
- return;
+ if (!isset($argument['stage'])) {
+ // not executed in 25.0.0?!
+ $argument['stage'] = self::STAGE_PREPARE;
}
- $dashboardData = $this->appDataFactory->get('dashboard');
+ switch ($argument['stage']) {
+ case self::STAGE_PREPARE:
+ $this->runPreparation();
+ break;
+ case self::STAGE_EXECUTE:
+ $this->runMigration();
+ break;
+ default:
+ break;
+ }
+ }
- $userIds = $this->config->getUsersForUserValue('theming', 'background', 'custom');
+ protected function runPreparation(): void {
+ try {
+ $selector = $this->dbc->getQueryBuilder();
+ $result = $selector->select('userid')
+ ->from('preferences')
+ ->where($selector->expr()->eq('appid', $selector->createNamedParameter('theming')))
+ ->andWhere($selector->expr()->eq('configkey', $selector->createNamedParameter('background')))
+ ->andWhere($selector->expr()->eq('configvalue', $selector->createNamedParameter('custom')))
+ ->executeQuery();
+
+ $userIds = $result->fetchAll(\PDO::FETCH_COLUMN);
+ $this->storeUserIdsToProcess($userIds);
+ } catch (\Throwable $t) {
+ $this->jobList->add(self::class, self::STAGE_PREPARE);
+ throw $t;
+ }
+ $this->jobList->add(self::class, self::STAGE_EXECUTE);
+ }
- $notSoFastMode = \count($userIds) > 5000;
- $reTrigger = false;
- $processed = 0;
+ /**
+ * @throws NotPermittedException
+ * @throws NotFoundException
+ */
+ protected function runMigration(): void {
+ $allUserIds = $this->readUserIdsToProcess();
+ $notSoFastMode = count($allUserIds) > 5000;
+ $dashboardData = $this->appDataFactory->get('dashboard');
+ $userIds = $notSoFastMode ? array_slice($allUserIds, 0, 5000) : $allUserIds;
foreach ($userIds as $userId) {
try {
- // precondition
- if ($notSoFastMode) {
- if ($this->config->getUserValue($userId, 'theming', 'background-migrated', '0') === '1') {
- // already migrated
- continue;
- }
- $reTrigger = true;
- }
-
// migration
$file = $dashboardData->getFolder($userId)->getFile('background.jpg');
$targetDir = $this->getUserFolder($userId);
@@ -87,18 +127,82 @@ class MigrateBackgroundImages extends QueuedJob {
$file->delete();
} catch (NotFoundException|NotPermittedException $e) {
}
- // capture state
- if ($notSoFastMode) {
- $this->config->setUserValue($userId, 'theming', 'background-migrated', '1');
- $processed++;
+ }
+
+ if ($notSoFastMode) {
+ $remainingUserIds = array_slice($allUserIds, 5000);
+ $this->storeUserIdsToProcess($remainingUserIds);
+ $this->jobList->add(self::class, ['stage' => self::STAGE_EXECUTE]);
+ } else {
+ $this->deleteStateFile();
+ }
+ }
+
+ /**
+ * @throws NotPermittedException
+ * @throws NotFoundException
+ */
+ protected function readUserIdsToProcess(): array {
+ $globalFolder = $this->appData->getFolder('global');
+ if ($globalFolder->fileExists(self::STATE_FILE_NAME)) {
+ $file = $globalFolder->getFile(self::STATE_FILE_NAME);
+ try {
+ $userIds = \json_decode($file->getContent(), true);
+ } catch (NotFoundException $e) {
+ $userIds = [];
}
- if ($processed > 4999) {
- break;
+ if ($userIds === null) {
+ $userIds = [];
}
+ } else {
+ $userIds = [];
}
+ return $userIds;
+ }
- if ($reTrigger) {
- $this->jobList->add(self::class);
+ /**
+ * @throws NotFoundException
+ */
+ protected function storeUserIdsToProcess(array $userIds): void {
+ $storableUserIds = \json_encode($userIds);
+ $globalFolder = $this->appData->getFolder('global');
+ try {
+ if ($globalFolder->fileExists(self::STATE_FILE_NAME)) {
+ $file = $globalFolder->getFile(self::STATE_FILE_NAME);
+ } else {
+ $file = $globalFolder->newFile(self::STATE_FILE_NAME);
+ }
+ $file->putContent($storableUserIds);
+ } catch (NotFoundException $e) {
+ } catch (NotPermittedException $e) {
+ $this->logger->warning('Lacking permissions to create {file}',
+ [
+ 'app' => 'theming',
+ 'file' => self::STATE_FILE_NAME,
+ 'exception' => $e,
+ ]
+ );
+ }
+ }
+
+ /**
+ * @throws NotFoundException
+ */
+ protected function deleteStateFile(): void {
+ $globalFolder = $this->appData->getFolder('global');
+ if ($globalFolder->fileExists(self::STATE_FILE_NAME)) {
+ $file = $globalFolder->getFile(self::STATE_FILE_NAME);
+ try {
+ $file->delete();
+ } catch (NotPermittedException $e) {
+ $this->logger->info('Could not delete {file} due to permissions. It is safe to delete manually inside data -> appdata -> theming -> global.',
+ [
+ 'app' => 'theming',
+ 'file' => $file->getName(),
+ 'exception' => $e,
+ ]
+ );
+ }
}
}
diff --git a/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php b/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php
index a6e0923e643..380527ee024 100644
--- a/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php
+++ b/apps/theming/lib/Listener/BeforeTemplateRenderedListener.php
@@ -84,16 +84,32 @@ class BeforeTemplateRenderedListener implements IEventListener {
if (!empty($user)) {
$userId = $user->getUID();
+ /** User background */
$this->initialState->provideInitialState(
- 'background',
- $this->config->getUserValue($userId, Application::APP_ID, 'background', 'default'),
+ 'backgroundImage',
+ $this->config->getUserValue($userId, Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT),
);
+ /** User color */
+ $this->initialState->provideInitialState(
+ 'backgroundColor',
+ $this->config->getUserValue($userId, Application::APP_ID, 'background_color', BackgroundService::DEFAULT_COLOR),
+ );
+
+ /**
+ * Admin background. `backgroundColor` if disabled,
+ * mime type if defined and empty by default
+ */
$this->initialState->provideInitialState(
'themingDefaultBackground',
$this->config->getAppValue('theming', 'backgroundMime', ''),
);
+ $this->initialState->provideInitialState(
+ 'defaultShippedBackground',
+ BackgroundService::DEFAULT_BACKGROUND_IMAGE,
+ );
+ /** List of all shipped backgrounds */
$this->initialState->provideInitialState(
'shippedBackgrounds',
BackgroundService::SHIPPED_BACKGROUNDS,
diff --git a/apps/theming/lib/Migration/InitBackgroundImagesMigration.php b/apps/theming/lib/Migration/InitBackgroundImagesMigration.php
index c23a9176843..ff8783196ac 100644
--- a/apps/theming/lib/Migration/InitBackgroundImagesMigration.php
+++ b/apps/theming/lib/Migration/InitBackgroundImagesMigration.php
@@ -43,6 +43,6 @@ class InitBackgroundImagesMigration implements \OCP\Migration\IRepairStep {
}
public function run(IOutput $output) {
- $this->jobList->add(MigrateBackgroundImages::class);
+ $this->jobList->add(MigrateBackgroundImages::class, ['stage' => MigrateBackgroundImages::STAGE_PREPARE]);
}
}
diff --git a/apps/theming/lib/Service/BackgroundService.php b/apps/theming/lib/Service/BackgroundService.php
index 3daac7e7215..4879ad1cbad 100644
--- a/apps/theming/lib/Service/BackgroundService.php
+++ b/apps/theming/lib/Service/BackgroundService.php
@@ -30,7 +30,7 @@ namespace OCA\Theming\Service;
use InvalidArgumentException;
use OC\User\NoUserException;
use OCA\Theming\AppInfo\Application;
-use OCP\Files\AppData\IAppDataFactory;
+use OCA\Theming\ThemingDefaults;
use OCP\Files\File;
use OCP\Files\IAppData;
use OCP\Files\IRootFolder;
@@ -46,8 +46,14 @@ class BackgroundService {
// true when the background is bright and need dark icons
public const THEMING_MODE_DARK = 'dark';
public const DEFAULT_COLOR = '#0082c9';
- public const DEFAULT_ACCESSIBLE_COLOR = '#00639a';
+ public const DEFAULT_ACCESSIBLE_COLOR = '#006aa3';
+ public const BACKGROUND_SHIPPED = 'shipped';
+ public const BACKGROUND_CUSTOM = 'custom';
+ public const BACKGROUND_DEFAULT = 'default';
+ public const BACKGROUND_DISABLED = 'disabled';
+
+ public const DEFAULT_BACKGROUND_IMAGE = 'kamil-porembinski-clouds.jpg';
public const SHIPPED_BACKGROUNDS = [
'anatoly-mikhaltsov-butterfly-wing-scale.jpg' => [
'attribution' => 'Butterfly wing scale (Anatoly Mikhaltsov, CC BY-SA)',
@@ -134,13 +140,13 @@ class BackgroundService {
private IAppData $appData;
private IConfig $config;
private string $userId;
- private IAppDataFactory $appDataFactory;
+ private ThemingDefaults $themingDefaults;
public function __construct(IRootFolder $rootFolder,
IAppData $appData,
IConfig $config,
?string $userId,
- IAppDataFactory $appDataFactory) {
+ ThemingDefaults $themingDefaults) {
if ($userId === null) {
return;
}
@@ -149,11 +155,12 @@ class BackgroundService {
$this->config = $config;
$this->userId = $userId;
$this->appData = $appData;
- $this->appDataFactory = $appDataFactory;
+ $this->themingDefaults = $themingDefaults;
}
public function setDefaultBackground(): void {
- $this->config->deleteUserValue($this->userId, Application::APP_ID, 'background');
+ $this->config->deleteUserValue($this->userId, Application::APP_ID, 'background_image');
+ $this->config->deleteUserValue($this->userId, Application::APP_ID, 'background_color');
}
/**
@@ -165,7 +172,7 @@ class BackgroundService {
* @throws NoUserException
*/
public function setFileBackground($path): void {
- $this->config->setUserValue($this->userId, Application::APP_ID, 'background', 'custom');
+ $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_CUSTOM);
$userFolder = $this->rootFolder->getUserFolder($this->userId);
/** @var File $file */
@@ -183,27 +190,28 @@ class BackgroundService {
if (!array_key_exists($fileName, self::SHIPPED_BACKGROUNDS)) {
throw new InvalidArgumentException('The given file name is invalid');
}
- $this->config->setUserValue($this->userId, Application::APP_ID, 'background', $fileName);
+ $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', $fileName);
+ $this->setColorBackground(self::SHIPPED_BACKGROUNDS[$fileName]['primary_color']);
}
public function setColorBackground(string $color): void {
if (!preg_match('/^#([0-9a-f]{3}|[0-9a-f]{6})$/i', $color)) {
throw new InvalidArgumentException('The given color is invalid');
}
- $this->config->setUserValue($this->userId, Application::APP_ID, 'background', $color);
+ $this->config->setUserValue($this->userId, Application::APP_ID, 'background_color', $color);
+ }
+
+ public function deleteBackgroundImage(): void {
+ $this->config->setUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_DISABLED);
}
public function getBackground(): ?ISimpleFile {
- $background = $this->config->getUserValue($this->userId, Application::APP_ID, 'background', 'default');
- if ($background === 'custom') {
+ $background = $this->config->getUserValue($this->userId, Application::APP_ID, 'background_image', self::BACKGROUND_DEFAULT);
+ if ($background === self::BACKGROUND_CUSTOM) {
try {
return $this->getAppDataFolder()->getFile('background.jpg');
} catch (NotFoundException | NotPermittedException $e) {
- try {
- // Fallback can be removed in 26
- $dashboardFolder = $this->appDataFactory->get('dashboard');
- return $dashboardFolder->getFolder($this->userId)->getFile('background.jpg');
- } catch (\Throwable $t) {}
+ return null;
}
}
return null;
diff --git a/apps/theming/lib/Service/JSDataService.php b/apps/theming/lib/Service/JSDataService.php
index 26cda8c0012..90acd74b868 100644
--- a/apps/theming/lib/Service/JSDataService.php
+++ b/apps/theming/lib/Service/JSDataService.php
@@ -59,7 +59,7 @@ class JSDataService implements \JsonSerializable {
'imprintUrl' => $this->themingDefaults->getImprintUrl(),
'privacyUrl' => $this->themingDefaults->getPrivacyUrl(),
'inverted' => $this->util->invertTextColor($this->themingDefaults->getColorPrimary()),
- 'cacheBuster' => $this->appConfig->getAppValue(Application::APP_ID, 'cachebuster', '0'),
+ 'cacheBuster' => $this->util->getCacheBuster(),
'enabledThemes' => $this->themesService->getEnabledThemes(),
];
}
diff --git a/apps/theming/lib/Service/ThemeInjectionService.php b/apps/theming/lib/Service/ThemeInjectionService.php
index 27b65457e7f..8e55f614146 100644
--- a/apps/theming/lib/Service/ThemeInjectionService.php
+++ b/apps/theming/lib/Service/ThemeInjectionService.php
@@ -24,27 +24,30 @@ namespace OCA\Theming\Service;
use OCA\Theming\AppInfo\Application;
use OCA\Theming\Themes\DefaultTheme;
+use OCA\Theming\Util;
use OCP\IConfig;
use OCP\IURLGenerator;
use OCP\IUserSession;
-use OCP\Util;
class ThemeInjectionService {
private IURLGenerator $urlGenerator;
private ThemesService $themesService;
private DefaultTheme $defaultTheme;
+ private Util $util;
private IConfig $config;
private ?string $userId;
public function __construct(IURLGenerator $urlGenerator,
ThemesService $themesService,
DefaultTheme $defaultTheme,
+ Util $util,
IConfig $config,
IUserSession $userSession) {
$this->urlGenerator = $urlGenerator;
$this->themesService = $themesService;
$this->defaultTheme = $defaultTheme;
+ $this->util = $util;
$this->config = $config;
if ($userSession->getUser() !== null) {
$this->userId = $userSession->getUser()->getUID();
@@ -87,20 +90,12 @@ class ThemeInjectionService {
* @param string $media media query to use in the <link> element
*/
private function addThemeHeader(string $themeId, bool $plain = true, string $media = null) {
- $cacheBuster = $this->config->getAppValue('theming', 'cachebuster', '0');
- if ($this->userId !== null) {
- // need to bust the cache for the CSS file when the user background changed as its
- // URL is served in those files
- $userCacheBuster = $this->config->getUserValue($this->userId, Application::APP_ID, 'userCacheBuster', '0');
- $cacheBuster .= $this->userId . '_' . $userCacheBuster;
- }
-
$linkToCSS = $this->urlGenerator->linkToRoute('theming.Theming.getThemeStylesheet', [
'themeId' => $themeId,
'plain' => $plain,
- 'v' => substr(sha1($cacheBuster), 0, 8),
+ 'v' => $this->util->getCacheBuster(),
]);
- Util::addHeader('link', [
+ \OCP\Util::addHeader('link', [
'rel' => 'stylesheet',
'media' => $media,
'href' => $linkToCSS,
diff --git a/apps/theming/lib/Themes/CommonThemeTrait.php b/apps/theming/lib/Themes/CommonThemeTrait.php
index 360c335fc7d..17591c232bb 100644
--- a/apps/theming/lib/Themes/CommonThemeTrait.php
+++ b/apps/theming/lib/Themes/CommonThemeTrait.php
@@ -24,10 +24,10 @@ declare(strict_types=1);
*/
namespace OCA\Theming\Themes;
-use OCA\Theming\AppInfo\Application;
+use OCA\Theming\Util;
use OCA\Theming\ImageManager;
+use OCA\Theming\AppInfo\Application;
use OCA\Theming\Service\BackgroundService;
-use OCA\Theming\Util;
trait CommonThemeTrait {
public Util $util;
@@ -82,34 +82,30 @@ trait CommonThemeTrait {
* Generate admin theming background-related variables
*/
protected function generateGlobalBackgroundVariables(): array {
- $user = $this->userSession->getUser();
$backgroundDeleted = $this->config->getAppValue(Application::APP_ID, 'backgroundMime', '') === 'backgroundColor';
$hasCustomLogoHeader = $this->util->isLogoThemed();
+ $isDefaultPrimaryBright = $this->util->invertTextColor($this->defaultPrimaryColor);
$variables = [];
+ // Default last fallback values
+ $variables['--image-background-default'] = "url('" . $this->themingDefaults->getBackground() . "')";
+ $variables['--color-background-plain'] = $this->defaultPrimaryColor;
+
// If primary as background has been request or if we have a custom primary colour
// let's not define the background image
if ($backgroundDeleted) {
- $variables['--color-background-plain'] = $this->themingDefaults->getColorPrimary();
- if ($this->themingDefaults->isUserThemingDisabled() || $user === null) {
- $variables['--image-background-plain'] = 'true';
- }
+ $variables['--color-background-plain'] = $this->defaultPrimaryColor;
+ $variables['--image-background-plain'] = 'yes';
+ // If no background image is set, we need to check against the shown primary colour
+ $variables['--background-image-invert-if-bright'] = $isDefaultPrimaryBright ? 'invert(100%)' : 'no';
}
// Register image variables only if custom-defined
- foreach (ImageManager::SupportedImageKeys as $image) {
+ foreach (ImageManager::SUPPORTED_IMAGE_KEYS as $image) {
if ($this->imageManager->hasImage($image)) {
$imageUrl = $this->imageManager->getImageUrl($image);
- if ($image === 'background') {
- // If background deleted is set, ignoring variable
- if ($backgroundDeleted) {
- $variables['--image-background-default'] = 'no';
- continue;
- }
- $variables['--image-background-size'] = 'cover';
- $variables['--image-background-default'] = "url('" . $imageUrl . "')";
- }
+ // --image-background is overridden by user theming
$variables["--image-$image"] = "url('" . $imageUrl . "')";
}
}
@@ -129,32 +125,35 @@ trait CommonThemeTrait {
if ($user !== null
&& !$this->themingDefaults->isUserThemingDisabled()
&& $this->appManager->isEnabledForUser(Application::APP_ID)) {
- $themingBackground = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background', 'default');
+ $backgroundImage = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background_image', BackgroundService::BACKGROUND_DEFAULT);
$currentVersion = (int)$this->config->getUserValue($user->getUID(), Application::APP_ID, 'userCacheBuster', '0');
+ $isPrimaryBright = $this->util->invertTextColor($this->primaryColor);
- // The user uploaded a custom background
- if ($themingBackground === 'custom') {
- $cacheBuster = substr(sha1($user->getUID() . '_' . $currentVersion), 0, 8);
+ // The user removed the background
+ if ($backgroundImage === BackgroundService::BACKGROUND_DISABLED) {
return [
- '--image-background' => "url('" . $this->urlGenerator->linkToRouteAbsolute('theming.userTheme.getBackground') . "?v=$cacheBuster')",
- // TODO: implement primary color from custom background --color-background-plain
+ '--image-background' => 'no',
+ '--color-background-plain' => $this->primaryColor,
+ // If no background image is set, we need to check against the shown primary colour
+ '--background-image-invert-if-bright' => $isPrimaryBright ? 'invert(100%)' : 'no',
];
}
- // The user picked a shipped background
- if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground])) {
+ // The user uploaded a custom background
+ if ($backgroundImage === BackgroundService::BACKGROUND_CUSTOM) {
+ $cacheBuster = substr(sha1($user->getUID() . '_' . $currentVersion), 0, 8);
return [
- '--image-background' => "url('" . $this->urlGenerator->linkTo(Application::APP_ID, "/img/background/$themingBackground") . "')",
+ '--image-background' => "url('" . $this->urlGenerator->linkToRouteAbsolute('theming.userTheme.getBackground') . "?v=$cacheBuster')",
'--color-background-plain' => $this->themingDefaults->getColorPrimary(),
- '--background-image-invert-if-bright' => BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['theming'] ?? null === BackgroundService::THEMING_MODE_DARK ? 'invert(100%)' : 'no',
];
}
- // The user picked a static colour
- if (substr($themingBackground, 0, 1) === '#') {
+ // The user picked a shipped background
+ if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$backgroundImage])) {
return [
- '--image-background' => 'no',
+ '--image-background' => "url('" . $this->urlGenerator->linkTo(Application::APP_ID, "img/background/$backgroundImage") . "')",
'--color-background-plain' => $this->themingDefaults->getColorPrimary(),
+ '--background-image-invert-if-bright' => BackgroundService::SHIPPED_BACKGROUNDS[$backgroundImage]['theming'] ?? null === BackgroundService::THEMING_MODE_DARK ? 'invert(100%)' : 'no',
];
}
}
diff --git a/apps/theming/lib/Themes/DarkTheme.php b/apps/theming/lib/Themes/DarkTheme.php
index ecd4c7d3fd6..588f8f5a8a6 100644
--- a/apps/theming/lib/Themes/DarkTheme.php
+++ b/apps/theming/lib/Themes/DarkTheme.php
@@ -91,6 +91,7 @@ class DarkTheme extends DefaultTheme implements ITheme {
'--color-border' => $this->util->lighten($colorMainBackground, 7),
'--color-border-dark' => $this->util->lighten($colorMainBackground, 14),
+ '--color-border-maxcontrast' => $this->util->lighten($colorMainBackground, 30),
'--background-invert-if-dark' => 'invert(100%)',
'--background-invert-if-bright' => 'no',
diff --git a/apps/theming/lib/Themes/DefaultTheme.php b/apps/theming/lib/Themes/DefaultTheme.php
index 94b71eb9d12..cb4ed510068 100644
--- a/apps/theming/lib/Themes/DefaultTheme.php
+++ b/apps/theming/lib/Themes/DefaultTheme.php
@@ -157,6 +157,7 @@ class DefaultTheme implements ITheme {
'--color-border' => $this->util->darken($colorMainBackground, 7),
'--color-border-dark' => $this->util->darken($colorMainBackground, 14),
+ '--color-border-maxcontrast' => $this->util->darken($colorMainBackground, 42),
'--font-face' => "-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu, 'Helvetica Neue', Arial, sans-serif, 'Noto Color Emoji', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol'",
'--default-font-size' => '15px',
@@ -190,11 +191,6 @@ class DefaultTheme implements ITheme {
'--background-invert-if-dark' => 'no',
'--background-invert-if-bright' => 'invert(100%)',
'--background-image-invert-if-bright' => 'no',
-
- // Default last fallback values
- '--image-background' => "url('" . $this->urlGenerator->imagePath('core', 'app-background.jpg') . "')",
- '--image-background-default' => "url('" . $this->urlGenerator->imagePath('core', 'app-background.jpg') . "')",
- '--color-background-plain' => $this->defaultPrimaryColor,
];
// Primary variables
diff --git a/apps/theming/lib/ThemingDefaults.php b/apps/theming/lib/ThemingDefaults.php
index f32faa5a8ef..afec58dc3a3 100644
--- a/apps/theming/lib/ThemingDefaults.php
+++ b/apps/theming/lib/ThemingDefaults.php
@@ -226,22 +226,11 @@ class ThemingDefaults extends \OC_Defaults {
}
// user-defined primary color
- $themingBackground = '';
if (!empty($user)) {
- $themingBackground = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background', '');
- // If the user selected the default background
- if ($themingBackground === '') {
- return BackgroundService::DEFAULT_COLOR;
- }
-
+ $themingBackgroundColor = $this->config->getUserValue($user->getUID(), Application::APP_ID, 'background_color', '');
// If the user selected a specific colour
- if (preg_match('/^\#([0-9a-f]{3}|[0-9a-f]{6})$/i', $themingBackground)) {
- return $themingBackground;
- }
-
- // if the user-selected background is a background reference
- if (isset(BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['primary_color'])) {
- return BackgroundService::SHIPPED_BACKGROUNDS[$themingBackground]['primary_color'];
+ if (preg_match('/^\#([0-9a-f]{3}|[0-9a-f]{6})$/i', $themingBackgroundColor)) {
+ return $themingBackgroundColor;
}
}
@@ -258,7 +247,7 @@ class ThemingDefaults extends \OC_Defaults {
* Return the default color primary
*/
public function getDefaultColorPrimary(): string {
- $color = $this->config->getAppValue(Application::APP_ID, 'color');
+ $color = $this->config->getAppValue(Application::APP_ID, 'color', '');
if (!preg_match('/^\#([0-9a-f]{3}|[0-9a-f]{6})$/i', $color)) {
$color = '#0082c9';
}
@@ -420,7 +409,7 @@ class ThemingDefaults extends \OC_Defaults {
}
if ($route) {
- return $route . '?v=' . $cacheBusterValue;
+ return $route . '?v=' . $this->util->getCacheBuster();
}
return false;
@@ -450,18 +439,26 @@ class ThemingDefaults extends \OC_Defaults {
* @param string $setting
* @param string $value
*/
- public function set($setting, $value) {
+ public function set($setting, $value): void {
$this->config->setAppValue('theming', $setting, $value);
$this->increaseCacheBuster();
}
/**
+ * Revert all settings to the default value
+ */
+ public function undoAll(): void {
+ $this->config->deleteAppValues('theming');
+ $this->increaseCacheBuster();
+ }
+
+ /**
* Revert settings to the default value
*
* @param string $setting setting which should be reverted
* @return string default value
*/
- public function undo($setting) {
+ public function undo($setting): string {
$this->config->deleteAppValue('theming', $setting);
$this->increaseCacheBuster();
@@ -477,7 +474,7 @@ class ThemingDefaults extends \OC_Defaults {
$returnValue = $this->getSlogan();
break;
case 'color':
- $returnValue = $this->getColorPrimary();
+ $returnValue = $this->getDefaultColorPrimary();
break;
case 'logo':
case 'logoheader':
diff --git a/apps/theming/lib/Util.php b/apps/theming/lib/Util.php
index 5ae2910f73d..a85dacd3de2 100644
--- a/apps/theming/lib/Util.php
+++ b/apps/theming/lib/Util.php
@@ -34,6 +34,7 @@ use OCP\Files\IAppData;
use OCP\Files\NotFoundException;
use OCP\Files\SimpleFS\ISimpleFile;
use OCP\IConfig;
+use OCP\IUserSession;
use Mexitek\PHPColors\Color;
class Util {
@@ -266,4 +267,20 @@ class Util {
return $this->imageManager->hasImage('logo')
|| $this->imageManager->hasImage('logoheader');
}
+
+ public function getCacheBuster(): string {
+ $userSession = \OC::$server->get(IUserSession::class);
+ $userId = '';
+ $user = $userSession->getUser();
+ if (!is_null($user)) {
+ $userId = $user->getUID();
+ }
+ $userCacheBuster = '';
+ if ($userId) {
+ $userCacheBusterValue = (int)$this->config->getUserValue($userId, 'theming', 'userCacheBuster', '0');
+ $userCacheBuster = $userId . '_' . $userCacheBusterValue;
+ }
+ $systemCacheBuster = $this->config->getAppValue('theming', 'cachebuster', '0');
+ return substr(sha1($userCacheBuster . $systemCacheBuster), 0, 8);
+ }
}
diff --git a/apps/theming/src/AdminTheming.vue b/apps/theming/src/AdminTheming.vue
index 1d9f5b69512..f922143e04d 100644
--- a/apps/theming/src/AdminTheming.vue
+++ b/apps/theming/src/AdminTheming.vue
@@ -24,39 +24,49 @@
<section>
<NcSettingsSection :title="t('theming', 'Theming')"
:description="t('theming', 'Theming makes it possible to easily customize the look and feel of your instance and supported clients. This will be visible for all users.')"
- :doc-url="docUrl">
+ :doc-url="docUrl"
+ data-admin-theming-settings>
<div class="admin-theming">
<NcNoteCard v-if="!isThemable"
type="error"
:show-alert="true">
<p>{{ notThemableErrorMessage }}</p>
</NcNoteCard>
+
+ <!-- Name, web link, slogan... fields -->
<TextField v-for="field in textFields"
:key="field.name"
- :name="field.name"
- :value.sync="field.value"
+ :data-admin-theming-setting-field="field.name"
:default-value="field.defaultValue"
- :type="field.type"
:display-name="field.displayName"
- :placeholder="field.placeholder"
:maxlength="field.maxlength"
+ :name="field.name"
+ :placeholder="field.placeholder"
+ :type="field.type"
+ :value.sync="field.value"
@update:theming="$emit('update:theming')" />
+
+ <!-- Primary color picker -->
<ColorPickerField :name="colorPickerField.name"
- :value.sync="colorPickerField.value"
:default-value="colorPickerField.defaultValue"
:display-name="colorPickerField.displayName"
+ :value.sync="colorPickerField.value"
+ data-admin-theming-setting-primary-color
@update:theming="$emit('update:theming')" />
+
+ <!-- Default background picker -->
<FileInputField v-for="field in fileInputFields"
:key="field.name"
- :name="field.name"
- :mime-name="field.mimeName"
- :mime-value.sync="field.mimeValue"
+ :aria-label="field.ariaLabel"
+ :data-admin-theming-setting-file="field.name"
:default-mime-value="field.defaultMimeValue"
:display-name="field.displayName"
- :aria-label="field.ariaLabel"
+ :mime-name="field.mimeName"
+ :mime-value.sync="field.mimeValue"
+ :name="field.name"
@update:theming="$emit('update:theming')" />
- <div class="admin-theming__preview">
- <div class="admin-theming__preview-logo" />
+ <div class="admin-theming__preview" data-admin-theming-preview>
+ <div class="admin-theming__preview-logo" data-admin-theming-preview-logo />
</div>
</div>
</NcSettingsSection>
@@ -87,6 +97,7 @@
:display-name="userThemingField.displayName"
:label="userThemingField.label"
:description="userThemingField.description"
+ data-admin-theming-setting-disable-user-theming
@update:theming="$emit('update:theming')" />
<a v-if="!canThemeIcons"
:href="docUrlIcons"
@@ -285,8 +296,15 @@ export default {
background-position: center;
text-align: center;
margin-top: 10px;
- background-color: var(--color-primary-default);
- background-image: var(--image-background-default, var(--image-background-plain, url('../../../core/img/app-background.jpg'), linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));
+ /* This is basically https://github.com/nextcloud/server/blob/master/core/css/guest.css
+ But without the user variables. That way the admin can preview the render as guest*/
+ /* As guest, there is no user color color-background-plain */
+ background-color: var(--color-primary-default, #0082c9);
+ /* As guest, there is no user background (--image-background)
+ 1. Empty background if defined
+ 2. Else default background
+ 3. Finally default gradient (should not happened, the background is always defined anyway) */
+ background-image: var(--image-background-plain, var(--image-background-default, linear-gradient(40deg, #0082c9 0%, #30b6ff 100%)));
&-logo {
width: 20%;
diff --git a/apps/theming/src/UserThemes.vue b/apps/theming/src/UserThemes.vue
index 5a41c019017..0f72e95d9a8 100644
--- a/apps/theming/src/UserThemes.vue
+++ b/apps/theming/src/UserThemes.vue
@@ -63,16 +63,14 @@
</NcSettingsSection>
<NcSettingsSection :title="t('theming', 'Background')"
- class="background">
+ class="background"
+ data-user-theming-background-disabled>
<template v-if="isUserThemingDisabled">
<p>{{ t('theming', 'Customization has been disabled by your administrator') }}</p>
</template>
<template v-else>
<p>{{ t('theming', 'Set a custom background') }}</p>
- <BackgroundSettings class="background__grid"
- :background="background"
- :theming-default-background="themingDefaultBackground"
- @update:background="updateBackground" />
+ <BackgroundSettings class="background__grid" @update:background="refreshGlobalStyles" />
</template>
</NcSettingsSection>
</section>
@@ -92,8 +90,6 @@ const availableThemes = loadState('theming', 'themes', [])
const enforceTheme = loadState('theming', 'enforceTheme', '')
const shortcutsDisabled = loadState('theming', 'shortcutsDisabled', false)
-const background = loadState('theming', 'background')
-const themingDefaultBackground = loadState('theming', 'themingDefaultBackground')
const isUserThemingDisabled = loadState('theming', 'isUserThemingDisabled')
console.debug('Available themes', availableThemes)
@@ -111,10 +107,10 @@ export default {
data() {
return {
availableThemes,
+
+ // Admin defined configs
enforceTheme,
shortcutsDisabled,
- background,
- themingDefaultBackground,
isUserThemingDisabled,
}
},
@@ -173,9 +169,21 @@ export default {
},
methods: {
+ // Refresh server-side generated theming CSS
+ refreshGlobalStyles() {
+ [...document.head.querySelectorAll('link.theme')].forEach(theme => {
+ const url = new URL(theme.href)
+ url.searchParams.set('v', Date.now())
+ const newTheme = theme.cloneNode()
+ newTheme.href = url.toString()
+ newTheme.onload = () => theme.remove()
+ document.head.append(newTheme)
+ })
+ },
+
updateBackground(data) {
this.background = (data.type === 'custom' || data.type === 'default') ? data.type : data.value
- this.$emit('update:background')
+ this.refreshGlobalStyles()
},
changeTheme({ enabled, id }) {
diff --git a/apps/theming/src/components/BackgroundSettings.vue b/apps/theming/src/components/BackgroundSettings.vue
index 36d249e4c51..97912ae3c9c 100644
--- a/apps/theming/src/components/BackgroundSettings.vue
+++ b/apps/theming/src/components/BackgroundSettings.vue
@@ -1,10 +1,10 @@
<!--
- @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
- - @copyright Copyright (c) 2022 Greta Doci <gretadoci@gmail.com>
-
- - @author Julius Härtl <jus@bitgrid.net>
- - @author Greta Doci <gretadoci@gmail.com>
- @author Christopher Ng <chrng8@gmail.com>
+ - @author Greta Doci <gretadoci@gmail.com>
+ - @author John Molakvoæ <skjnldsv@protonmail.com>
+ - @author Julius Härtl <jus@bitgrid.net>
-
- @license GNU AGPL version 3 or any later version
-
@@ -24,70 +24,93 @@
-->
<template>
- <div class="background-selector">
+ <div class="background-selector" data-user-theming-background-settings>
<!-- Custom background -->
- <button class="background filepicker"
- :class="{ active: background === 'custom' }"
+ <button class="background background__filepicker"
+ :class="{ 'icon-loading': loading === 'custom', 'background--active': backgroundImage === 'custom' }"
+ :data-color-bright="invertTextColor(Theming.color)"
+ data-user-theming-background-custom
tabindex="0"
@click="pickFile">
- {{ t('theming', 'Pick from Files') }}
+ {{ t('theming', 'Custom background') }}
+ <Check :size="44" />
</button>
<!-- Default background -->
- <button class="background default"
+ <button class="background background__default"
+ :class="{ 'icon-loading': loading === 'default', 'background--active': backgroundImage === 'default' }"
+ :data-color-bright="invertTextColor(Theming.defaultColor)"
+ :style="{ '--border-color': Theming.defaultColor }"
+ data-user-theming-background-default
tabindex="0"
- :class="{ 'icon-loading': loading === 'default', active: background === 'default' }"
@click="setDefault">
- {{ t('theming', 'Default image') }}
+ {{ t('theming', 'Default background') }}
+ <Check :size="44" />
</button>
<!-- Custom color picker -->
<NcColorPicker v-model="Theming.color" @input="debouncePickColor">
- <button class="background color"
- :class="{ active: background === Theming.color}"
- tabindex="0"
+ <button class="background background__color"
:data-color="Theming.color"
:data-color-bright="invertTextColor(Theming.color)"
- :style="{ backgroundColor: Theming.color, color: invertTextColor(Theming.color) ? '#000000' : '#ffffff'}">
- {{ t('theming', 'Custom color') }}
+ :style="{ backgroundColor: Theming.color, '--border-color': Theming.color}"
+ data-user-theming-background-color
+ tabindex="0">
+ {{ t('theming', 'Change color') }}
</button>
</NcColorPicker>
- <!-- Default admin primary color -->
- <button class="background color"
- :class="{ active: background === Theming.defaultColor }"
- tabindex="0"
- :data-color="Theming.defaultColor"
- :data-color-bright="invertTextColor(Theming.defaultColor)"
- :style="{ color: invertTextColor(Theming.defaultColor) ? '#000000' : '#ffffff'}"
- @click="debouncePickColor">
- {{ t('theming', 'Plain background') }}
- </button>
-
<!-- Background set selection -->
<button v-for="shippedBackground in shippedBackgrounds"
:key="shippedBackground.name"
v-tooltip="shippedBackground.details.attribution"
- :class="{ 'icon-loading': loading === shippedBackground.name, active: background === shippedBackground.name }"
- tabindex="0"
- class="background"
+ :class="{ 'icon-loading': loading === shippedBackground.name, 'background--active': backgroundImage === shippedBackground.name }"
:data-color-bright="shippedBackground.details.theming === 'dark'"
- :style="{ 'background-image': 'url(' + shippedBackground.preview + ')' }"
- @click="setShipped(shippedBackground.name)" />
+ :data-user-theming-background-shipped="shippedBackground.name"
+ :style="{ backgroundImage: 'url(' + shippedBackground.preview + ')', '--border-color': shippedBackground.details.primary_color }"
+ class="background background__shipped"
+ tabindex="0"
+ @click="setShipped(shippedBackground.name)">
+ <Check :size="44" />
+ </button>
+
+ <!-- Remove background -->
+ <button class="background background__delete"
+ data-user-theming-background-clear
+ tabindex="0"
+ @click="removeBackground">
+ {{ t('theming', 'Remove background') }}
+ <Close :size="32" />
+ </button>
</div>
</template>
<script>
-import { generateUrl } from '@nextcloud/router'
-import { getBackgroundUrl } from '../helpers/getBackgroundUrl.js'
+import { generateFilePath, generateRemoteUrl, generateUrl } from '@nextcloud/router'
import { loadState } from '@nextcloud/initial-state'
-import { prefixWithBaseUrl } from '../helpers/prefixWithBaseUrl.js'
import axios from '@nextcloud/axios'
+import Check from 'vue-material-design-icons/Check.vue'
+import Close from 'vue-material-design-icons/Close.vue'
import debounce from 'debounce'
import NcColorPicker from '@nextcloud/vue/dist/Components/NcColorPicker'
import Tooltip from '@nextcloud/vue/dist/Directives/Tooltip'
+import Vibrant from 'node-vibrant'
+import { Palette } from 'node-vibrant/lib/color'
+import { getFilePickerBuilder } from '@nextcloud/dialogs'
+import { getCurrentUser } from '@nextcloud/auth'
+const backgroundImage = loadState('theming', 'backgroundImage')
const shippedBackgroundList = loadState('theming', 'shippedBackgrounds')
+const themingDefaultBackground = loadState('theming', 'themingDefaultBackground')
+const defaultShippedBackground = loadState('theming', 'defaultShippedBackground')
+
+const prefixWithBaseUrl = (url) => generateFilePath('theming', '', 'img/background/') + url
+const picker = getFilePickerBuilder(t('theming', 'Select a background from your files'))
+ .setMultiSelect(false)
+ .setModal(true)
+ .setType(1)
+ .setMimeTypeFilter(['image/png', 'image/gif', 'image/jpeg', 'image/svg+xml', 'image/svg'])
+ .build()
export default {
name: 'BackgroundSettings',
@@ -96,38 +119,48 @@ export default {
},
components: {
+ Check,
+ Close,
NcColorPicker,
},
- props: {
- background: {
- type: String,
- default: 'default',
- },
- themingDefaultBackground: {
- type: String,
- default: '',
- },
- },
-
data() {
return {
- backgroundImage: generateUrl('/apps/theming/background') + '?v=' + Date.now(),
loading: false,
Theming: loadState('theming', 'data', {}),
+
+ // User background image and color settings
+ backgroundImage,
}
},
computed: {
shippedBackgrounds() {
- return Object.keys(shippedBackgroundList).map(fileName => {
- return {
- name: fileName,
- url: prefixWithBaseUrl(fileName),
- preview: prefixWithBaseUrl('preview/' + fileName),
- details: shippedBackgroundList[fileName],
- }
- })
+ return Object.keys(shippedBackgroundList)
+ .map(fileName => {
+ return {
+ name: fileName,
+ url: prefixWithBaseUrl(fileName),
+ preview: prefixWithBaseUrl('preview/' + fileName),
+ details: shippedBackgroundList[fileName],
+ }
+ })
+ .filter(background => {
+ // If the admin did not changed the global background
+ // let's hide the default background to not show it twice
+ if (!this.isGlobalBackgroundDeleted && !this.isGlobalBackgroundDefault) {
+ return background.name !== defaultShippedBackground
+ }
+ return true
+ })
+ },
+
+ isGlobalBackgroundDefault() {
+ return !!themingDefaultBackground
+ },
+
+ isGlobalBackgroundDeleted() {
+ return themingDefaultBackground === 'backgroundColor'
},
},
@@ -163,20 +196,23 @@ export default {
: null
},
+ /**
+ * Update local state
+ *
+ * @param {object} data destructuring object
+ * @param {string} data.backgroundColor background color value
+ * @param {string} data.backgroundImage background image value
+ * @param {string} data.version cache buster number
+ * @see https://github.com/nextcloud/server/blob/c78bd45c64d9695724fc44fe8453a88824b85f2f/apps/theming/lib/Controller/UserThemeController.php#L187-L191
+ */
async update(data) {
- const background = data.type === 'custom' || data.type === 'default' ? data.type : data.value
- this.backgroundImage = getBackgroundUrl(background, data.version, this.themingDefaultBackground)
- if (data.type === 'color' || (data.type === 'default' && this.themingDefaultBackground === 'backgroundColor')) {
- this.$emit('update:background', data)
- this.loading = false
- return
- }
- const image = new Image()
- image.onload = () => {
- this.$emit('update:background', data)
- this.loading = false
- }
- image.src = this.backgroundImage
+ // Update state
+ this.backgroundImage = data.backgroundImage
+ this.Theming.color = data.backgroundColor
+
+ // Notify parent and reload style
+ this.$emit('update:background')
+ this.loading = false
},
async setDefault() {
@@ -191,28 +227,70 @@ export default {
this.update(result.data)
},
- async setFile(path) {
+ async setFile(path, color = null) {
this.loading = 'custom'
- const result = await axios.post(generateUrl('/apps/theming/background/custom'), { value: path })
+ const result = await axios.post(generateUrl('/apps/theming/background/custom'), { value: path, color })
+ this.update(result.data)
+ },
+
+ async removeBackground() {
+ this.loading = 'remove'
+ const result = await axios.delete(generateUrl('/apps/theming/background/custom'))
this.update(result.data)
},
- debouncePickColor: debounce(function() {
- this.pickColor(...arguments)
- }, 200),
async pickColor(event) {
this.loading = 'color'
const color = event?.target?.dataset?.color || this.Theming?.color || '#0082c9'
- const result = await axios.post(generateUrl('/apps/theming/background/color'), { value: color })
+ const result = await axios.post(generateUrl('/apps/theming/background/color'), { color })
this.update(result.data)
},
+ debouncePickColor: debounce(function() {
+ this.pickColor(...arguments)
+ }, 200),
+
+ async pickFile() {
+ const path = await picker.pick()
+ this.loading = 'custom'
- pickFile() {
- window.OC.dialogs.filepicker(t('theming', 'Insert from {productName}', { productName: OC.theme.name }), (path, type) => {
- if (type === OC.dialogs.FILEPICKER_TYPE_CHOOSE) {
- this.setFile(path)
- }
- }, false, ['image/png', 'image/gif', 'image/jpeg', 'image/svg'], true, OC.dialogs.FILEPICKER_TYPE_CHOOSE)
+ // Extract primary color from image
+ let response = null
+ let color = null
+ try {
+ const fileUrl = generateRemoteUrl('dav/files/' + getCurrentUser().uid + path)
+ response = await axios.get(fileUrl, { responseType: 'blob' })
+ const blobUrl = URL.createObjectURL(response.data)
+ const palette = await this.getColorPaletteFromBlob(blobUrl)
+
+ // DarkVibrant is accessible AND visually pleasing
+ // Vibrant is not accessible enough and others are boring
+ color = palette?.DarkVibrant?.hex
+ this.setFile(path, color)
+
+ // Log data
+ console.debug('Extracted colour', color, 'from custom image', path, palette)
+ } catch (error) {
+ this.setFile(path)
+ console.error('Unable to extract colour from custom image', { error, path, response, color })
+ }
+ },
+
+ /**
+ * Extract a Vibrant color palette from a blob URL
+ *
+ * @param {string} blobUrl the blob URL
+ * @return {Promise<Palette>}
+ */
+ getColorPaletteFromBlob(blobUrl) {
+ return new Promise((resolve, reject) => {
+ const vibrant = new Vibrant(blobUrl)
+ vibrant.getPalette((error, palette) => {
+ if (error) {
+ reject(error)
+ }
+ resolve(palette)
+ })
+ })
},
},
}
@@ -225,50 +303,70 @@ export default {
justify-content: center;
.background {
+ overflow: hidden;
width: 176px;
height: 96px;
margin: 8px;
- background-size: cover;
- background-position: center center;
text-align: center;
- border-radius: var(--border-radius-large);
border: 2px solid var(--color-main-background);
- overflow: hidden;
+ border-radius: var(--border-radius-large);
+ background-position: center center;
+ background-size: cover;
+
+ &__filepicker {
+ &.background--active {
+ color: white;
+ background-image: var(--image-background);
+ }
+ }
- &.current {
- background-image: var(--color-background-dark);
+ &__default {
+ background-color: var(--color-primary-default);
+ background-image: var(--image-background-default);
}
- &.filepicker, &.default, &.color {
+ &__filepicker, &__default, &__color {
border-color: var(--color-border);
}
- &.color {
- background-color: var(--color-primary-default);
+ &__color {
color: var(--color-primary-text);
+ background-color: var(--color-primary-default);
}
- &.active,
+ // Over a background image
+ &__default,
+ &__shipped {
+ color: white;
+ }
+
+ // Text and svg icon dark on bright background
+ &[data-color-bright] {
+ color: black;
+ }
+
+ &--active,
&:hover,
&:focus {
- border: 2px solid var(--color-primary);
+ // Use theme color primary, see inline css variable in template
+ border: 2px solid var(--border-color, var(--color-primary)) !important;
}
- &.active:not(.icon-loading) {
- &:after {
- background-image: var(--original-icon-checkmark-white);
- background-repeat: no-repeat;
- background-position: center;
- background-size: 44px;
- content: '';
- display: block;
- height: 100%;
- }
+ // Icon
+ span {
+ margin: 4px;
+ }
- &[data-color-bright]:after {
- background-image: var(--original-icon-checkmark-dark);
- }
+ &__filepicker span,
+ &__default span,
+ &__shipped span {
+ display: none;
+ }
+
+ &--active:not(.icon-loading) span {
+ display: block !important;
}
}
}
+
</style>
diff --git a/apps/theming/src/components/admin/ColorPickerField.vue b/apps/theming/src/components/admin/ColorPickerField.vue
index 2e6ee99a75d..c9f1a8e4ef5 100644
--- a/apps/theming/src/components/admin/ColorPickerField.vue
+++ b/apps/theming/src/components/admin/ColorPickerField.vue
@@ -30,13 +30,15 @@
<NcButton class="field__button"
type="primary"
:id="id"
- :aria-label="t('theming', 'Select a custom color')">
+ :aria-label="t('theming', 'Select a custom color')"
+ data-admin-theming-setting-primary-color-picker>
{{ value }}
</NcButton>
</NcColorPicker>
<NcButton v-if="value !== defaultValue"
type="tertiary"
:aria-label="t('theming', 'Reset to default')"
+ data-admin-theming-setting-primary-color-reset
@click="undo">
<template #icon>
<Undo :size="20" />
diff --git a/apps/theming/src/components/admin/FileInputField.vue b/apps/theming/src/components/admin/FileInputField.vue
index 537970cc0cc..c15d1ee2c8e 100644
--- a/apps/theming/src/components/admin/FileInputField.vue
+++ b/apps/theming/src/components/admin/FileInputField.vue
@@ -27,6 +27,7 @@
<NcButton type="secondary"
:id="id"
:aria-label="ariaLabel"
+ data-admin-theming-setting-file-picker
@click="activateLocalFilePicker">
<template #icon>
<Upload :size="20" />
@@ -36,6 +37,7 @@
<NcButton v-if="showReset"
type="tertiary"
:aria-label="t('theming', 'Reset to default')"
+ data-admin-theming-setting-file-reset
@click="undo">
<template #icon>
<Undo :size="20" />
@@ -44,6 +46,7 @@
<NcButton v-if="showRemove"
type="tertiary"
:aria-label="t('theming', 'Remove background image')"
+ data-admin-theming-setting-file-remove
@click="removeBackground">
<template #icon>
<Delete :size="20" />
diff --git a/apps/theming/src/components/admin/TextField.vue b/apps/theming/src/components/admin/TextField.vue
index df82415e48a..9a3a98fe20d 100644
--- a/apps/theming/src/components/admin/TextField.vue
+++ b/apps/theming/src/components/admin/TextField.vue
@@ -22,8 +22,6 @@
<template>
<div class="field">
- <!-- PENDING undo trailing button icon requires @nextcloud/vue release and bump -->
- <!-- PENDING custom maxlength requires @nextcloud/vue release and bump -->
<NcTextField :value.sync="localValue"
:label="displayName"
:label-visible="true"
diff --git a/apps/theming/src/helpers/getBackgroundUrl.js b/apps/theming/src/helpers/getBackgroundUrl.js
deleted file mode 100644
index 88a3ab57291..00000000000
--- a/apps/theming/src/helpers/getBackgroundUrl.js
+++ /dev/null
@@ -1,49 +0,0 @@
-/**
- * @copyright Copyright (c) 2020 Julius Härtl <jus@bitgrid.net>
- *
- * @author Avior <florian.bouillon@delta-wings.net>
- * @author Julien Veyssier <eneiluj@posteo.net>
- * @author Julius Härtl <jus@bitgrid.net>
- *
- * @license AGPL-3.0-or-later
- *
- * This program is free software: you can redistribute it and/or modify
- * it under the terms of the GNU Affero General Public License as
- * published by the Free Software Foundation, either version 3 of the
- * License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU Affero General Public License for more details.
- *
- * You should have received a copy of the GNU Affero General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-import { generateUrl } from '@nextcloud/router'
-import { prefixWithBaseUrl } from './prefixWithBaseUrl.js'
-
-export const getBackgroundUrl = (background, time = 0, themingDefaultBackground = '') => {
- const enabledThemes = window.OCA?.Theming?.enabledThemes || []
- const isDarkTheme = (enabledThemes.length === 0 || enabledThemes[0] === 'default')
- ? window.matchMedia('(prefers-color-scheme: dark)').matches
- : enabledThemes.join('').indexOf('dark') !== -1
-
- if (background === 'default') {
- if (themingDefaultBackground && themingDefaultBackground !== 'backgroundColor') {
- return generateUrl('/apps/theming/image/background') + '?v=' + window.OCA.Theming.cacheBuster
- }
-
- if (isDarkTheme) {
- return prefixWithBaseUrl('eduardo-neves-pedra-azul.jpg')
- }
-
- return prefixWithBaseUrl('kamil-porembinski-clouds.jpg')
- } else if (background === 'custom') {
- return generateUrl('/apps/theming/background') + '?v=' + time
- }
-
- return prefixWithBaseUrl(background)
-}
diff --git a/apps/theming/tests/Themes/DefaultThemeTest.php b/apps/theming/tests/Themes/DefaultThemeTest.php
index 4471dddb01e..6044f5c10d3 100644
--- a/apps/theming/tests/Themes/DefaultThemeTest.php
+++ b/apps/theming/tests/Themes/DefaultThemeTest.php
@@ -22,8 +22,10 @@
*/
namespace OCA\Theming\Tests\Service;
+use OCA\Theming\AppInfo\Application;
use OCA\Theming\ImageManager;
use OCA\Theming\ITheme;
+use OCA\Theming\Service\BackgroundService;
use OCA\Theming\Themes\DefaultTheme;
use OCA\Theming\ThemingDefaults;
use OCA\Theming\Util;
@@ -80,6 +82,11 @@ class DefaultThemeTest extends TestCase {
->method('getDefaultColorPrimary')
->willReturn('#0082c9');
+ $this->themingDefaults
+ ->expects($this->any())
+ ->method('getBackground')
+ ->willReturn('/apps/' . Application::APP_ID . '/img/background/' . BackgroundService::DEFAULT_BACKGROUND_IMAGE);
+
$this->l10n
->expects($this->any())
->method('t')
diff --git a/apps/theming/tests/ThemingDefaultsTest.php b/apps/theming/tests/ThemingDefaultsTest.php
index e3e6f2d1df7..cf6b6492c11 100644
--- a/apps/theming/tests/ThemingDefaultsTest.php
+++ b/apps/theming/tests/ThemingDefaultsTest.php
@@ -461,6 +461,11 @@ class ThemingDefaultsTest extends TestCase {
['theming', 'disable-user-theming', 'no', 'no'],
['theming', 'color', '', ''],
]);
+ $this->config
+ ->expects($this->once())
+ ->method('getUserValue')
+ ->with('user', 'theming', 'background_color')
+ ->willReturn('');
$this->assertEquals(BackgroundService::DEFAULT_COLOR, $this->template->getColorPrimary());
}
@@ -468,6 +473,7 @@ class ThemingDefaultsTest extends TestCase {
public function testGetColorPrimaryWithCustomBackground() {
$backgroundIndex = 2;
$background = array_values(BackgroundService::SHIPPED_BACKGROUNDS)[$backgroundIndex];
+
$user = $this->createMock(IUser::class);
$this->userSession->expects($this->any())
->method('getUser')
@@ -479,14 +485,15 @@ class ThemingDefaultsTest extends TestCase {
$this->config
->expects($this->once())
->method('getUserValue')
- ->with('user', 'theming', 'background', '')
- ->willReturn(array_keys(BackgroundService::SHIPPED_BACKGROUNDS)[$backgroundIndex]);
+ ->with('user', 'theming', 'background_color', '')
+ ->willReturn($background['primary_color']);
+
$this->config
->expects($this->exactly(2))
->method('getAppValue')
->willReturnMap([
- ['theming', 'disable-user-theming', 'no', 'no'],
['theming', 'color', '', ''],
+ ['theming', 'disable-user-theming', 'no', 'no'],
]);
$this->assertEquals($background['primary_color'], $this->template->getColorPrimary());
@@ -504,14 +511,14 @@ class ThemingDefaultsTest extends TestCase {
$this->config
->expects($this->once())
->method('getUserValue')
- ->with('user', 'theming', 'background', '')
+ ->with('user', 'theming', 'background_color', '')
->willReturn('#fff');
$this->config
->expects($this->exactly(2))
->method('getAppValue')
->willReturnMap([
- ['theming', 'disable-user-theming', 'no', 'no'],
['theming', 'color', '', ''],
+ ['theming', 'disable-user-theming', 'no', 'no'],
]);
$this->assertEquals('#fff', $this->template->getColorPrimary());
@@ -529,14 +536,14 @@ class ThemingDefaultsTest extends TestCase {
$this->config
->expects($this->once())
->method('getUserValue')
- ->with('user', 'theming', 'background', '')
+ ->with('user', 'theming', 'background_color', '')
->willReturn('nextcloud');
$this->config
->expects($this->exactly(3))
->method('getAppValue')
->willReturnMap([
- ['theming', 'disable-user-theming', 'no', 'no'],
['theming', 'color', '', ''],
+ ['theming', 'disable-user-theming', 'no', 'no'],
]);
$this->assertEquals($this->template->getDefaultColorPrimary(), $this->template->getColorPrimary());
@@ -645,16 +652,14 @@ class ThemingDefaultsTest extends TestCase {
->method('deleteAppValue')
->with('theming', 'color');
$this->config
- ->expects($this->exactly(3))
+ ->expects($this->exactly(2))
->method('getAppValue')
->withConsecutive(
['theming', 'cachebuster', '0'],
['theming', 'color', null],
- ['theming', 'disable-user-theming', 'no'],
)->willReturnOnConsecutiveCalls(
'15',
$this->defaults->getColorPrimary(),
- 'no',
);
$this->config
->expects($this->once())
@@ -773,10 +778,10 @@ class ThemingDefaultsTest extends TestCase {
$this->imageManager->expects($this->exactly(4))
->method('getImageUrl')
->willReturnMap([
- ['logo', true, 'custom-logo?v=0'],
- ['logoheader', true, 'custom-logoheader?v=0'],
- ['favicon', true, 'custom-favicon?v=0'],
- ['background', true, 'custom-background?v=0'],
+ ['logo', 'custom-logo?v=0'],
+ ['logoheader', 'custom-logoheader?v=0'],
+ ['favicon', 'custom-favicon?v=0'],
+ ['background', 'custom-background?v=0'],
]);
$expected = [
@@ -868,7 +873,7 @@ class ThemingDefaultsTest extends TestCase {
}
/** @dataProvider dataReplaceImagePath */
- public function testReplaceImagePath($app, $image, $result = 'themingRoute?v=0') {
+ public function testReplaceImagePath($app, $image, $result = 'themingRoute?v=1234abcd') {
$this->cache->expects($this->any())
->method('get')
->with('shouldReplaceIcons')
@@ -882,6 +887,12 @@ class ThemingDefaultsTest extends TestCase {
->expects($this->any())
->method('linkToRoute')
->willReturn('themingRoute');
+ if ($result) {
+ $this->util
+ ->expects($this->once())
+ ->method('getCacheBuster')
+ ->willReturn('1234abcd');
+ }
$this->assertEquals($result, $this->template->replaceImagePath($app, $image));
}
}
diff --git a/apps/twofactor_backupcodes/composer/autoload.php b/apps/twofactor_backupcodes/composer/autoload.php
index 091a9b4fefa..fee47fcf513 100644
--- a/apps/twofactor_backupcodes/composer/autoload.php
+++ b/apps/twofactor_backupcodes/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/twofactor_backupcodes/composer/composer/installed.php b/apps/twofactor_backupcodes/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/twofactor_backupcodes/composer/composer/installed.php
+++ b/apps/twofactor_backupcodes/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/twofactor_backupcodes/l10n/pt_PT.js b/apps/twofactor_backupcodes/l10n/pt_PT.js
new file mode 100644
index 00000000000..319ab654bb0
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/pt_PT.js
@@ -0,0 +1,16 @@
+OC.L10N.register(
+ "twofactor_backupcodes",
+ {
+ "Second-factor backup codes" : "Códigos de segurança de segundo fator",
+ "Generate backup codes" : "Gerar códigos de cópia de segurança",
+ "Backup code" : "Código de segurança",
+ "Use backup code" : "Usar código de cópia de segurança",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes são os seus códigos de segurança. Por favor, guarde ou imprima-os pois estes códigos não serão possíveis de visualizar novamente.",
+ "Save backup codes" : "Guardar códigos de segurança",
+ "Print backup codes" : "Imprimir códigos de segurança",
+ "Regenerate backup codes" : "Voltar a gerar os códigos de segurança",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Se voltar a gerar os códigos de segurança os seus códigos antigos serão automaticamente invalidados.",
+ "An error occurred while generating your backup codes" : "Ocorreu um erro enquanto os códigos de segurança eram gerados",
+ "Submit" : "Submeter"
+},
+"nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;");
diff --git a/apps/twofactor_backupcodes/l10n/pt_PT.json b/apps/twofactor_backupcodes/l10n/pt_PT.json
new file mode 100644
index 00000000000..c22cb323567
--- /dev/null
+++ b/apps/twofactor_backupcodes/l10n/pt_PT.json
@@ -0,0 +1,14 @@
+{ "translations": {
+ "Second-factor backup codes" : "Códigos de segurança de segundo fator",
+ "Generate backup codes" : "Gerar códigos de cópia de segurança",
+ "Backup code" : "Código de segurança",
+ "Use backup code" : "Usar código de cópia de segurança",
+ "These are your backup codes. Please save and/or print them as you will not be able to read the codes again later" : "Estes são os seus códigos de segurança. Por favor, guarde ou imprima-os pois estes códigos não serão possíveis de visualizar novamente.",
+ "Save backup codes" : "Guardar códigos de segurança",
+ "Print backup codes" : "Imprimir códigos de segurança",
+ "Regenerate backup codes" : "Voltar a gerar os códigos de segurança",
+ "If you regenerate backup codes, you automatically invalidate old codes." : "Se voltar a gerar os códigos de segurança os seus códigos antigos serão automaticamente invalidados.",
+ "An error occurred while generating your backup codes" : "Ocorreu um erro enquanto os códigos de segurança eram gerados",
+ "Submit" : "Submeter"
+},"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/updatenotification/composer/autoload.php b/apps/updatenotification/composer/autoload.php
index e715564a5bd..36afdad067f 100644
--- a/apps/updatenotification/composer/autoload.php
+++ b/apps/updatenotification/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/updatenotification/composer/composer/installed.php b/apps/updatenotification/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/updatenotification/composer/composer/installed.php
+++ b/apps/updatenotification/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/updatenotification/l10n/de_DE.js b/apps/updatenotification/l10n/de_DE.js
index bc6557cb465..cf0852b9a23 100644
--- a/apps/updatenotification/l10n/de_DE.js
+++ b/apps/updatenotification/l10n/de_DE.js
@@ -7,7 +7,7 @@ OC.L10N.register(
"Update notifications" : "Update-Benachrichtigungen",
"The update server could not be reached since %d days to check for new updates." : "Der Aktualisierungsserver konnte seit %d Tagen nicht erreicht werden um auf verfügbare Aktualisierungen zu prüfen.",
"Please check the Nextcloud and server log files for errors." : "Bitte überprüfe die Server- und Nextcloud-Logdateien auf Fehler.",
- "Update to %1$s is available." : "Aktualisierung auf %1$s ist verfügbar.",
+ "Update to %1$s is available." : "Eine Aktualisierung für Nextcloud auf Version %1$s ist verfügbar.",
"Update for %1$s to version %2$s is available." : "Eine Aktualisierung von %1$s auf Version %2$s ist verfügbar.",
"Update for {app} to version %s is available." : "Eine Aktualisierung für {app} auf Version %s ist verfügbar.",
"Update notification" : "Aktualisierungs-Benachrichtigung",
diff --git a/apps/updatenotification/l10n/de_DE.json b/apps/updatenotification/l10n/de_DE.json
index edee359a619..80ee61f1acc 100644
--- a/apps/updatenotification/l10n/de_DE.json
+++ b/apps/updatenotification/l10n/de_DE.json
@@ -5,7 +5,7 @@
"Update notifications" : "Update-Benachrichtigungen",
"The update server could not be reached since %d days to check for new updates." : "Der Aktualisierungsserver konnte seit %d Tagen nicht erreicht werden um auf verfügbare Aktualisierungen zu prüfen.",
"Please check the Nextcloud and server log files for errors." : "Bitte überprüfe die Server- und Nextcloud-Logdateien auf Fehler.",
- "Update to %1$s is available." : "Aktualisierung auf %1$s ist verfügbar.",
+ "Update to %1$s is available." : "Eine Aktualisierung für Nextcloud auf Version %1$s ist verfügbar.",
"Update for %1$s to version %2$s is available." : "Eine Aktualisierung von %1$s auf Version %2$s ist verfügbar.",
"Update for {app} to version %s is available." : "Eine Aktualisierung für {app} auf Version %s ist verfügbar.",
"Update notification" : "Aktualisierungs-Benachrichtigung",
diff --git a/apps/updatenotification/l10n/en_GB.js b/apps/updatenotification/l10n/en_GB.js
index c0f72fe9c3c..ff0c06434d6 100644
--- a/apps/updatenotification/l10n/en_GB.js
+++ b/apps/updatenotification/l10n/en_GB.js
@@ -3,6 +3,7 @@ OC.L10N.register(
{
"{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.",
"Channel updated" : "Channel updated",
+ "Web updater is disabled" : "Web updater is disabled",
"Update notifications" : "Update notifications",
"The update server could not be reached since %d days to check for new updates." : "The update server could not be reached since %d days to check for new updates.",
"Please check the Nextcloud and server log files for errors." : "Please check the Nextcloud and server log files for errors.",
@@ -13,27 +14,40 @@ OC.L10N.register(
"Displays update notifications for Nextcloud and provides the SSO for the updater." : "Displays update notifications for Nextcloud and provides the SSO for the updater.",
"Update" : "Update",
"The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "The version you are running is not maintained any more. Please make sure to update to a supported version as soon as possible.",
+ "Apps missing compatible version" : "Apps missing compatible version",
"View in store" : "View in store",
+ "Apps with compatible version" : "Apps with compatible version",
+ "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!",
"Open updater" : "Open updater",
"Download now" : "Download now",
+ "Please use the command line updater to update." : "Please use the command line updater to update.",
"What's new?" : "What's new?",
"The update check is not yet finished. Please refresh the page." : "The update check is not yet finished. Please refresh the page.",
"Your version is up to date." : "Your version is up to date.",
"A non-default update server is in use to be checked for updates:" : "A non-default update server is in use to be checked for updates:",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page.",
"Update channel:" : "Update channel:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "You can always update to a newer version, but you can never downgrade to a more stable version.",
"Notify members of the following groups about available updates:" : "Notify members of the following groups about available updates:",
+ "Only notifications for app updates are available." : "Only notifications for app updates are available.",
"The selected update channel makes dedicated notifications for the server obsolete." : "The selected update channel makes dedicated notifications for the server obsolete.",
"The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server.",
"A new version is available: <strong>{newVersionString}</strong>" : "A new version is available: <strong>{newVersionString}</strong>",
+ "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}",
"Checked on {lastCheckedDate}" : "Checked on {lastCheckedDate}",
+ "Checking apps for compatible versions" : "Checking apps for compatible versions",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false.",
+ "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store.",
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>All</strong> apps have a compatible version for this Nextcloud version available.",
"View changelog" : "View changelog",
"Enterprise" : "Enterprise",
"For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package.",
"Stable" : "Stable",
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "The most recent stable version. It is suited for regular use and will always update to the latest major version.",
"Beta" : "Beta",
- "A pre-release version only for testing new features, not for production environments." : "A pre-release version only for testing new features, not for production environments."
+ "A pre-release version only for testing new features, not for production environments." : "A pre-release version only for testing new features, not for production environments.",
+ "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["<strong>%n</strong> app has no compatible version for this Nextcloud version available.","<strong>%n</strong> apps have no compatible version for this Nextcloud version available."],
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>All</strong> apps have a compatible version for this Nextcloud version available",
+ "_<strong>%n</strong> app has no compatible version for this Nextcloud version available_::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available_" : ["<strong>%n</strong> app has no compatible version for this Nextcloud version available","<strong>%n</strong> apps have no compatible version for this Nextcloud version available"]
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/updatenotification/l10n/en_GB.json b/apps/updatenotification/l10n/en_GB.json
index 1bde368c2e3..e5962f7a853 100644
--- a/apps/updatenotification/l10n/en_GB.json
+++ b/apps/updatenotification/l10n/en_GB.json
@@ -1,6 +1,7 @@
{ "translations": {
"{version} is available. Get more information on how to update." : "{version} is available. Get more information on how to update.",
"Channel updated" : "Channel updated",
+ "Web updater is disabled" : "Web updater is disabled",
"Update notifications" : "Update notifications",
"The update server could not be reached since %d days to check for new updates." : "The update server could not be reached since %d days to check for new updates.",
"Please check the Nextcloud and server log files for errors." : "Please check the Nextcloud and server log files for errors.",
@@ -11,27 +12,40 @@
"Displays update notifications for Nextcloud and provides the SSO for the updater." : "Displays update notifications for Nextcloud and provides the SSO for the updater.",
"Update" : "Update",
"The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "The version you are running is not maintained any more. Please make sure to update to a supported version as soon as possible.",
+ "Apps missing compatible version" : "Apps missing compatible version",
"View in store" : "View in store",
+ "Apps with compatible version" : "Apps with compatible version",
+ "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!",
"Open updater" : "Open updater",
"Download now" : "Download now",
+ "Please use the command line updater to update." : "Please use the command line updater to update.",
"What's new?" : "What's new?",
"The update check is not yet finished. Please refresh the page." : "The update check is not yet finished. Please refresh the page.",
"Your version is up to date." : "Your version is up to date.",
"A non-default update server is in use to be checked for updates:" : "A non-default update server is in use to be checked for updates:",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page.",
"Update channel:" : "Update channel:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "You can always update to a newer version, but you can never downgrade to a more stable version.",
"Notify members of the following groups about available updates:" : "Notify members of the following groups about available updates:",
+ "Only notifications for app updates are available." : "Only notifications for app updates are available.",
"The selected update channel makes dedicated notifications for the server obsolete." : "The selected update channel makes dedicated notifications for the server obsolete.",
"The selected update channel does not support updates of the server." : "The selected update channel does not support updates of the server.",
"A new version is available: <strong>{newVersionString}</strong>" : "A new version is available: <strong>{newVersionString}</strong>",
+ "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}",
"Checked on {lastCheckedDate}" : "Checked on {lastCheckedDate}",
+ "Checking apps for compatible versions" : "Checking apps for compatible versions",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Please make sure your config.php does not set <samp>appstoreenabled</samp> to false.",
+ "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store.",
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>All</strong> apps have a compatible version for this Nextcloud version available.",
"View changelog" : "View changelog",
"Enterprise" : "Enterprise",
"For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package.",
"Stable" : "Stable",
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "The most recent stable version. It is suited for regular use and will always update to the latest major version.",
"Beta" : "Beta",
- "A pre-release version only for testing new features, not for production environments." : "A pre-release version only for testing new features, not for production environments."
+ "A pre-release version only for testing new features, not for production environments." : "A pre-release version only for testing new features, not for production environments.",
+ "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["<strong>%n</strong> app has no compatible version for this Nextcloud version available.","<strong>%n</strong> apps have no compatible version for this Nextcloud version available."],
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>All</strong> apps have a compatible version for this Nextcloud version available",
+ "_<strong>%n</strong> app has no compatible version for this Nextcloud version available_::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available_" : ["<strong>%n</strong> app has no compatible version for this Nextcloud version available","<strong>%n</strong> apps have no compatible version for this Nextcloud version available"]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/updatenotification/l10n/hu.js b/apps/updatenotification/l10n/hu.js
index 8da0f42d13b..324f46b6c2f 100644
--- a/apps/updatenotification/l10n/hu.js
+++ b/apps/updatenotification/l10n/hu.js
@@ -25,7 +25,7 @@ OC.L10N.register(
"The update check is not yet finished. Please refresh the page." : "A frissítéskeresés még nem ért véget. Frissítse az oldalt.",
"Your version is up to date." : "A verziója naprakész.",
"A non-default update server is in use to be checked for updates:" : "Egy nem alapértelmezett frissítési kiszolgáló van használatban a frissítések kereséséhez:",
- "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Alább módosíthatja a frissítési csatornát, amely érinti az alkalmazáskezelés oldalt is. Például ha a béta csatornára bált, akkor a béta alkalmazásfrissítések is fel lesznek kínálva az alkalmazáskezelés oldalon.",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Alább módosíthatja a frissítési csatornát, amely érinti az alkalmazáskezelés oldalt is. Például ha a béta csatornára vált, akkor a béta alkalmazásfrissítések is fel lesznek kínálva az alkalmazáskezelés oldalon.",
"Update channel:" : "Frissítési csatorna:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Bármikor frissíthet egy újabb verzióra, viszont sosem léphet vissza egy stabilabb verzióra.",
"Notify members of the following groups about available updates:" : "A következő csoport tagjainak értesítése az elérhető frissítésekről:",
diff --git a/apps/updatenotification/l10n/hu.json b/apps/updatenotification/l10n/hu.json
index 83faaaebb98..036947d5fe8 100644
--- a/apps/updatenotification/l10n/hu.json
+++ b/apps/updatenotification/l10n/hu.json
@@ -23,7 +23,7 @@
"The update check is not yet finished. Please refresh the page." : "A frissítéskeresés még nem ért véget. Frissítse az oldalt.",
"Your version is up to date." : "A verziója naprakész.",
"A non-default update server is in use to be checked for updates:" : "Egy nem alapértelmezett frissítési kiszolgáló van használatban a frissítések kereséséhez:",
- "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Alább módosíthatja a frissítési csatornát, amely érinti az alkalmazáskezelés oldalt is. Például ha a béta csatornára bált, akkor a béta alkalmazásfrissítések is fel lesznek kínálva az alkalmazáskezelés oldalon.",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Alább módosíthatja a frissítési csatornát, amely érinti az alkalmazáskezelés oldalt is. Például ha a béta csatornára vált, akkor a béta alkalmazásfrissítések is fel lesznek kínálva az alkalmazáskezelés oldalon.",
"Update channel:" : "Frissítési csatorna:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Bármikor frissíthet egy újabb verzióra, viszont sosem léphet vissza egy stabilabb verzióra.",
"Notify members of the following groups about available updates:" : "A következő csoport tagjainak értesítése az elérhető frissítésekről:",
diff --git a/apps/updatenotification/l10n/ko.js b/apps/updatenotification/l10n/ko.js
index 44b3ca49305..e74dece5df1 100644
--- a/apps/updatenotification/l10n/ko.js
+++ b/apps/updatenotification/l10n/ko.js
@@ -14,18 +14,21 @@ OC.L10N.register(
"Update" : "업데이트",
"The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "실행 중인 버전이 더 이상 지원되지 않습니다. 빠른 시일 내에 지원되는 버전으로 업데이트하십시오.",
"View in store" : "스토어에서 보기",
+ "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "100명 이상의 사용자 수를 보유하고 있는 경우 웹 업데이터 사용을 권장하지 않습니다. 대신 명령행 업데이터를 사용하십시오. ",
"Open updater" : "업데이터 열기",
"Download now" : "지금 다운로드",
"What's new?" : "새로운 항목",
"The update check is not yet finished. Please refresh the page." : "업데이트 확인이 아직 끝나지 않았습니다. 페이지를 새로 고치십시오.",
"Your version is up to date." : "최신 버전을 사용하고 있습니다.",
"A non-default update server is in use to be checked for updates:" : "기본 업데이트 서버가 아닌 곳에서 업데이트를 확인하고 있음:",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "아래에서 업데이트 채널을 번경할 수 있으며, 이는 앱 관리 페이지에도 적용됩니다. 예를 들어 베타 채널로 변경할 경우, 앱 관리 페이지에서 각 앱에 대한 배타 업데이트가 제공됩니다.",
"Update channel:" : "업데이트 채널:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "항상 새 버전으로 업그레이드할 수 있지만, 더 안정적인 버전으로 다운그레이드할 수는 없습니다.",
"Notify members of the following groups about available updates:" : "다음 그룹 구성원에게 업데이트 알림 전달:",
"The selected update channel makes dedicated notifications for the server obsolete." : "선택한 업데이트 채널은 서버 알림을 사용하지 않습니다.",
"The selected update channel does not support updates of the server." : "선택한 업데이트 채널은 서버 업데이트를 지원하지 않습니다.",
"A new version is available: <strong>{newVersionString}</strong>" : "새 버전을 사용할 수 있음: <strong>{newVersionString}</strong>",
+ "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "메이저 업그레이드는 해당 버전의 첫 마이너 업데이트 혹은 그 후의 업데이트에 대해 제공됩니다. 새로운 버전은 단계적으로 적용되며, 문제가 발생할 경우 배포를 중단하고 다음 업데이트로 건너뛸 수 있습니다. 업데이트와 릴리즈 채널에 대한 자세한 정보는 다음의 링크를 참고하십시오. {link}",
"Checked on {lastCheckedDate}" : "{lastCheckedDate}에 확인함",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "config.php에서 <samp>appstoreenabled</samp> 설정이 false가 아닌지 확인하십시오.",
"View changelog" : "변경 기록 확인",
diff --git a/apps/updatenotification/l10n/ko.json b/apps/updatenotification/l10n/ko.json
index 31ac9ef6732..49737200b33 100644
--- a/apps/updatenotification/l10n/ko.json
+++ b/apps/updatenotification/l10n/ko.json
@@ -12,18 +12,21 @@
"Update" : "업데이트",
"The version you are running is not maintained anymore. Please make sure to update to a supported version as soon as possible." : "실행 중인 버전이 더 이상 지원되지 않습니다. 빠른 시일 내에 지원되는 버전으로 업데이트하십시오.",
"View in store" : "스토어에서 보기",
+ "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "100명 이상의 사용자 수를 보유하고 있는 경우 웹 업데이터 사용을 권장하지 않습니다. 대신 명령행 업데이터를 사용하십시오. ",
"Open updater" : "업데이터 열기",
"Download now" : "지금 다운로드",
"What's new?" : "새로운 항목",
"The update check is not yet finished. Please refresh the page." : "업데이트 확인이 아직 끝나지 않았습니다. 페이지를 새로 고치십시오.",
"Your version is up to date." : "최신 버전을 사용하고 있습니다.",
"A non-default update server is in use to be checked for updates:" : "기본 업데이트 서버가 아닌 곳에서 업데이트를 확인하고 있음:",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "아래에서 업데이트 채널을 번경할 수 있으며, 이는 앱 관리 페이지에도 적용됩니다. 예를 들어 베타 채널로 변경할 경우, 앱 관리 페이지에서 각 앱에 대한 배타 업데이트가 제공됩니다.",
"Update channel:" : "업데이트 채널:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "항상 새 버전으로 업그레이드할 수 있지만, 더 안정적인 버전으로 다운그레이드할 수는 없습니다.",
"Notify members of the following groups about available updates:" : "다음 그룹 구성원에게 업데이트 알림 전달:",
"The selected update channel makes dedicated notifications for the server obsolete." : "선택한 업데이트 채널은 서버 알림을 사용하지 않습니다.",
"The selected update channel does not support updates of the server." : "선택한 업데이트 채널은 서버 업데이트를 지원하지 않습니다.",
"A new version is available: <strong>{newVersionString}</strong>" : "새 버전을 사용할 수 있음: <strong>{newVersionString}</strong>",
+ "Note that after a new release the update only shows up after the first minor release or later. We roll out new versions spread out over time to our users and sometimes skip a version when issues are found. Learn more about updates and release channels at {link}" : "메이저 업그레이드는 해당 버전의 첫 마이너 업데이트 혹은 그 후의 업데이트에 대해 제공됩니다. 새로운 버전은 단계적으로 적용되며, 문제가 발생할 경우 배포를 중단하고 다음 업데이트로 건너뛸 수 있습니다. 업데이트와 릴리즈 채널에 대한 자세한 정보는 다음의 링크를 참고하십시오. {link}",
"Checked on {lastCheckedDate}" : "{lastCheckedDate}에 확인함",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "config.php에서 <samp>appstoreenabled</samp> 설정이 false가 아닌지 확인하십시오.",
"View changelog" : "변경 기록 확인",
diff --git a/apps/updatenotification/l10n/sv.js b/apps/updatenotification/l10n/sv.js
index e5fc0e3b624..07683927dd9 100644
--- a/apps/updatenotification/l10n/sv.js
+++ b/apps/updatenotification/l10n/sv.js
@@ -17,6 +17,7 @@ OC.L10N.register(
"Apps missing compatible version" : "Appar som saknar kompatibel version",
"View in store" : "Visa i butik",
"Apps with compatible version" : "Appar med kompatibel version",
+ "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Observera att webbuppdateraren inte rekommenderas med fler än 100 användare! Använd kommandouppdateraren istället!",
"Open updater" : "Öppna uppdateraren",
"Download now" : "Hämta nu",
"Please use the command line updater to update." : "Vänligen uppdatera via kommandotolken.",
@@ -24,6 +25,7 @@ OC.L10N.register(
"The update check is not yet finished. Please refresh the page." : "Uppdateringskontrollen är inte färdig ännu. Vänligen uppdatera sidan.",
"Your version is up to date." : "Din version är uppdaterad.",
"A non-default update server is in use to be checked for updates:" : "En icke-standard uppdateringsserver används för att kontrolleras efter uppdateringar:",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Du kan ändra uppdateringskanalen nedan, vilket också påverkar apphanteringssidan. T.ex. efter att du har bytt till betakanalen kommer betaappuppdateringar att erbjudas på apphanteringssidan.",
"Update channel:" : "Uppdateringskanal:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Du kan alltid uppdatera till en nyare version, men du kan aldrig nedgradera till en mer stabil version.",
"Notify members of the following groups about available updates:" : "Notifiera medlemmar i följande grupper om tillgängliga uppdateraingar:",
@@ -36,6 +38,7 @@ OC.L10N.register(
"Checking apps for compatible versions" : "Kontrollerar appar efter kompatibla versioner",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Se till att din config.php inte ställer in <samp>appstoreenabled</samp> till falsk.",
"Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Kunde inte ansluta till appbutiken eller så returnerades inga uppdateringar alls. Sök manuellt för uppdateringar och säkerställ att din server har tillgång till internet och kan ansluta till appbutiken.",
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Alla</strong> appar har en kompatibel version för denna version av Nextcloud.",
"View changelog" : "Visa ändringslogg",
"Enterprise" : "Enterprise",
"For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Innehåller alltid den senaste patchnivån, men uppdateras inte omedelbart till nästa större version. Den uppdateringen sker när Nextcloud GmbH har utfört ytterligare verifiering och testning för storskaliga och kritiska installationer. Den här kanalen är endast tillgänglig för kunder och tillhandahåller Nextcloud Enterprise-paketet.",
@@ -43,6 +46,7 @@ OC.L10N.register(
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Den senaste stabila versionen. Den är lämplig för regelbunden användning och kommer alltid att uppdatera till den senaste större mer omfattande versionen.",
"Beta" : "Beta",
"A pre-release version only for testing new features, not for production environments." : "En förhandsversion endast för att testa nya funktioner, inte för produktionsmiljöer.",
+ "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["<strong>%n</strong> app har ingen tillgänglig kompatibel version för denna version av Nextcloud.","<strong>%n</strong> appar har ingen tillgänglig kompatibel version för denna version av Nextcloud."],
"<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>Alla</strong> appar har en kompatibel version för denna version av Nextcloud.",
"_<strong>%n</strong> app has no compatible version for this Nextcloud version available_::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available_" : ["<strong>%n</strong> app har ingen tillgänglig kompatibel version för denna version av Nextcloud.","<strong>%n</strong> appar har ingen tillgänglig kompatibel version för denna version av Nextcloud."]
},
diff --git a/apps/updatenotification/l10n/sv.json b/apps/updatenotification/l10n/sv.json
index 9eb451d9cf6..70a72cfc736 100644
--- a/apps/updatenotification/l10n/sv.json
+++ b/apps/updatenotification/l10n/sv.json
@@ -15,6 +15,7 @@
"Apps missing compatible version" : "Appar som saknar kompatibel version",
"View in store" : "Visa i butik",
"Apps with compatible version" : "Appar med kompatibel version",
+ "Please note that the web updater is not recommended with more than 100 users! Please use the command line updater instead!" : "Observera att webbuppdateraren inte rekommenderas med fler än 100 användare! Använd kommandouppdateraren istället!",
"Open updater" : "Öppna uppdateraren",
"Download now" : "Hämta nu",
"Please use the command line updater to update." : "Vänligen uppdatera via kommandotolken.",
@@ -22,6 +23,7 @@
"The update check is not yet finished. Please refresh the page." : "Uppdateringskontrollen är inte färdig ännu. Vänligen uppdatera sidan.",
"Your version is up to date." : "Din version är uppdaterad.",
"A non-default update server is in use to be checked for updates:" : "En icke-standard uppdateringsserver används för att kontrolleras efter uppdateringar:",
+ "You can change the update channel below which also affects the apps management page. E.g. after switching to the beta channel, beta app updates will be offered to you in the apps management page." : "Du kan ändra uppdateringskanalen nedan, vilket också påverkar apphanteringssidan. T.ex. efter att du har bytt till betakanalen kommer betaappuppdateringar att erbjudas på apphanteringssidan.",
"Update channel:" : "Uppdateringskanal:",
"You can always update to a newer version. But you can never downgrade to a more stable version." : "Du kan alltid uppdatera till en nyare version, men du kan aldrig nedgradera till en mer stabil version.",
"Notify members of the following groups about available updates:" : "Notifiera medlemmar i följande grupper om tillgängliga uppdateraingar:",
@@ -34,6 +36,7 @@
"Checking apps for compatible versions" : "Kontrollerar appar efter kompatibla versioner",
"Please make sure your config.php does not set <samp>appstoreenabled</samp> to false." : "Se till att din config.php inte ställer in <samp>appstoreenabled</samp> till falsk.",
"Could not connect to the App Store or no updates have been returned at all. Search manually for updates or make sure your server has access to the internet and can connect to the App Store." : "Kunde inte ansluta till appbutiken eller så returnerades inga uppdateringar alls. Sök manuellt för uppdateringar och säkerställ att din server har tillgång till internet och kan ansluta till appbutiken.",
+ "<strong>All</strong> apps have a compatible version for this Nextcloud version available." : "<strong>Alla</strong> appar har en kompatibel version för denna version av Nextcloud.",
"View changelog" : "Visa ändringslogg",
"Enterprise" : "Enterprise",
"For enterprise use. Provides always the latest patch level, but will not update to the next major release immediately. That update happens once Nextcloud GmbH has done additional hardening and testing for large-scale and mission-critical deployments. This channel is only available to customers and provides the Nextcloud Enterprise package." : "Innehåller alltid den senaste patchnivån, men uppdateras inte omedelbart till nästa större version. Den uppdateringen sker när Nextcloud GmbH har utfört ytterligare verifiering och testning för storskaliga och kritiska installationer. Den här kanalen är endast tillgänglig för kunder och tillhandahåller Nextcloud Enterprise-paketet.",
@@ -41,6 +44,7 @@
"The most recent stable version. It is suited for regular use and will always update to the latest major version." : "Den senaste stabila versionen. Den är lämplig för regelbunden användning och kommer alltid att uppdatera till den senaste större mer omfattande versionen.",
"Beta" : "Beta",
"A pre-release version only for testing new features, not for production environments." : "En förhandsversion endast för att testa nya funktioner, inte för produktionsmiljöer.",
+ "_<strong>%n</strong> app has no compatible version for this Nextcloud version available._::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available._" : ["<strong>%n</strong> app har ingen tillgänglig kompatibel version för denna version av Nextcloud.","<strong>%n</strong> appar har ingen tillgänglig kompatibel version för denna version av Nextcloud."],
"<strong>All</strong> apps have a compatible version for this Nextcloud version available" : "<strong>Alla</strong> appar har en kompatibel version för denna version av Nextcloud.",
"_<strong>%n</strong> app has no compatible version for this Nextcloud version available_::_<strong>%n</strong> apps have no compatible version for this Nextcloud version available_" : ["<strong>%n</strong> app har ingen tillgänglig kompatibel version för denna version av Nextcloud.","<strong>%n</strong> appar har ingen tillgänglig kompatibel version för denna version av Nextcloud."]
},"pluralForm" :"nplurals=2; plural=(n != 1);"
diff --git a/apps/updatenotification/lib/Controller/APIController.php b/apps/updatenotification/lib/Controller/APIController.php
index 9d5d1c2d764..75b847aceb3 100644
--- a/apps/updatenotification/lib/Controller/APIController.php
+++ b/apps/updatenotification/lib/Controller/APIController.php
@@ -57,6 +57,18 @@ class APIController extends OCSController {
/** @var string */
protected $language;
+ /**
+ * List of apps that were in the appstore but are now shipped and don't have
+ * a compatible update available.
+ *
+ * @var array<string, int>
+ */
+ protected array $appsShippedInFutureVersion = [
+ 'bruteforcesettings' => 25,
+ 'suspicious_login' => 25,
+ 'twofactor_totp' => 25,
+ ];
+
public function __construct(string $appName,
IRequest $request,
IConfig $config,
@@ -92,7 +104,7 @@ class APIController extends OCSController {
} catch (AppPathNotFoundException $e) {
return false;
}
- return !$this->appManager->isShipped($app);
+ return !$this->appManager->isShipped($app) && !isset($this->appsShippedInFutureVersion[$app]);
});
if (empty($installedApps)) {
diff --git a/apps/updatenotification/lib/Notification/BackgroundJob.php b/apps/updatenotification/lib/Notification/BackgroundJob.php
index e7dc193df6c..c1b3cddf945 100644
--- a/apps/updatenotification/lib/Notification/BackgroundJob.php
+++ b/apps/updatenotification/lib/Notification/BackgroundJob.php
@@ -26,10 +26,11 @@ declare(strict_types=1);
*/
namespace OCA\UpdateNotification\Notification;
-use OC\BackgroundJob\TimedJob;
use OC\Installer;
use OC\Updater\VersionCheck;
use OCP\App\IAppManager;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
use OCP\IGroup;
@@ -60,12 +61,14 @@ class BackgroundJob extends TimedJob {
/** @var string[] */
protected $users;
- public function __construct(IConfig $config,
+ public function __construct(ITimeFactory $timeFactory,
+ IConfig $config,
IManager $notificationManager,
IGroupManager $groupManager,
IAppManager $appManager,
IClientService $client,
Installer $installer) {
+ parent::__construct($timeFactory);
// Run once a day
$this->setInterval(60 * 60 * 24);
diff --git a/apps/updatenotification/lib/Notification/Notifier.php b/apps/updatenotification/lib/Notification/Notifier.php
index bfbcc203480..abba20f993b 100644
--- a/apps/updatenotification/lib/Notification/Notifier.php
+++ b/apps/updatenotification/lib/Notification/Notifier.php
@@ -39,7 +39,6 @@ use OCP\Notification\INotifier;
use OCP\Util;
class Notifier implements INotifier {
-
/** @var IURLGenerator */
protected $url;
@@ -141,14 +140,13 @@ class Notifier implements INotifier {
$this->updateAlreadyInstalledCheck($notification, $this->appVersions[$notification->getObjectType()]);
}
- $notification->setParsedSubject($l->t('Update for %1$s to version %2$s is available.', [$appName, $notification->getObjectId()]))
- ->setRichSubject($l->t('Update for {app} to version %s is available.', [$notification->getObjectId()]), [
- 'app' => [
- 'type' => 'app',
- 'id' => $notification->getObjectType(),
- 'name' => $appName,
- ]
- ]);
+ $notification->setRichSubject($l->t('Update for {app} to version %s is available.', [$notification->getObjectId()]), [
+ 'app' => [
+ 'type' => 'app',
+ 'id' => $notification->getObjectType(),
+ 'name' => $appName,
+ ]
+ ]);
if ($this->isAdmin()) {
$notification->setLink($this->url->linkToRouteAbsolute('settings.AppSettings.viewApps', ['category' => 'updates']) . '#app-' . $notification->getObjectType());
diff --git a/apps/updatenotification/tests/Notification/BackgroundJobTest.php b/apps/updatenotification/tests/Notification/BackgroundJobTest.php
index d4d7a543e56..70d1a918a01 100644
--- a/apps/updatenotification/tests/Notification/BackgroundJobTest.php
+++ b/apps/updatenotification/tests/Notification/BackgroundJobTest.php
@@ -31,6 +31,7 @@ use OC\Installer;
use OC\Updater\VersionCheck;
use OCA\UpdateNotification\Notification\BackgroundJob;
use OCP\App\IAppManager;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\Http\Client\IClientService;
use OCP\IConfig;
use OCP\IGroup;
@@ -38,22 +39,24 @@ use OCP\IGroupManager;
use OCP\IUser;
use OCP\Notification\IManager;
use OCP\Notification\INotification;
+use PHPUnit\Framework\MockObject\MockObject;
use Test\TestCase;
class BackgroundJobTest extends TestCase {
-
- /** @var IConfig|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IConfig|MockObject */
protected $config;
- /** @var IManager|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IManager|MockObject */
protected $notificationManager;
- /** @var IGroupManager|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IGroupManager|MockObject */
protected $groupManager;
- /** @var IAppManager|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IAppManager|MockObject */
protected $appManager;
- /** @var IClientService|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var IClientService|MockObject */
protected $client;
- /** @var Installer|\PHPUnit\Framework\MockObject\MockObject */
+ /** @var Installer|MockObject */
protected $installer;
+ /** @var ITimeFactory|MockObject */
+ protected $timeFactory;
protected function setUp(): void {
parent::setUp();
@@ -64,15 +67,17 @@ class BackgroundJobTest extends TestCase {
$this->appManager = $this->createMock(IAppManager::class);
$this->client = $this->createMock(IClientService::class);
$this->installer = $this->createMock(Installer::class);
+ $this->timeFactory = $this->createMock(ITimeFactory::class);
}
/**
* @param array $methods
- * @return BackgroundJob|\PHPUnit\Framework\MockObject\MockObject
+ * @return BackgroundJob|MockObject
*/
protected function getJob(array $methods = []) {
if (empty($methods)) {
return new BackgroundJob(
+ $this->timeFactory,
$this->config,
$this->notificationManager,
$this->groupManager,
@@ -84,6 +89,7 @@ class BackgroundJobTest extends TestCase {
{
return $this->getMockBuilder(BackgroundJob::class)
->setConstructorArgs([
+ $this->timeFactory,
$this->config,
$this->notificationManager,
$this->groupManager,
@@ -429,7 +435,7 @@ class BackgroundJobTest extends TestCase {
/**
* @param string[] $userIds
- * @return IUser[]|\PHPUnit\Framework\MockObject\MockObject[]
+ * @return IUser[]|MockObject[]
*/
protected function getUsers(array $userIds): array {
$users = [];
@@ -445,7 +451,7 @@ class BackgroundJobTest extends TestCase {
/**
* @param string $gid
- * @return \OCP\IGroup|\PHPUnit\Framework\MockObject\MockObject
+ * @return \OCP\IGroup|MockObject
*/
protected function getGroup(string $gid) {
$group = $this->createMock(IGroup::class);
diff --git a/apps/user_ldap/composer/autoload.php b/apps/user_ldap/composer/autoload.php
index d1e331c189e..89e85038c65 100644
--- a/apps/user_ldap/composer/autoload.php
+++ b/apps/user_ldap/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/user_ldap/composer/composer/installed.php b/apps/user_ldap/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/user_ldap/composer/composer/installed.php
+++ b/apps/user_ldap/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/user_ldap/js/wizard/view.js b/apps/user_ldap/js/wizard/view.js
index 5e8b70f3162..8a530c17e4f 100644
--- a/apps/user_ldap/js/wizard/view.js
+++ b/apps/user_ldap/js/wizard/view.js
@@ -86,7 +86,8 @@ OCA = OCA || {};
var agent = view.configModel.configuration.ldap_dn;
var pwd = view.configModel.configuration.ldap_agent_password;
- if((host && port && base) && ((!agent && !pwd) || (agent && pwd))) {
+ if(((host && port && base) || (host && base && host.indexOf('ldapi://') > -1 ))
+ && ((!agent && !pwd) || (agent && pwd))) {
view.enableTabs();
} else {
view.disableTabs();
@@ -107,7 +108,8 @@ OCA = OCA || {};
var userFilter = this.configModel.configuration.ldap_userlist_filter;
var loginFilter = this.configModel.configuration.ldap_login_filter;
- if(host && port && base && userFilter && loginFilter) {
+ if((host && port && base && userFilter && loginFilter) ||
+ (host && base && host.indexOf('ldapi://') > -1 && userFilter && loginFilter)) {
this.configModel.requestConfigurationTest();
} else {
this._updateStatusIndicator(this.STATUS_INCOMPLETE);
diff --git a/apps/user_ldap/l10n/el.js b/apps/user_ldap/l10n/el.js
index fe02038dc07..c42a988b301 100644
--- a/apps/user_ldap/l10n/el.js
+++ b/apps/user_ldap/l10n/el.js
@@ -69,7 +69,7 @@ OC.L10N.register(
"Invalid Host" : "Άκυρος εξυπηρετητής",
"LDAP user and group backend" : "LDAP Σύστημα υποστήριξης χρήστη και ομάδος",
"This application enables administrators to connect Nextcloud to an LDAP-based user directory." : "Η εφαρμογή επιτρέπει την σύνδεση διαχειριστών Nextcloud στον κατάλογο χρήστη LDAP.",
- "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Αυτή η εφαρμογή επιτρέπει στους διαχειριστές να συνδέουν το Nextcloud με έναν κατάλογο χρηστών που βασίζεται στο LDAP για τον έλεγχο ταυτότητας και την παροχή χαρακτηριστικών, ομάδων και χρηστών. Οι διαχειριστές μπορούν να ρυθμίσουν αυτήν την εφαρμογή ώστε να συνδέονται σε έναν ή περισσότερους καταλόγους LDAP ή Active Directories μέσω διεπαφής LDAP. Χαρακτηριστικά όπως η ποσόστωση των χρηστών, τα μηνύματα ηλεκτρονικού ταχυδρομείου, οι εικόνες των avatar, η συμμετοχή σε ομάδες και άλλα μπορούν να τραβηχτούν στο Nextcloud από έναν κατάλογο με τα κατάλληλα ερωτήματα και φίλτρα.\n\nΈνας χρήστης συνδέεται στο Nextcloud με τα διαπιστευτήριά του LDAP ή του AD και του παρέχεται πρόσβαση βάσει μιας αίτησης ελέγχου ταυτότητας που χειρίζεται ο διακομιστής LDAP ή AD. Το Nextcloud δεν αποθηκεύει κωδικούς πρόσβασης LDAP ή AD, αλλά αυτά τα διαπιστευτήρια χρησιμοποιούνται για τον έλεγχο ταυτότητας ενός χρήστη και στη συνέχεια το Nextcloud χρησιμοποιεί μια περίοδο σύνδεσης για το αναγνωριστικό χρήστη. Περισσότερες πληροφορίες είναι διαθέσιμες στην τεκμηρίωση του χρήστη LDAP και της ομάδας Backend.",
+ "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Αυτή η εφαρμογή επιτρέπει στους διαχειριστές να συνδέουν το Nextcloud με έναν κατάλογο χρηστών που βασίζεται στο LDAP για τον έλεγχο ταυτότητας και την παροχή χαρακτηριστικών, ομάδων και χρηστών. Οι διαχειριστές μπορούν να ρυθμίσουν αυτήν την εφαρμογή ώστε να συνδέονται σε έναν ή περισσότερους καταλόγους LDAP ή Active Directories μέσω διεπαφής LDAP. Χαρακτηριστικά όπως η ποσόστωση των χρηστών, τα μηνύματα ηλεκτρονικού ταχυδρομείου, οι εικόνες των άβαταρ, η συμμετοχή σε ομάδες και άλλα μπορούν να τραβηχτούν στο Nextcloud από έναν κατάλογο με τα κατάλληλα ερωτήματα και φίλτρα.\n\nΈνας χρήστης συνδέεται στο Nextcloud με τα διαπιστευτήριά του LDAP ή του AD και του παρέχεται πρόσβαση βάσει μιας αίτησης ελέγχου ταυτότητας που χειρίζεται ο διακομιστής LDAP ή AD. Το Nextcloud δεν αποθηκεύει κωδικούς πρόσβασης LDAP ή AD, αλλά αυτά τα διαπιστευτήρια χρησιμοποιούνται για τον έλεγχο ταυτότητας ενός χρήστη και στη συνέχεια το Nextcloud χρησιμοποιεί μια περίοδο σύνδεσης για το αναγνωριστικό χρήστη. Περισσότερες πληροφορίες είναι διαθέσιμες στην τεκμηρίωση του χρήστη LDAP και της ομάδας Backend.",
"Test Configuration" : "Δοκιμαστικές ρυθμίσεις",
"Help" : "Βοήθεια",
"Groups meeting these criteria are available in %s:" : "Οι ομάδες που πληρούν τα κριτήρια είναι διαθέσιμες σε %s:",
diff --git a/apps/user_ldap/l10n/el.json b/apps/user_ldap/l10n/el.json
index ef1fc78ddc6..d37b8b14e6b 100644
--- a/apps/user_ldap/l10n/el.json
+++ b/apps/user_ldap/l10n/el.json
@@ -67,7 +67,7 @@
"Invalid Host" : "Άκυρος εξυπηρετητής",
"LDAP user and group backend" : "LDAP Σύστημα υποστήριξης χρήστη και ομάδος",
"This application enables administrators to connect Nextcloud to an LDAP-based user directory." : "Η εφαρμογή επιτρέπει την σύνδεση διαχειριστών Nextcloud στον κατάλογο χρήστη LDAP.",
- "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Αυτή η εφαρμογή επιτρέπει στους διαχειριστές να συνδέουν το Nextcloud με έναν κατάλογο χρηστών που βασίζεται στο LDAP για τον έλεγχο ταυτότητας και την παροχή χαρακτηριστικών, ομάδων και χρηστών. Οι διαχειριστές μπορούν να ρυθμίσουν αυτήν την εφαρμογή ώστε να συνδέονται σε έναν ή περισσότερους καταλόγους LDAP ή Active Directories μέσω διεπαφής LDAP. Χαρακτηριστικά όπως η ποσόστωση των χρηστών, τα μηνύματα ηλεκτρονικού ταχυδρομείου, οι εικόνες των avatar, η συμμετοχή σε ομάδες και άλλα μπορούν να τραβηχτούν στο Nextcloud από έναν κατάλογο με τα κατάλληλα ερωτήματα και φίλτρα.\n\nΈνας χρήστης συνδέεται στο Nextcloud με τα διαπιστευτήριά του LDAP ή του AD και του παρέχεται πρόσβαση βάσει μιας αίτησης ελέγχου ταυτότητας που χειρίζεται ο διακομιστής LDAP ή AD. Το Nextcloud δεν αποθηκεύει κωδικούς πρόσβασης LDAP ή AD, αλλά αυτά τα διαπιστευτήρια χρησιμοποιούνται για τον έλεγχο ταυτότητας ενός χρήστη και στη συνέχεια το Nextcloud χρησιμοποιεί μια περίοδο σύνδεσης για το αναγνωριστικό χρήστη. Περισσότερες πληροφορίες είναι διαθέσιμες στην τεκμηρίωση του χρήστη LDAP και της ομάδας Backend.",
+ "This application enables administrators to connect Nextcloud to an LDAP-based user directory for authentication and provisioning users, groups and user attributes. Admins can configure this application to connect to one or more LDAP directories or Active Directories via an LDAP interface. Attributes such as user quota, email, avatar pictures, group memberships and more can be pulled into Nextcloud from a directory with the appropriate queries and filters.\n\nA user logs into Nextcloud with their LDAP or AD credentials, and is granted access based on an authentication request handled by the LDAP or AD server. Nextcloud does not store LDAP or AD passwords, rather these credentials are used to authenticate a user and then Nextcloud uses a session for the user ID. More information is available in the LDAP User and Group Backend documentation." : "Αυτή η εφαρμογή επιτρέπει στους διαχειριστές να συνδέουν το Nextcloud με έναν κατάλογο χρηστών που βασίζεται στο LDAP για τον έλεγχο ταυτότητας και την παροχή χαρακτηριστικών, ομάδων και χρηστών. Οι διαχειριστές μπορούν να ρυθμίσουν αυτήν την εφαρμογή ώστε να συνδέονται σε έναν ή περισσότερους καταλόγους LDAP ή Active Directories μέσω διεπαφής LDAP. Χαρακτηριστικά όπως η ποσόστωση των χρηστών, τα μηνύματα ηλεκτρονικού ταχυδρομείου, οι εικόνες των άβαταρ, η συμμετοχή σε ομάδες και άλλα μπορούν να τραβηχτούν στο Nextcloud από έναν κατάλογο με τα κατάλληλα ερωτήματα και φίλτρα.\n\nΈνας χρήστης συνδέεται στο Nextcloud με τα διαπιστευτήριά του LDAP ή του AD και του παρέχεται πρόσβαση βάσει μιας αίτησης ελέγχου ταυτότητας που χειρίζεται ο διακομιστής LDAP ή AD. Το Nextcloud δεν αποθηκεύει κωδικούς πρόσβασης LDAP ή AD, αλλά αυτά τα διαπιστευτήρια χρησιμοποιούνται για τον έλεγχο ταυτότητας ενός χρήστη και στη συνέχεια το Nextcloud χρησιμοποιεί μια περίοδο σύνδεσης για το αναγνωριστικό χρήστη. Περισσότερες πληροφορίες είναι διαθέσιμες στην τεκμηρίωση του χρήστη LDAP και της ομάδας Backend.",
"Test Configuration" : "Δοκιμαστικές ρυθμίσεις",
"Help" : "Βοήθεια",
"Groups meeting these criteria are available in %s:" : "Οι ομάδες που πληρούν τα κριτήρια είναι διαθέσιμες σε %s:",
diff --git a/apps/user_ldap/l10n/en_GB.js b/apps/user_ldap/l10n/en_GB.js
index cb27ab1b65b..fb6c94a2883 100644
--- a/apps/user_ldap/l10n/en_GB.js
+++ b/apps/user_ldap/l10n/en_GB.js
@@ -49,12 +49,21 @@ OC.L10N.register(
"Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in.",
"An unspecified error occurred. Please check log and settings." : "An unspecified error occurred. Please check log and settings.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "The search filter is invalid, probably due to syntax issues like an uneven number of opened and closed brackets. Please revise.",
+ "A connection error to LDAP/AD occurred. Please check host, port and credentials." : "A connection error to LDAP/AD occurred. Please check host, port and credentials.",
+ "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD.",
"Please provide a login name to test against" : "Please provide a login name to test against",
+ "The group box was disabled, because the LDAP/AD server does not support memberOf." : "The group box was disabled, because the LDAP/AD server does not support memberOf.",
"Password change rejected. Hint: " : "Password change rejected. Hint: ",
"Please login with the new password" : "Please login with the new password",
+ "LDAP User backend" : "LDAP User backend",
"Your password will expire tomorrow." : "Your password will expire tomorrow.",
"Your password will expire today." : "Your password will expire today.",
"_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Your password will expire within %n day.","Your password will expire within %n days."],
+ "LDAP/AD integration" : "LDAP/AD integration",
+ "_%n group found_::_%n groups found_" : ["%n group found","%n groups found"],
+ "> 1000 groups found" : "> 1000 groups found",
+ "> 1000 users found" : "> 1000 users found",
+ "_%n user found_::_%n users found_" : ["%n user found","%n users found"],
"Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings.",
"Could not find the desired feature" : "Could not find the desired feature",
"Invalid Host" : "Invalid Host",
@@ -74,6 +83,9 @@ OC.L10N.register(
"The filter specifies which LDAP groups shall have access to the %s instance." : "The filter specifies which LDAP groups shall have access to the %s instance.",
"Verify settings and count the groups" : "Verify settings and count the groups",
"When logging in, %s will find the user based on the following attributes:" : "When logging in, %s will find the user based on the following attributes:",
+ "LDAP/AD Username:" : "LDAP/AD Username:",
+ "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected.",
+ "LDAP/AD Email Address:" : "LDAP/AD Email Address:",
"Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed." : "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed.",
"Other Attributes:" : "Other Attributes:",
"Defines the filter to apply, when login is attempted. \"%%uid\" replaces the username in the login action. Example: \"uid=%%uid\"" : "Defines the filter to apply, when login is attempted. \"%%uid\" replaces the username in the login action. Example: \"uid=%%uid\"",
@@ -166,7 +178,11 @@ OC.L10N.register(
"Email Field" : "Email Field",
"Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Set the user's email from their LDAP attribute. Leave it empty for default behaviour.",
"User Home Folder Naming Rule" : "User Home Folder Naming Rule",
+ "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute." : "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute.",
+ "\"$home\" Placeholder Field" : "\"$home\" Placeholder Field",
+ "$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in an external storage configuration will be replaced with the value of the specified attribute",
"Internal Username" : "Internal Username",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior.",
"Internal Username Attribute:" : "Internal Username Attribute:",
"Override UUID detection" : "Override UUID detection",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "By default, the UUID attribute is automatically detected. The UUID attribute is used to unambiguously identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups.",
@@ -175,6 +191,7 @@ OC.L10N.register(
"Username-LDAP User Mapping" : "Username-LDAP User Mapping",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Usernames are used to store and assign metadata. In order to precisely identify and recognise users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage.",
"Clear Username-LDAP User Mapping" : "Clear Username-LDAP User Mapping",
- "Clear Groupname-LDAP Group Mapping" : "Clear Groupname-LDAP Group Mapping"
+ "Clear Groupname-LDAP Group Mapping" : "Clear Groupname-LDAP Group Mapping",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior."
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_ldap/l10n/en_GB.json b/apps/user_ldap/l10n/en_GB.json
index 7c1861d435b..74c0a75d3e6 100644
--- a/apps/user_ldap/l10n/en_GB.json
+++ b/apps/user_ldap/l10n/en_GB.json
@@ -47,12 +47,21 @@
"Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in." : "Consider narrowing your search, as it encompassed many users, only the first one of whom will be able to log in.",
"An unspecified error occurred. Please check log and settings." : "An unspecified error occurred. Please check log and settings.",
"The search filter is invalid, probably due to syntax issues like uneven number of opened and closed brackets. Please revise." : "The search filter is invalid, probably due to syntax issues like an uneven number of opened and closed brackets. Please revise.",
+ "A connection error to LDAP/AD occurred. Please check host, port and credentials." : "A connection error to LDAP/AD occurred. Please check host, port and credentials.",
+ "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD." : "The \"%uid\" placeholder is missing. It will be replaced with the login name when querying LDAP/AD.",
"Please provide a login name to test against" : "Please provide a login name to test against",
+ "The group box was disabled, because the LDAP/AD server does not support memberOf." : "The group box was disabled, because the LDAP/AD server does not support memberOf.",
"Password change rejected. Hint: " : "Password change rejected. Hint: ",
"Please login with the new password" : "Please login with the new password",
+ "LDAP User backend" : "LDAP User backend",
"Your password will expire tomorrow." : "Your password will expire tomorrow.",
"Your password will expire today." : "Your password will expire today.",
"_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Your password will expire within %n day.","Your password will expire within %n days."],
+ "LDAP/AD integration" : "LDAP/AD integration",
+ "_%n group found_::_%n groups found_" : ["%n group found","%n groups found"],
+ "> 1000 groups found" : "> 1000 groups found",
+ "> 1000 users found" : "> 1000 users found",
+ "_%n user found_::_%n users found_" : ["%n user found","%n users found"],
"Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings.",
"Could not find the desired feature" : "Could not find the desired feature",
"Invalid Host" : "Invalid Host",
@@ -72,6 +81,9 @@
"The filter specifies which LDAP groups shall have access to the %s instance." : "The filter specifies which LDAP groups shall have access to the %s instance.",
"Verify settings and count the groups" : "Verify settings and count the groups",
"When logging in, %s will find the user based on the following attributes:" : "When logging in, %s will find the user based on the following attributes:",
+ "LDAP/AD Username:" : "LDAP/AD Username:",
+ "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected." : "Allows login against the LDAP/AD username, which is either \"uid\" or \"sAMAccountName\" and will be detected.",
+ "LDAP/AD Email Address:" : "LDAP/AD Email Address:",
"Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed." : "Allows login against an email attribute. \"mail\" and \"mailPrimaryAddress\" allowed.",
"Other Attributes:" : "Other Attributes:",
"Defines the filter to apply, when login is attempted. \"%%uid\" replaces the username in the login action. Example: \"uid=%%uid\"" : "Defines the filter to apply, when login is attempted. \"%%uid\" replaces the username in the login action. Example: \"uid=%%uid\"",
@@ -164,7 +176,11 @@
"Email Field" : "Email Field",
"Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Set the user's email from their LDAP attribute. Leave it empty for default behaviour.",
"User Home Folder Naming Rule" : "User Home Folder Naming Rule",
+ "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute." : "Leave empty for username (default). Otherwise, specify an LDAP/AD attribute.",
+ "\"$home\" Placeholder Field" : "\"$home\" Placeholder Field",
+ "$home in an external storage configuration will be replaced with the value of the specified attribute" : "$home in an external storage configuration will be replaced with the value of the specified attribute",
"Internal Username" : "Internal Username",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior.",
"Internal Username Attribute:" : "Internal Username Attribute:",
"Override UUID detection" : "Override UUID detection",
"By default, the UUID attribute is automatically detected. The UUID attribute is used to doubtlessly identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behavior. Changes will have effect only on newly mapped (added) LDAP users and groups." : "By default, the UUID attribute is automatically detected. The UUID attribute is used to unambiguously identify LDAP users and groups. Also, the internal username will be created based on the UUID, if not specified otherwise above. You can override the setting and pass an attribute of your choice. You must make sure that the attribute of your choice can be fetched for both users and groups and it is unique. Leave it empty for default behaviour. Changes will have effect only on newly mapped (added) LDAP users and groups.",
@@ -173,6 +189,7 @@
"Username-LDAP User Mapping" : "Username-LDAP User Mapping",
"Usernames are used to store and assign metadata. In order to precisely identify and recognize users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage." : "Usernames are used to store and assign metadata. In order to precisely identify and recognise users, each LDAP user will have an internal username. This requires a mapping from username to LDAP user. The created username is mapped to the UUID of the LDAP user. Additionally the DN is cached as well to reduce LDAP interaction, but it is not used for identification. If the DN changes, the changes will be found. The internal username is used all over. Clearing the mappings will have leftovers everywhere. Clearing the mappings is not configuration sensitive, it affects all LDAP configurations! Never clear the mappings in a production environment, only in a testing or experimental stage.",
"Clear Username-LDAP User Mapping" : "Clear Username-LDAP User Mapping",
- "Clear Groupname-LDAP Group Mapping" : "Clear Groupname-LDAP Group Mapping"
+ "Clear Groupname-LDAP Group Mapping" : "Clear Groupname-LDAP Group Mapping",
+ "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior." : "By default the internal username will be created from the UUID attribute. It makes sure that the username is unique and characters do not need to be converted. The internal username has the restriction that only these characters are allowed: [a-zA-Z0-9_.@-]. Other characters are replaced with their ASCII correspondence or simply omitted. On collisions a number will be added/increased. The internal username is used to identify a user internally. It is also the default name for the user home folder. It is also a part of remote URLs, for instance for all *DAV services. With this setting, the default behavior can be overridden. Changes will have effect only on newly mapped (added) LDAP users. Leave it empty for default behavior."
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_ldap/l10n/fr.js b/apps/user_ldap/l10n/fr.js
index e5be5be3bde..ae3367e3c77 100644
--- a/apps/user_ldap/l10n/fr.js
+++ b/apps/user_ldap/l10n/fr.js
@@ -61,6 +61,8 @@ OC.L10N.register(
"_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Votre mot de passe va expirer dans %n jour.","Votre mot de passe va expirer dans %n jours.","Votre mot de passe va expirer dans %n jours."],
"LDAP/AD integration" : "Integration LDAP/AD ",
"_%n group found_::_%n groups found_" : ["%n groupe trouvé","%n groupes trouvés","%n groupes trouvés"],
+ "> 1000 groups found" : "> 1000 groupes trouvés",
+ "> 1000 users found" : "> 1000 utilisateurs trouvés",
"_%n user found_::_%n users found_" : ["%n utilisateur trouvé","%n utilisateurs trouvés","%n utilisateurs trouvés"],
"Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Impossible de détecter l'attribut contenant le nom d'affichage des utilisateurs. Veuillez l'indiquer vous-même dans les paramètres LDAP avancés.",
"Could not find the desired feature" : "Impossible de trouver la fonction souhaitée",
diff --git a/apps/user_ldap/l10n/fr.json b/apps/user_ldap/l10n/fr.json
index 8bc527b933b..064fa3e9e6e 100644
--- a/apps/user_ldap/l10n/fr.json
+++ b/apps/user_ldap/l10n/fr.json
@@ -59,6 +59,8 @@
"_Your password will expire within %n day._::_Your password will expire within %n days._" : ["Votre mot de passe va expirer dans %n jour.","Votre mot de passe va expirer dans %n jours.","Votre mot de passe va expirer dans %n jours."],
"LDAP/AD integration" : "Integration LDAP/AD ",
"_%n group found_::_%n groups found_" : ["%n groupe trouvé","%n groupes trouvés","%n groupes trouvés"],
+ "> 1000 groups found" : "> 1000 groupes trouvés",
+ "> 1000 users found" : "> 1000 utilisateurs trouvés",
"_%n user found_::_%n users found_" : ["%n utilisateur trouvé","%n utilisateurs trouvés","%n utilisateurs trouvés"],
"Could not detect user display name attribute. Please specify it yourself in advanced LDAP settings." : "Impossible de détecter l'attribut contenant le nom d'affichage des utilisateurs. Veuillez l'indiquer vous-même dans les paramètres LDAP avancés.",
"Could not find the desired feature" : "Impossible de trouver la fonction souhaitée",
diff --git a/apps/user_ldap/l10n/sv.js b/apps/user_ldap/l10n/sv.js
index 5467a9359a4..fd92ed2cf86 100644
--- a/apps/user_ldap/l10n/sv.js
+++ b/apps/user_ldap/l10n/sv.js
@@ -7,7 +7,7 @@ OC.L10N.register(
"Valid configuration, connection established!" : "Giltig konfiguration, anslutning upprättad!",
"Valid configuration, but binding failed. Please check the server settings and credentials." : "Giltig konfiguration, men bindning misslyckades. Vänligen kontrollera uppgifter och serverinställningarna.",
"Invalid configuration. Please have a look at the logs for further details." : "Ogiltig konfiguration. Vänligen undersök loggar för mer detaljer.",
- "No action specified" : "Ingen åtgärd har angetts",
+ "No action specified" : "Ingen funktion har angetts",
"No configuration specified" : "Ingen konfiguration har angetts",
"No data specified" : "Inga data har angetts",
" Could not set configuration %s" : "Kunde inte sätta inställning %s",
diff --git a/apps/user_ldap/l10n/sv.json b/apps/user_ldap/l10n/sv.json
index d214492094d..e7fdc6e42b7 100644
--- a/apps/user_ldap/l10n/sv.json
+++ b/apps/user_ldap/l10n/sv.json
@@ -5,7 +5,7 @@
"Valid configuration, connection established!" : "Giltig konfiguration, anslutning upprättad!",
"Valid configuration, but binding failed. Please check the server settings and credentials." : "Giltig konfiguration, men bindning misslyckades. Vänligen kontrollera uppgifter och serverinställningarna.",
"Invalid configuration. Please have a look at the logs for further details." : "Ogiltig konfiguration. Vänligen undersök loggar för mer detaljer.",
- "No action specified" : "Ingen åtgärd har angetts",
+ "No action specified" : "Ingen funktion har angetts",
"No configuration specified" : "Ingen konfiguration har angetts",
"No data specified" : "Inga data har angetts",
" Could not set configuration %s" : "Kunde inte sätta inställning %s",
diff --git a/apps/user_ldap/l10n/uk.js b/apps/user_ldap/l10n/uk.js
index 7ce76c7bf73..24e66a20635 100644
--- a/apps/user_ldap/l10n/uk.js
+++ b/apps/user_ldap/l10n/uk.js
@@ -169,14 +169,14 @@ OC.L10N.register(
"Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Дозволити користувачам LDAP змінювати свій пароль і дозволити супер (прихованим) адміністраторам і адміністраторам груп змінювати пароль своїх користувачів LDAP. Працює тільки тоді, коли політики контролю доступу налаштовані відповідним чином на LDAP сервері. Оскільки паролі відправляються на LDAP-сервер у відкритому вигляді, необхідно використовувати транспортне шифрування і налаштувати хешування паролів на LDAP-сервері. ",
"(New password is sent as plain text to LDAP)" : "(Новий пароль надсилається як звичайний текст до LDAP)",
"Default password policy DN" : "DN політики паролів за замовчуванням",
- "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "DN політики паролів за умовчанням, яка використовуватиметься для обробки терміну дії пароля. Працює лише тоді, коли ввімкнено зміну пароля LDAP для кожного користувача та підтримується лише OpenLDAP. Залиште пустим, щоб вимкнути обробку терміну дії пароля.",
+ "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "DN типової політики паролів, що використовуватиметься для обробки терміну дії пароля. Працює лише тоді, коли ввімкнено зміну пароля LDAP для кожного користувача та підтримується лише OpenLDAP. Залиште пустим, щоб вимкнути обробку терміну дії пароля.",
"Special Attributes" : "Спеціальні Атрибути",
"Quota Field" : "Поле Квоти",
- "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Залиште пустим для квоти користувача за умовчанням. В іншому випадку вкажіть атрибут LDAP/AD.",
+ "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Залиште порожнім, щоби визначити типову квоту користувача. В іншому випадку зазначте атрибут LDAP/AD.",
"Quota Default" : "Квота за замовчанням",
"Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Перевизначити квоту за замовчуванням для користувачів LDAP, які не мають квоти, встановленої в полі квоти.",
"Email Field" : "Поле E-mail",
- "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Установіть електронну пошту користувача з його атрибута LDAP. Залиште поле порожнім для поведінки за умовчанням.",
+ "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Установіть електронну пошту користувача з його атрибута LDAP. Залиште поле порожнім для застосування типового значення.",
"User Home Folder Naming Rule" : "Правило іменування домашнього каталогу користувача",
"Leave empty for username (default). Otherwise, specify an LDAP/AD attribute." : "Залиште порожнім для імені користувача (за замовчуванням). В іншому випадку вкажіть атрибут LDAP/AD.",
"\"$home\" Placeholder Field" : "Поле заповнювача \"$home\".",
diff --git a/apps/user_ldap/l10n/uk.json b/apps/user_ldap/l10n/uk.json
index 130dd65a1f2..a80c47ebfda 100644
--- a/apps/user_ldap/l10n/uk.json
+++ b/apps/user_ldap/l10n/uk.json
@@ -167,14 +167,14 @@
"Allow LDAP users to change their password and allow Super Administrators and Group Administrators to change the password of their LDAP users. Only works when access control policies are configured accordingly on the LDAP server. As passwords are sent in plaintext to the LDAP server, transport encryption must be used and password hashing should be configured on the LDAP server." : "Дозволити користувачам LDAP змінювати свій пароль і дозволити супер (прихованим) адміністраторам і адміністраторам груп змінювати пароль своїх користувачів LDAP. Працює тільки тоді, коли політики контролю доступу налаштовані відповідним чином на LDAP сервері. Оскільки паролі відправляються на LDAP-сервер у відкритому вигляді, необхідно використовувати транспортне шифрування і налаштувати хешування паролів на LDAP-сервері. ",
"(New password is sent as plain text to LDAP)" : "(Новий пароль надсилається як звичайний текст до LDAP)",
"Default password policy DN" : "DN політики паролів за замовчуванням",
- "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "DN політики паролів за умовчанням, яка використовуватиметься для обробки терміну дії пароля. Працює лише тоді, коли ввімкнено зміну пароля LDAP для кожного користувача та підтримується лише OpenLDAP. Залиште пустим, щоб вимкнути обробку терміну дії пароля.",
+ "The DN of a default password policy that will be used for password expiry handling. Works only when LDAP password changes per user are enabled and is only supported by OpenLDAP. Leave empty to disable password expiry handling." : "DN типової політики паролів, що використовуватиметься для обробки терміну дії пароля. Працює лише тоді, коли ввімкнено зміну пароля LDAP для кожного користувача та підтримується лише OpenLDAP. Залиште пустим, щоб вимкнути обробку терміну дії пароля.",
"Special Attributes" : "Спеціальні Атрибути",
"Quota Field" : "Поле Квоти",
- "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Залиште пустим для квоти користувача за умовчанням. В іншому випадку вкажіть атрибут LDAP/AD.",
+ "Leave empty for user's default quota. Otherwise, specify an LDAP/AD attribute." : "Залиште порожнім, щоби визначити типову квоту користувача. В іншому випадку зазначте атрибут LDAP/AD.",
"Quota Default" : "Квота за замовчанням",
"Override default quota for LDAP users who do not have a quota set in the Quota Field." : "Перевизначити квоту за замовчуванням для користувачів LDAP, які не мають квоти, встановленої в полі квоти.",
"Email Field" : "Поле E-mail",
- "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Установіть електронну пошту користувача з його атрибута LDAP. Залиште поле порожнім для поведінки за умовчанням.",
+ "Set the user's email from their LDAP attribute. Leave it empty for default behaviour." : "Установіть електронну пошту користувача з його атрибута LDAP. Залиште поле порожнім для застосування типового значення.",
"User Home Folder Naming Rule" : "Правило іменування домашнього каталогу користувача",
"Leave empty for username (default). Otherwise, specify an LDAP/AD attribute." : "Залиште порожнім для імені користувача (за замовчуванням). В іншому випадку вкажіть атрибут LDAP/AD.",
"\"$home\" Placeholder Field" : "Поле заповнювача \"$home\".",
diff --git a/apps/user_ldap/lib/Configuration.php b/apps/user_ldap/lib/Configuration.php
index c16823d39ee..f2090291d32 100644
--- a/apps/user_ldap/lib/Configuration.php
+++ b/apps/user_ldap/lib/Configuration.php
@@ -120,6 +120,7 @@ class Configuration {
'ldapDefaultPPolicyDN' => null,
'ldapExtStorageHomeAttribute' => null,
'ldapMatchingRuleInChainState' => self::LDAP_SERVER_FEATURE_UNKNOWN,
+ 'ldapConnectionTimeout' => 15,
];
public function __construct(string $configPrefix, bool $autoRead = true) {
@@ -463,6 +464,7 @@ class Configuration {
'ldap_user_avatar_rule' => 'default',
'ldap_ext_storage_home_attribute' => '',
'ldap_matching_rule_in_chain_state' => self::LDAP_SERVER_FEATURE_UNKNOWN,
+ 'ldap_connection_timeout' => 15,
];
}
@@ -526,6 +528,7 @@ class Configuration {
'ldap_ext_storage_home_attribute' => 'ldapExtStorageHomeAttribute',
'ldap_matching_rule_in_chain_state' => 'ldapMatchingRuleInChainState',
'ldapIgnoreNamingRules' => 'ldapIgnoreNamingRules', // sysconfig
+ 'ldap_connection_timeout' => 'ldapConnectionTimeout',
];
return $array;
}
@@ -559,4 +562,11 @@ class Configuration {
}
return $defaultAttributes;
}
+
+ /**
+ * Returns TRUE if the ldapHost variable starts with 'ldapi://'
+ */
+ public function usesLdapi(): bool {
+ return (substr($this->config['ldapHost'], 0, strlen('ldapi://')) === 'ldapi://');
+ }
}
diff --git a/apps/user_ldap/lib/Connection.php b/apps/user_ldap/lib/Connection.php
index 89b58b7ebfd..0ebca44082e 100644
--- a/apps/user_ldap/lib/Connection.php
+++ b/apps/user_ldap/lib/Connection.php
@@ -18,6 +18,7 @@
* @author root <root@localhost.localdomain>
* @author Victor Dubiniuk <dubiniuk@owncloud.com>
* @author Xuanwo <xuanwo@yunify.com>
+ * @author Vincent Van Houtte <vvh@aplusv.be>
*
* @license AGPL-3.0
*
@@ -167,7 +168,7 @@ class Connection extends LDAPUtility {
*/
public function __clone() {
$this->configuration = new Configuration($this->configPrefix,
- !is_null($this->configID));
+ !is_null($this->configID));
if (count($this->bindResult) !== 0 && $this->bindResult['result'] === true) {
$this->bindResult = [];
}
@@ -407,9 +408,8 @@ class Connection extends LDAPUtility {
} else {
$uuidAttributes = Access::UUID_ATTRIBUTES;
array_unshift($uuidAttributes, 'auto');
- if (!in_array($this->configuration->$effectiveSetting,
- $uuidAttributes)
- && (!is_null($this->configID))) {
+ if (!in_array($this->configuration->$effectiveSetting, $uuidAttributes)
+ && !is_null($this->configID)) {
$this->configuration->$effectiveSetting = 'auto';
$this->configuration->saveConfiguration();
$this->logger->info(
@@ -454,8 +454,14 @@ class Connection extends LDAPUtility {
(string)$this->configPrefix .'): ';
//options that shall not be empty
- $options = ['ldapHost', 'ldapPort', 'ldapUserDisplayName',
+ $options = ['ldapHost', 'ldapUserDisplayName',
'ldapGroupDisplayName', 'ldapLoginFilter'];
+
+ //ldapPort should not be empty either unless ldapHost is pointing to a socket
+ if (!$this->configuration->usesLdapi()) {
+ $options[] = 'ldapPort';
+ }
+
foreach ($options as $key) {
$val = $this->configuration->$key;
if (empty($val)) {
@@ -606,12 +612,18 @@ class Connection extends LDAPUtility {
if (!$isBackupHost) {
throw $e;
}
+ $this->logger->warning(
+ 'Main LDAP not reachable, connecting to backup',
+ [
+ 'app' => 'user_ldap'
+ ]
+ );
}
//if LDAP server is not reachable, try the Backup (Replica!) Server
if ($isBackupHost || $isOverrideMainServer) {
$this->doConnect($this->configuration->ldapBackupHost,
- $this->configuration->ldapBackupPort);
+ $this->configuration->ldapBackupPort);
$this->bindResult = [];
$bindStatus = $this->bind();
$error = $this->ldap->isResource($this->ldapConnectionRes) ?
@@ -649,6 +661,10 @@ class Connection extends LDAPUtility {
throw new ServerNotAvailableException('Could not disable LDAP referrals.');
}
+ if (!$this->ldap->setOption($this->ldapConnectionRes, LDAP_OPT_NETWORK_TIMEOUT, $this->configuration->ldapConnectionTimeout)) {
+ throw new ServerNotAvailableException('Could not set network timeout');
+ }
+
if ($this->configuration->ldapTLS) {
if (!$this->ldap->startTls($this->ldapConnectionRes)) {
throw new ServerNotAvailableException('Start TLS failed, when connecting to LDAP host ' . $host . '.');
@@ -681,8 +697,8 @@ class Connection extends LDAPUtility {
}
$ldapLogin = @$this->ldap->bind($cr,
- $this->configuration->ldapAgentName,
- $this->configuration->ldapAgentPassword);
+ $this->configuration->ldapAgentName,
+ $this->configuration->ldapAgentPassword);
$this->bindResult = [
'sum' => md5($this->configuration->ldapAgentName . $this->configPrefix . $this->configuration->ldapAgentPassword),
diff --git a/apps/user_ldap/lib/Group_LDAP.php b/apps/user_ldap/lib/Group_LDAP.php
index 81cb30dd25b..b32e031175f 100644
--- a/apps/user_ldap/lib/Group_LDAP.php
+++ b/apps/user_ldap/lib/Group_LDAP.php
@@ -1324,10 +1324,11 @@ class Group_LDAP extends BackendUtility implements GroupInterface, IGroupLDAP, I
if (($displayName !== false) && (count($displayName) > 0)) {
$displayName = $displayName[0];
- $this->access->connection->writeToCache($cacheKey, $displayName);
- return $displayName;
+ } else {
+ $displayName = '';
}
- return '';
+ $this->access->connection->writeToCache($cacheKey, $displayName);
+ return $displayName;
}
}
diff --git a/apps/user_ldap/lib/Jobs/CleanUp.php b/apps/user_ldap/lib/Jobs/CleanUp.php
index 22067d81a9d..be7c09bd961 100644
--- a/apps/user_ldap/lib/Jobs/CleanUp.php
+++ b/apps/user_ldap/lib/Jobs/CleanUp.php
@@ -25,7 +25,8 @@
*/
namespace OCA\User_LDAP\Jobs;
-use OC\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCA\User_LDAP\Helper;
use OCA\User_LDAP\Mapping\UserMapping;
use OCA\User_LDAP\User\DeletedUsersIndex;
@@ -64,7 +65,12 @@ class CleanUp extends TimedJob {
/** @var DeletedUsersIndex */
protected $dui;
- public function __construct(User_Proxy $userBackend, DeletedUsersIndex $dui) {
+ public function __construct(
+ ITimeFactory $timeFactory,
+ User_Proxy $userBackend,
+ DeletedUsersIndex $dui
+ ) {
+ parent::__construct($timeFactory);
$minutes = \OC::$server->getConfig()->getSystemValue(
'ldapUserCleanupInterval', (string)$this->defaultIntervalMin);
$this->setInterval((int)$minutes * 60);
diff --git a/apps/user_ldap/lib/LDAP.php b/apps/user_ldap/lib/LDAP.php
index 6a54f89880d..5730907b653 100644
--- a/apps/user_ldap/lib/LDAP.php
+++ b/apps/user_ldap/lib/LDAP.php
@@ -75,7 +75,7 @@ class LDAP implements ILDAPWrapper {
$host = 'ldap://' . $host;
$pos = 4;
}
- if (strpos($host, ':', $pos + 1) === false) {
+ if (strpos($host, ':', $pos + 1) === false && !empty($port)) {
//ldap_connect ignores port parameter when URLs are passed
$host .= ':' . $port;
}
diff --git a/apps/user_ldap/lib/Wizard.php b/apps/user_ldap/lib/Wizard.php
index 2ecdce610a7..3014ec8e8a7 100644
--- a/apps/user_ldap/lib/Wizard.php
+++ b/apps/user_ldap/lib/Wizard.php
@@ -19,6 +19,7 @@
* @author Tobias Perschon <tobias@perschon.at>
* @author Victor Dubiniuk <dubiniuk@owncloud.com>
* @author Xuanwo <xuanwo@yunify.com>
+ * @author Vincent Van Houtte <vvh@aplusv.be>
* @author Côme Chilliet <come.chilliet@nextcloud.com>
*
* @license AGPL-3.0
@@ -95,7 +96,10 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
public function countEntries(string $filter, string $type): int {
- $reqs = ['ldapHost', 'ldapPort', 'ldapBase'];
+ $reqs = ['ldapHost', 'ldapBase'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
if ($type === 'users') {
$reqs[] = 'ldapUserFilter';
}
@@ -189,13 +193,13 @@ class Wizard extends LDAPUtility {
* counts users with a specified attribute
* @return int|false
*/
- public function countUsersWithAttribute(string $attr, bool $existsCheck = false) {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- 'ldapUserFilter',
- ])) {
- return false;
+ public function countUsersWithAttribute(string $attr, bool $existsCheck = false) {
+ $reqs = ['ldapHost', 'ldapBase', 'ldapUserFilter'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
+ return false;
}
$filter = $this->access->combineFilterWithAnd([
@@ -215,11 +219,11 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
public function detectUserDisplayNameAttribute() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- 'ldapUserFilter',
- ])) {
+ $reqs = ['ldapHost', 'ldapBase', 'ldapUserFilter'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
return false;
}
@@ -257,11 +261,11 @@ class Wizard extends LDAPUtility {
* @return WizardResult|bool
*/
public function detectEmailAttribute() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- 'ldapUserFilter',
- ])) {
+ $reqs = ['ldapHost', 'ldapBase', 'ldapUserFilter'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
return false;
}
@@ -306,12 +310,12 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
public function determineAttributes() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- 'ldapUserFilter',
- ])) {
- return false;
+ $reqs = ['ldapHost', 'ldapBase', 'ldapUserFilter'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
+ return false;
}
$attributes = $this->getUserAttributes();
@@ -339,12 +343,12 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
private function getUserAttributes() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- 'ldapUserFilter',
- ])) {
- return false;
+ $reqs = ['ldapHost', 'ldapBase', 'ldapUserFilter'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
+ return false;
}
$cr = $this->getConnection();
if (!$cr) {
@@ -395,12 +399,13 @@ class Wizard extends LDAPUtility {
* @return WizardResult|false the instance's WizardResult instance
* @throws \Exception
*/
- private function determineGroups(string $dbKey, string $confKey, bool $testMemberOf = true) {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- ])) {
- return false;
+ private function determineGroups(string $dbKey, string $confKey, bool $testMemberOf = true) {
+ $reqs = ['ldapHost', 'ldapBase'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
+ return false;
}
$cr = $this->getConnection();
if (!$cr) {
@@ -476,11 +481,12 @@ class Wizard extends LDAPUtility {
* @return WizardResult|false
*/
public function determineGroupMemberAssoc() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapGroupFilter',
- ])) {
- return false;
+ $reqs = ['ldapHost', 'ldapGroupFilter'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
+ return false;
}
$attribute = $this->detectGroupMemberAssoc();
if ($attribute === false) {
@@ -498,10 +504,11 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
public function determineGroupObjectClasses() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- ])) {
+ $reqs = ['ldapHost', 'ldapBase'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
return false;
}
$cr = $this->getConnection();
@@ -525,11 +532,12 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
public function determineUserObjectClasses() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- ])) {
- return false;
+ $reqs = ['ldapHost', 'ldapBase'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
+ return false;
}
$cr = $this->getConnection();
if (!$cr) {
@@ -555,10 +563,11 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
public function getGroupFilter() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- ])) {
+ $reqs = ['ldapHost', 'ldapBase'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
return false;
}
//make sure the use display name is set
@@ -579,10 +588,11 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
public function getUserListFilter() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- ])) {
+ $reqs = ['ldapHost', 'ldapBase'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
return false;
}
//make sure the use display name is set
@@ -605,11 +615,11 @@ class Wizard extends LDAPUtility {
* @throws \Exception
*/
public function getUserLoginFilter() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- 'ldapUserFilter',
- ])) {
+ $reqs = ['ldapHost', 'ldapBase', 'ldapUserFilter'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
return false;
}
@@ -626,12 +636,12 @@ class Wizard extends LDAPUtility {
* @return WizardResult|false
* @throws \Exception
*/
- public function testLoginName(string $loginName) {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- 'ldapBase',
- 'ldapLoginFilter',
- ])) {
+ public function testLoginName(string $loginName) {
+ $reqs = ['ldapHost', 'ldapBase', 'ldapUserFilter'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
return false;
}
@@ -717,9 +727,11 @@ class Wizard extends LDAPUtility {
* @return WizardResult|false WizardResult on success, false otherwise
*/
public function guessBaseDN() {
- if (!$this->checkRequirements(['ldapHost',
- 'ldapPort',
- ])) {
+ $reqs = ['ldapHost'];
+ if (!$this->configuration->usesLdapi()) {
+ $reqs[] = 'ldapPort';
+ }
+ if (!$this->checkRequirements($reqs)) {
return false;
}
@@ -1361,6 +1373,8 @@ class Wizard extends LDAPUtility {
$portSettings[] = ['port' => $port, 'tls' => true];
}
$portSettings[] = ['port' => $port, 'tls' => false];
+ } elseif ($this->configuration->usesLdapi()) {
+ $portSettings[] = ['port' => '', 'tls' => false];
}
//default ports
diff --git a/apps/user_ldap/tests/Jobs/CleanUpTest.php b/apps/user_ldap/tests/Jobs/CleanUpTest.php
index f70d65a6ea2..4dca6367706 100644
--- a/apps/user_ldap/tests/Jobs/CleanUpTest.php
+++ b/apps/user_ldap/tests/Jobs/CleanUpTest.php
@@ -29,6 +29,7 @@ use OCA\User_LDAP\Helper;
use OCA\User_LDAP\Jobs\CleanUp;
use OCA\User_LDAP\User\DeletedUsersIndex;
use OCA\User_LDAP\User_Proxy;
+use OCP\AppFramework\Utility\ITimeFactory;
use OCP\IConfig;
use OCP\IDBConnection;
use Test\TestCase;
@@ -42,7 +43,7 @@ class CleanUpTest extends TestCase {
public function setUp(): void {
$this->createMocks();
- $this->bgJob = new CleanUp($this->mocks['userBackend'], $this->mocks['deletedUsersIndex']);
+ $this->bgJob = new CleanUp($this->mocks['timeFactory'], $this->mocks['userBackend'], $this->mocks['deletedUsersIndex']);
$this->bgJob->setArguments($this->mocks);
}
@@ -53,6 +54,7 @@ class CleanUpTest extends TestCase {
$this->mocks['ocConfig'] = $this->createMock(IConfig::class);
$this->mocks['db'] = $this->createMock(IDBConnection::class);
$this->mocks['helper'] = $this->createMock(Helper::class);
+ $this->mocks['timeFactory'] = $this->createMock(ITimeFactory::class);
}
/**
diff --git a/apps/user_status/composer/autoload.php b/apps/user_status/composer/autoload.php
index a82d4105451..afd560d3ae9 100644
--- a/apps/user_status/composer/autoload.php
+++ b/apps/user_status/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/user_status/composer/composer/installed.php b/apps/user_status/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/user_status/composer/composer/installed.php
+++ b/apps/user_status/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/user_status/css/user-status-menu.css b/apps/user_status/css/user-status-menu.css
index 6bc3104dd7a..124c753128b 100644
--- a/apps/user_status/css/user-status-menu.css
+++ b/apps/user_status/css/user-status-menu.css
@@ -77,8 +77,7 @@
* @returns A background image with the url to the set to the requested icon.
*/
.icon-user-status {
- /* $dir is the app name, so we add this to the icon var to avoid conflicts between apps */
- background-image: var(--icon-app-dark);
+ background-image: url("../img/app.svg");
}
.icon-user-status-online {
diff --git a/apps/user_status/css/user-status-menu.css.map b/apps/user_status/css/user-status-menu.css.map
index 59bcbff6144..61ee5d7e261 100644
--- a/apps/user_status/css/user-status-menu.css.map
+++ b/apps/user_status/css/user-status-menu.css.map
@@ -1 +1 @@
-{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","user-status-menu.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD1BA;ACuCC;EAEA;;;ADrCD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA","file":"user-status-menu.css"} \ No newline at end of file
+{"version":3,"sourceRoot":"","sources":["../../../core/css/variables.scss","user-status-menu.scss","../../../core/css/functions.scss"],"names":[],"mappings":";AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;ACAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAsBA;AAAA;AAAA;AA4BA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AD1BA;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;;;AAGD;EACC;EACA","file":"user-status-menu.css"} \ No newline at end of file
diff --git a/apps/user_status/css/user-status-menu.scss b/apps/user_status/css/user-status-menu.scss
index 1a2066436f0..e6c0e3d2427 100644
--- a/apps/user_status/css/user-status-menu.scss
+++ b/apps/user_status/css/user-status-menu.scss
@@ -23,7 +23,7 @@
@import 'functions';
.icon-user-status {
- @include icon-color('app', 'user_status', variables.$color-black, 1);
+ background-image: url("../img/app.svg");
}
.icon-user-status-online {
diff --git a/apps/user_status/l10n/en_GB.js b/apps/user_status/l10n/en_GB.js
index 26c285a78f7..716f69cbbd7 100644
--- a/apps/user_status/l10n/en_GB.js
+++ b/apps/user_status/l10n/en_GB.js
@@ -1,23 +1,40 @@
OC.L10N.register(
"user_status",
{
+ "Recent statuses" : "Recent statuses",
+ "In a meeting" : "In a meeting",
+ "Commuting" : "Commuting",
+ "Out sick" : "Out sick",
+ "Vacationing" : "Vacationing",
+ "Working remotely" : "Working remotely",
+ "In a call" : "In a call",
+ "User status" : "User status",
+ "View profile" : "View profile",
+ "Clear status after" : "Clear status after",
"What is your status?" : "What is your status?",
"Set status" : "Set status",
"Online status" : "Online status",
"Status message" : "Status message",
"Clear status message" : "Clear status message",
"Set status message" : "Set status message",
+ "There was an error saving the status" : "There was an error saving the status",
+ "There was an error clearing the status" : "There was an error clearing the status",
+ "No recent status changes" : "No recent status changes",
"Away" : "Away",
"Do not disturb" : "Do not disturb",
+ "{status}, {timestamp}" : "{status}, {timestamp}",
"Don't clear" : "Don't clear",
"Today" : "Today",
"This week" : "This week",
"Online" : "Online",
"Invisible" : "Invisible",
"Offline" : "Offline",
+ "There was an error saving the new status" : "There was an error saving the new status",
"30 minutes" : "30 minutes",
"1 hour" : "1 hour",
"4 hours" : "4 hours",
+ "Mute all notifications" : "Mute all notifications",
+ "Appear offline" : "Appear offline",
"Clear status message after" : "Clear status message after"
},
"nplurals=2; plural=(n != 1);");
diff --git a/apps/user_status/l10n/en_GB.json b/apps/user_status/l10n/en_GB.json
index 355189331d9..765ed0b4fc4 100644
--- a/apps/user_status/l10n/en_GB.json
+++ b/apps/user_status/l10n/en_GB.json
@@ -1,21 +1,38 @@
{ "translations": {
+ "Recent statuses" : "Recent statuses",
+ "In a meeting" : "In a meeting",
+ "Commuting" : "Commuting",
+ "Out sick" : "Out sick",
+ "Vacationing" : "Vacationing",
+ "Working remotely" : "Working remotely",
+ "In a call" : "In a call",
+ "User status" : "User status",
+ "View profile" : "View profile",
+ "Clear status after" : "Clear status after",
"What is your status?" : "What is your status?",
"Set status" : "Set status",
"Online status" : "Online status",
"Status message" : "Status message",
"Clear status message" : "Clear status message",
"Set status message" : "Set status message",
+ "There was an error saving the status" : "There was an error saving the status",
+ "There was an error clearing the status" : "There was an error clearing the status",
+ "No recent status changes" : "No recent status changes",
"Away" : "Away",
"Do not disturb" : "Do not disturb",
+ "{status}, {timestamp}" : "{status}, {timestamp}",
"Don't clear" : "Don't clear",
"Today" : "Today",
"This week" : "This week",
"Online" : "Online",
"Invisible" : "Invisible",
"Offline" : "Offline",
+ "There was an error saving the new status" : "There was an error saving the new status",
"30 minutes" : "30 minutes",
"1 hour" : "1 hour",
"4 hours" : "4 hours",
+ "Mute all notifications" : "Mute all notifications",
+ "Appear offline" : "Appear offline",
"Clear status message after" : "Clear status message after"
},"pluralForm" :"nplurals=2; plural=(n != 1);"
} \ No newline at end of file
diff --git a/apps/user_status/src/components/OnlineStatusSelect.vue b/apps/user_status/src/components/OnlineStatusSelect.vue
index f920189fce1..52b6022fb44 100644
--- a/apps/user_status/src/components/OnlineStatusSelect.vue
+++ b/apps/user_status/src/components/OnlineStatusSelect.vue
@@ -125,6 +125,10 @@ $label-padding: 8px;
border-color: var(--color-primary);
}
+ &__label:active {
+ border-color: var(--color-border-dark);
+ }
+
&__subline {
display: block;
color: var(--color-text-lighter);
diff --git a/apps/user_status/src/components/PredefinedStatus.vue b/apps/user_status/src/components/PredefinedStatus.vue
index 4ab585493e6..bca94b41a76 100644
--- a/apps/user_status/src/components/PredefinedStatus.vue
+++ b/apps/user_status/src/components/PredefinedStatus.vue
@@ -89,6 +89,10 @@ export default {
background-color: var(--color-background-hover);
}
+ &:active{
+ background-color: var(--color-background-dark);
+ }
+
&__icon {
flex-basis: 40px;
text-align: center;
diff --git a/apps/user_status/src/components/SetStatusModal.vue b/apps/user_status/src/components/SetStatusModal.vue
index b04af52eefb..2d500464bff 100644
--- a/apps/user_status/src/components/SetStatusModal.vue
+++ b/apps/user_status/src/components/SetStatusModal.vue
@@ -26,7 +26,7 @@
<div class="set-status-modal">
<!-- Status selector -->
<div class="set-status-modal__header">
- <h3>{{ $t('user_status', 'Online status') }}</h3>
+ <h2>{{ $t('user_status', 'Online status') }}</h2>
</div>
<div class="set-status-modal__online-status">
<OnlineStatusSelect v-for="status in statuses"
@@ -38,7 +38,7 @@
<!-- Status message -->
<div class="set-status-modal__header">
- <h3>{{ $t('user_status', 'Status message') }}</h3>
+ <h2>{{ $t('user_status', 'Status message') }}</h2>
</div>
<div class="set-status-modal__custom-input">
<CustomMessageInput ref="customMessageInput"
@@ -234,12 +234,11 @@ export default {
&__header {
text-align: center;
font-weight: bold;
+ margin: 15px 0;
}
&__online-status {
display: grid;
- // Space between the two sections
- margin-bottom: 40px;
grid-template-columns: 1fr 1fr;
}
diff --git a/apps/weather_status/l10n/el.js b/apps/weather_status/l10n/el.js
index a9b84bedbeb..e84b93e55e2 100644
--- a/apps/weather_status/l10n/el.js
+++ b/apps/weather_status/l10n/el.js
@@ -8,7 +8,7 @@ OC.L10N.register(
"Weather status" : "Κατάσταση καιρού",
"Weather status in your dashboard" : "Κατάσταση καιρού στον πίνακα ελέγχου",
"Weather status integrated in the Dashboard app.\n User's position 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." : "Η κατάσταση του καιρού ενσωματώνεται στην εφαρμογή Πίνακας ελέγχου.\n Η θέση του χρήστη μπορεί να προσδιοριστεί αυτόματα ή να καθοριστεί χειροκίνητα. Στη συνέχεια εμφανίζεται μια πρόβλεψη 6 ωρών.\n Αυτή η κατάσταση μπορεί επίσης να ενσωματωθεί σε άλλα μέρη όπως στην εφαρμογή Ημερολόγιο.",
- "Detect location" : "Εντόπιση τοποθεσίας",
+ "Detect location" : "Εντοπισμός τοποθεσίας",
"Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης",
"Favorites" : "Αγαπημένα",
"{temperature} {unit} clear sky" : "{temperature} {unit} καθαρός ουρανός",
diff --git a/apps/weather_status/l10n/el.json b/apps/weather_status/l10n/el.json
index 4522f66d947..0a6b61c4aab 100644
--- a/apps/weather_status/l10n/el.json
+++ b/apps/weather_status/l10n/el.json
@@ -6,7 +6,7 @@
"Weather status" : "Κατάσταση καιρού",
"Weather status in your dashboard" : "Κατάσταση καιρού στον πίνακα ελέγχου",
"Weather status integrated in the Dashboard app.\n User's position 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." : "Η κατάσταση του καιρού ενσωματώνεται στην εφαρμογή Πίνακας ελέγχου.\n Η θέση του χρήστη μπορεί να προσδιοριστεί αυτόματα ή να καθοριστεί χειροκίνητα. Στη συνέχεια εμφανίζεται μια πρόβλεψη 6 ωρών.\n Αυτή η κατάσταση μπορεί επίσης να ενσωματωθεί σε άλλα μέρη όπως στην εφαρμογή Ημερολόγιο.",
- "Detect location" : "Εντόπιση τοποθεσίας",
+ "Detect location" : "Εντοπισμός τοποθεσίας",
"Set custom address" : "Ορισμός προσαρμοσμένης διεύθυνσης",
"Favorites" : "Αγαπημένα",
"{temperature} {unit} clear sky" : "{temperature} {unit} καθαρός ουρανός",
diff --git a/apps/weather_status/l10n/en_GB.js b/apps/weather_status/l10n/en_GB.js
new file mode 100644
index 00000000000..ff545b1776d
--- /dev/null
+++ b/apps/weather_status/l10n/en_GB.js
@@ -0,0 +1,62 @@
+OC.L10N.register(
+ "weather_status",
+ {
+ "Unknown address" : "Unknown address",
+ "No result." : "No result.",
+ "Malformed JSON data." : "Malformed JSON data.",
+ "Error" : "Error",
+ "Weather status" : "Weather status",
+ "Weather status in your dashboard" : "Weather status in your dashboard",
+ "Weather status integrated in the Dashboard app.\n User's position 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." : "Weather status integrated in the Dashboard app.\n User's position 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.",
+ "Detect location" : "Detect location",
+ "Set custom address" : "Set custom address",
+ "Favorites" : "Favourites",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} clear sky later today",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} clear sky",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} cloudy later today",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} cloudy",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} fair weather later today",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} fair weather",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} partly cloudy later today",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} partly cloudy",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} foggy later today",
+ "{temperature} {unit} foggy" : "{temperature} {unit} foggy",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} light rainfall later today",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} light rainfall",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} rainfall later today",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} rainfall",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} heavy rainfall later today",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} heavy rainfall",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rainfall showers later today",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} rainfall showers",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} light rainfall showers later today",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} light rainfall showers",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} heavy rainfall showers later today",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} heavy rainfall showers",
+ "More weather for {adr}" : "More weather for {adr}",
+ "Loading weather" : "Loading weather",
+ "Remove from favorites" : "Remove from favourites",
+ "Add as favorite" : "Add as favourite",
+ "You are not logged in." : "You are not logged in.",
+ "There was an error getting the weather status information." : "There was an error getting the weather status information.",
+ "No weather information found" : "No weather information found",
+ "Location not found" : "Location not found",
+ "There was an error setting the location address." : "There was an error setting the location address.",
+ "There was an error setting the location." : "There was an error setting the location.",
+ "There was an error saving the mode." : "There was an error saving the mode.",
+ "There was an error using personal address." : "There was an error using personal address.",
+ "Set location for weather" : "Set location for weather",
+ "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Clear sky at {time}",
+ "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Cloudy at {time}",
+ "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Fair day at {time}",
+ "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Fair night at {time}",
+ "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Partly cloudy at {time}",
+ "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Foggy at {time}",
+ "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Light rain at {time}",
+ "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Rain at {time}",
+ "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Heavy rain at {time}",
+ "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Rain showers at {time}",
+ "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Light rain showers at {time}",
+ "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Heavy rain showers at {time}"
+},
+"nplurals=2; plural=(n != 1);");
diff --git a/apps/weather_status/l10n/en_GB.json b/apps/weather_status/l10n/en_GB.json
new file mode 100644
index 00000000000..08a1f4c5f3a
--- /dev/null
+++ b/apps/weather_status/l10n/en_GB.json
@@ -0,0 +1,60 @@
+{ "translations": {
+ "Unknown address" : "Unknown address",
+ "No result." : "No result.",
+ "Malformed JSON data." : "Malformed JSON data.",
+ "Error" : "Error",
+ "Weather status" : "Weather status",
+ "Weather status in your dashboard" : "Weather status in your dashboard",
+ "Weather status integrated in the Dashboard app.\n User's position 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." : "Weather status integrated in the Dashboard app.\n User's position 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.",
+ "Detect location" : "Detect location",
+ "Set custom address" : "Set custom address",
+ "Favorites" : "Favourites",
+ "{temperature} {unit} clear sky later today" : "{temperature} {unit} clear sky later today",
+ "{temperature} {unit} clear sky" : "{temperature} {unit} clear sky",
+ "{temperature} {unit} cloudy later today" : "{temperature} {unit} cloudy later today",
+ "{temperature} {unit} cloudy" : "{temperature} {unit} cloudy",
+ "{temperature} {unit} fair weather later today" : "{temperature} {unit} fair weather later today",
+ "{temperature} {unit} fair weather" : "{temperature} {unit} fair weather",
+ "{temperature} {unit} partly cloudy later today" : "{temperature} {unit} partly cloudy later today",
+ "{temperature} {unit} partly cloudy" : "{temperature} {unit} partly cloudy",
+ "{temperature} {unit} foggy later today" : "{temperature} {unit} foggy later today",
+ "{temperature} {unit} foggy" : "{temperature} {unit} foggy",
+ "{temperature} {unit} light rainfall later today" : "{temperature} {unit} light rainfall later today",
+ "{temperature} {unit} light rainfall" : "{temperature} {unit} light rainfall",
+ "{temperature} {unit} rainfall later today" : "{temperature} {unit} rainfall later today",
+ "{temperature} {unit} rainfall" : "{temperature} {unit} rainfall",
+ "{temperature} {unit} heavy rainfall later today" : "{temperature} {unit} heavy rainfall later today",
+ "{temperature} {unit} heavy rainfall" : "{temperature} {unit} heavy rainfall",
+ "{temperature} {unit} rainfall showers later today" : "{temperature} {unit} rainfall showers later today",
+ "{temperature} {unit} rainfall showers" : "{temperature} {unit} rainfall showers",
+ "{temperature} {unit} light rainfall showers later today" : "{temperature} {unit} light rainfall showers later today",
+ "{temperature} {unit} light rainfall showers" : "{temperature} {unit} light rainfall showers",
+ "{temperature} {unit} heavy rainfall showers later today" : "{temperature} {unit} heavy rainfall showers later today",
+ "{temperature} {unit} heavy rainfall showers" : "{temperature} {unit} heavy rainfall showers",
+ "More weather for {adr}" : "More weather for {adr}",
+ "Loading weather" : "Loading weather",
+ "Remove from favorites" : "Remove from favourites",
+ "Add as favorite" : "Add as favourite",
+ "You are not logged in." : "You are not logged in.",
+ "There was an error getting the weather status information." : "There was an error getting the weather status information.",
+ "No weather information found" : "No weather information found",
+ "Location not found" : "Location not found",
+ "There was an error setting the location address." : "There was an error setting the location address.",
+ "There was an error setting the location." : "There was an error setting the location.",
+ "There was an error saving the mode." : "There was an error saving the mode.",
+ "There was an error using personal address." : "There was an error using personal address.",
+ "Set location for weather" : "Set location for weather",
+ "{temperature} {unit} Clear sky at {time}" : "{temperature} {unit} Clear sky at {time}",
+ "{temperature} {unit} Cloudy at {time}" : "{temperature} {unit} Cloudy at {time}",
+ "{temperature} {unit} Fair day at {time}" : "{temperature} {unit} Fair day at {time}",
+ "{temperature} {unit} Fair night at {time}" : "{temperature} {unit} Fair night at {time}",
+ "{temperature} {unit} Partly cloudy at {time}" : "{temperature} {unit} Partly cloudy at {time}",
+ "{temperature} {unit} Foggy at {time}" : "{temperature} {unit} Foggy at {time}",
+ "{temperature} {unit} Light rain at {time}" : "{temperature} {unit} Light rain at {time}",
+ "{temperature} {unit} Rain at {time}" : "{temperature} {unit} Rain at {time}",
+ "{temperature} {unit} Heavy rain at {time}" : "{temperature} {unit} Heavy rain at {time}",
+ "{temperature} {unit} Rain showers at {time}" : "{temperature} {unit} Rain showers at {time}",
+ "{temperature} {unit} Light rain showers at {time}" : "{temperature} {unit} Light rain showers at {time}",
+ "{temperature} {unit} Heavy rain showers at {time}" : "{temperature} {unit} Heavy rain showers at {time}"
+},"pluralForm" :"nplurals=2; plural=(n != 1);"
+} \ No newline at end of file
diff --git a/apps/workflowengine/composer/autoload.php b/apps/workflowengine/composer/autoload.php
index 74a2777acf2..30ca414ea55 100644
--- a/apps/workflowengine/composer/autoload.php
+++ b/apps/workflowengine/composer/autoload.php
@@ -3,8 +3,21 @@
// autoload.php @generated by Composer
if (PHP_VERSION_ID < 50600) {
- echo 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
- exit(1);
+ if (!headers_sent()) {
+ header('HTTP/1.1 500 Internal Server Error');
+ }
+ $err = 'Composer 2.3.0 dropped support for autoloading on PHP <5.6 and you are running '.PHP_VERSION.', please upgrade PHP or use Composer 2.2 LTS via "composer self-update --2.2". Aborting.'.PHP_EOL;
+ if (!ini_get('display_errors')) {
+ if (PHP_SAPI === 'cli' || PHP_SAPI === 'phpdbg') {
+ fwrite(STDERR, $err);
+ } elseif (!headers_sent()) {
+ echo $err;
+ }
+ }
+ trigger_error(
+ $err,
+ E_USER_ERROR
+ );
}
require_once __DIR__ . '/composer/autoload_real.php';
diff --git a/apps/workflowengine/composer/composer/installed.php b/apps/workflowengine/composer/composer/installed.php
index 5f83b3f2bff..10f4c04f799 100644
--- a/apps/workflowengine/composer/composer/installed.php
+++ b/apps/workflowengine/composer/composer/installed.php
@@ -3,7 +3,7 @@
'name' => '__root__',
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
@@ -13,7 +13,7 @@
'__root__' => array(
'pretty_version' => 'dev-master',
'version' => 'dev-master',
- 'reference' => '144514e49e25b7b123fd535902fee97fa39fb446',
+ 'reference' => 'f13629cf4a091f0d7307e4daed15eae31acf1134',
'type' => 'library',
'install_path' => __DIR__ . '/../',
'aliases' => array(),
diff --git a/apps/workflowengine/l10n/en_GB.js b/apps/workflowengine/l10n/en_GB.js
index 996980b1380..24807468973 100644
--- a/apps/workflowengine/l10n/en_GB.js
+++ b/apps/workflowengine/l10n/en_GB.js
@@ -13,24 +13,78 @@ OC.L10N.register(
"The given end time is invalid" : "The given end time is invalid",
"The given group does not exist" : "The given group does not exist",
"File" : "File",
+ "File created" : "File created",
+ "File updated" : "File updated",
+ "File renamed" : "File renamed",
+ "File deleted" : "File deleted",
+ "File accessed" : "File accessed",
+ "File copied" : "File copied",
+ "Tag assigned" : "Tag assigned",
+ "Someone" : "Someone",
+ "%s created %s" : "%s created %s",
+ "%s modified %s" : "%s modified %s",
+ "%s deleted %s" : "%s deleted %s",
+ "%s accessed %s" : "%s accessed %s",
+ "%s renamed %s" : "%s renamed %s",
+ "%s copied %s" : "%s copied %s",
+ "%s assigned %s to %s" : "%s assigned %s to %s",
"Operation #%s does not exist" : "Operation #%s does not exist",
+ "Entity %s does not exist" : "Entity %s does not exist",
+ "Entity %s is invalid" : "Entity %s is invalid",
+ "No events are chosen." : "No events are chosen.",
+ "Entity %s has no event %s" : "Entity %s has no event %s",
"Operation %s does not exist" : "Operation %s does not exist",
"Operation %s is invalid" : "Operation %s is invalid",
+ "At least one check needs to be provided" : "At least one check needs to be provided",
+ "The provided operation data is too long" : "The provided operation data is too long",
+ "Invalid check provided" : "Invalid check provided",
"Check %s does not exist" : "Check %s does not exist",
"Check %s is invalid" : "Check %s is invalid",
+ "Check %s is not allowed with this entity" : "Check %s is not allowed with this entity",
+ "The provided check value is too long" : "The provided check value is too long",
"Check #%s does not exist" : "Check #%s does not exist",
"Check %s is invalid or does not exist" : "Check %s is invalid or does not exist",
+ "Flow" : "Flow",
+ "Nextcloud workflow engine" : "Nextcloud workflow engine",
+ "Select a filter" : "Select a filter",
+ "Select a comparator" : "Select a comparator",
+ "Select a file type" : "Select a file type",
+ "e.g. httpd/unix-directory" : "e.g. httpd/unix-directory",
"Folder" : "Folder",
"Images" : "Images",
+ "Office documents" : "Office documents",
+ "PDF documents" : "PDF documents",
+ "Custom MIME type" : "Custom MIME type",
+ "Custom mimetype" : "Custom mimetype",
+ "Please enter a valid time span" : "Please enter a valid time span",
+ "Select a request URL" : "Select a request URL",
"Predefined URLs" : "Predefined URLs",
"Files WebDAV" : "Files WebDAV",
+ "Others" : "Others",
+ "Custom URL" : "Custom URL",
+ "Select a user agent" : "Select a user agent",
"Android client" : "Android client",
"iOS client" : "iOS client",
"Desktop client" : "Desktop client",
"Thunderbird & Outlook addons" : "Thunderbird & Outlook addons",
+ "Custom user agent" : "Custom user agent",
+ "At least one event must be selected" : "At least one event must be selected",
+ "Add new flow" : "Add new flow",
+ "When" : "When",
+ "and" : "and",
"Cancel" : "Cancel",
"Delete" : "Delete",
+ "The configuration is invalid" : "The configuration is invalid",
+ "Active" : "Active",
"Save" : "Save",
+ "Available flows" : "Available flows",
+ "For details on how to write your own flow, check out the development documentation." : "For details on how to write your own flow, check out the development documentation.",
+ "More flows" : "More flows",
+ "Browse the App Store" : "Browse the App Store",
+ "Show less" : "Show less",
+ "Show more" : "Show more",
+ "Configured flows" : "Configured flows",
+ "Your flows" : "Your flows",
"matches" : "matches",
"does not match" : "does not match",
"is" : "is",
@@ -58,6 +112,7 @@ OC.L10N.register(
"User group membership" : "User group membership",
"is member of" : "is member of",
"is not member of" : "is not member of",
+ "Select a tag" : "Select a tag",
"No results" : "No results",
"%s (invisible)" : "%s (invisible)",
"%s (restricted)" : "%s (restricted)"
diff --git a/apps/workflowengine/l10n/en_GB.json b/apps/workflowengine/l10n/en_GB.json
index ac92193fd0a..6ed0ed979c6 100644
--- a/apps/workflowengine/l10n/en_GB.json
+++ b/apps/workflowengine/l10n/en_GB.json
@@ -11,24 +11,78 @@
"The given end time is invalid" : "The given end time is invalid",
"The given group does not exist" : "The given group does not exist",
"File" : "File",
+ "File created" : "File created",
+ "File updated" : "File updated",
+ "File renamed" : "File renamed",
+ "File deleted" : "File deleted",
+ "File accessed" : "File accessed",
+ "File copied" : "File copied",
+ "Tag assigned" : "Tag assigned",
+ "Someone" : "Someone",
+ "%s created %s" : "%s created %s",
+ "%s modified %s" : "%s modified %s",
+ "%s deleted %s" : "%s deleted %s",
+ "%s accessed %s" : "%s accessed %s",
+ "%s renamed %s" : "%s renamed %s",
+ "%s copied %s" : "%s copied %s",
+ "%s assigned %s to %s" : "%s assigned %s to %s",
"Operation #%s does not exist" : "Operation #%s does not exist",
+ "Entity %s does not exist" : "Entity %s does not exist",
+ "Entity %s is invalid" : "Entity %s is invalid",
+ "No events are chosen." : "No events are chosen.",
+ "Entity %s has no event %s" : "Entity %s has no event %s",
"Operation %s does not exist" : "Operation %s does not exist",
"Operation %s is invalid" : "Operation %s is invalid",
+ "At least one check needs to be provided" : "At least one check needs to be provided",
+ "The provided operation data is too long" : "The provided operation data is too long",
+ "Invalid check provided" : "Invalid check provided",
"Check %s does not exist" : "Check %s does not exist",
"Check %s is invalid" : "Check %s is invalid",
+ "Check %s is not allowed with this entity" : "Check %s is not allowed with this entity",
+ "The provided check value is too long" : "The provided check value is too long",
"Check #%s does not exist" : "Check #%s does not exist",
"Check %s is invalid or does not exist" : "Check %s is invalid or does not exist",
+ "Flow" : "Flow",
+ "Nextcloud workflow engine" : "Nextcloud workflow engine",
+ "Select a filter" : "Select a filter",
+ "Select a comparator" : "Select a comparator",
+ "Select a file type" : "Select a file type",
+ "e.g. httpd/unix-directory" : "e.g. httpd/unix-directory",
"Folder" : "Folder",
"Images" : "Images",
+ "Office documents" : "Office documents",
+ "PDF documents" : "PDF documents",
+ "Custom MIME type" : "Custom MIME type",
+ "Custom mimetype" : "Custom mimetype",
+ "Please enter a valid time span" : "Please enter a valid time span",
+ "Select a request URL" : "Select a request URL",
"Predefined URLs" : "Predefined URLs",
"Files WebDAV" : "Files WebDAV",
+ "Others" : "Others",
+ "Custom URL" : "Custom URL",
+ "Select a user agent" : "Select a user agent",
"Android client" : "Android client",
"iOS client" : "iOS client",
"Desktop client" : "Desktop client",
"Thunderbird & Outlook addons" : "Thunderbird & Outlook addons",
+ "Custom user agent" : "Custom user agent",
+ "At least one event must be selected" : "At least one event must be selected",
+ "Add new flow" : "Add new flow",
+ "When" : "When",
+ "and" : "and",
"Cancel" : "Cancel",
"Delete" : "Delete",
+ "The configuration is invalid" : "The configuration is invalid",
+ "Active" : "Active",
"Save" : "Save",
+ "Available flows" : "Available flows",
+ "For details on how to write your own flow, check out the development documentation." : "For details on how to write your own flow, check out the development documentation.",
+ "More flows" : "More flows",
+ "Browse the App Store" : "Browse the App Store",
+ "Show less" : "Show less",
+ "Show more" : "Show more",
+ "Configured flows" : "Configured flows",
+ "Your flows" : "Your flows",
"matches" : "matches",
"does not match" : "does not match",
"is" : "is",
@@ -56,6 +110,7 @@
"User group membership" : "User group membership",
"is member of" : "is member of",
"is not member of" : "is not member of",
+ "Select a tag" : "Select a tag",
"No results" : "No results",
"%s (invisible)" : "%s (invisible)",
"%s (restricted)" : "%s (restricted)"
diff --git a/apps/workflowengine/l10n/fr.js b/apps/workflowengine/l10n/fr.js
index 93b0d857b2b..edd9323103a 100644
--- a/apps/workflowengine/l10n/fr.js
+++ b/apps/workflowengine/l10n/fr.js
@@ -91,7 +91,7 @@ OC.L10N.register(
"is not" : "n'est pas",
"File name" : "Nom du fichier",
"File MIME type" : "Type MIME du fichier",
- "File size (upload)" : "Taille du fichier ( à télécharger )",
+ "File size (upload)" : "Taille du fichier (à téléverser)",
"less" : "moins",
"less or equals" : "inférieur ou égal",
"greater or equals" : "supérieur ou égal",
diff --git a/apps/workflowengine/l10n/fr.json b/apps/workflowengine/l10n/fr.json
index bce209f3efa..1aca8aed318 100644
--- a/apps/workflowengine/l10n/fr.json
+++ b/apps/workflowengine/l10n/fr.json
@@ -89,7 +89,7 @@
"is not" : "n'est pas",
"File name" : "Nom du fichier",
"File MIME type" : "Type MIME du fichier",
- "File size (upload)" : "Taille du fichier ( à télécharger )",
+ "File size (upload)" : "Taille du fichier (à téléverser)",
"less" : "moins",
"less or equals" : "inférieur ou égal",
"greater or equals" : "supérieur ou égal",
diff --git a/apps/workflowengine/l10n/pt_PT.js b/apps/workflowengine/l10n/pt_PT.js
index 05cdc4c93fc..31f3a639b86 100644
--- a/apps/workflowengine/l10n/pt_PT.js
+++ b/apps/workflowengine/l10n/pt_PT.js
@@ -33,6 +33,7 @@ OC.L10N.register(
"Entity %s is invalid" : "Entidade %s é inválida",
"No events are chosen." : "Não são escolhidos eventos.",
"Entity %s has no event %s" : "Entidade %s não tem evento %s",
+ "Check %s is invalid or does not exist" : "Verifique%sé inválido ou não existe",
"Flow" : "Fluxo",
"Nextcloud workflow engine" : "Motor de fluxo de trabalho da Nextcloud",
"Select a filter" : "Selecionar um filtro",
@@ -60,9 +61,20 @@ OC.L10N.register(
"greater or equals" : "maior ou igual",
"greater" : "maior",
"Request remote address" : "Solicitar endereço remoto",
+ "matches IPv4" : "corresponde a IPv4",
+ "does not match IPv4" : "não corresponde a IPv4",
+ "matches IPv6" : "corresponde a IPv6",
+ "does not match IPv6" : "não corresponde a IPv6",
+ "File system tag" : "Etiqueta do sistema de ficheiros",
+ "is tagged with" : "tem a etiqueta",
+ "is not tagged with" : "não tem a etiqueta",
"Request URL" : "Solicitar URL",
+ "Request time" : "Tempo do pedido",
"between" : "entre",
+ "not between" : "fora de",
"Request user agent" : "Solicitar agente de utilizador",
+ "is member of" : "é membro de",
+ "is not member of" : "não é um membro de",
"No results" : "Sem resultados",
"%s (invisible)" : "%s (invisível)",
"%s (restricted)" : "%s (limitado)"
diff --git a/apps/workflowengine/l10n/pt_PT.json b/apps/workflowengine/l10n/pt_PT.json
index 448ad746923..fff173f217a 100644
--- a/apps/workflowengine/l10n/pt_PT.json
+++ b/apps/workflowengine/l10n/pt_PT.json
@@ -31,6 +31,7 @@
"Entity %s is invalid" : "Entidade %s é inválida",
"No events are chosen." : "Não são escolhidos eventos.",
"Entity %s has no event %s" : "Entidade %s não tem evento %s",
+ "Check %s is invalid or does not exist" : "Verifique%sé inválido ou não existe",
"Flow" : "Fluxo",
"Nextcloud workflow engine" : "Motor de fluxo de trabalho da Nextcloud",
"Select a filter" : "Selecionar um filtro",
@@ -58,9 +59,20 @@
"greater or equals" : "maior ou igual",
"greater" : "maior",
"Request remote address" : "Solicitar endereço remoto",
+ "matches IPv4" : "corresponde a IPv4",
+ "does not match IPv4" : "não corresponde a IPv4",
+ "matches IPv6" : "corresponde a IPv6",
+ "does not match IPv6" : "não corresponde a IPv6",
+ "File system tag" : "Etiqueta do sistema de ficheiros",
+ "is tagged with" : "tem a etiqueta",
+ "is not tagged with" : "não tem a etiqueta",
"Request URL" : "Solicitar URL",
+ "Request time" : "Tempo do pedido",
"between" : "entre",
+ "not between" : "fora de",
"Request user agent" : "Solicitar agente de utilizador",
+ "is member of" : "é membro de",
+ "is not member of" : "não é um membro de",
"No results" : "Sem resultados",
"%s (invisible)" : "%s (invisível)",
"%s (restricted)" : "%s (limitado)"
diff --git a/apps/workflowengine/l10n/ru.js b/apps/workflowengine/l10n/ru.js
index 539e6da85d7..b17ad3904be 100644
--- a/apps/workflowengine/l10n/ru.js
+++ b/apps/workflowengine/l10n/ru.js
@@ -54,6 +54,7 @@ OC.L10N.register(
"Images" : "Изображения",
"Office documents" : "Офисные документы",
"PDF documents" : "PDF документы",
+ "Custom MIME type" : "Пользовательский тип MIME",
"Custom mimetype" : "Пользовательский тип mime",
"Please enter a valid time span" : "Введите верный диапазон",
"Select a request URL" : "Выберите URL запроса",
diff --git a/apps/workflowengine/l10n/ru.json b/apps/workflowengine/l10n/ru.json
index 014bb81392b..e26a0608cca 100644
--- a/apps/workflowengine/l10n/ru.json
+++ b/apps/workflowengine/l10n/ru.json
@@ -52,6 +52,7 @@
"Images" : "Изображения",
"Office documents" : "Офисные документы",
"PDF documents" : "PDF документы",
+ "Custom MIME type" : "Пользовательский тип MIME",
"Custom mimetype" : "Пользовательский тип mime",
"Please enter a valid time span" : "Введите верный диапазон",
"Select a request URL" : "Выберите URL запроса",
diff --git a/apps/workflowengine/lib/BackgroundJobs/Rotate.php b/apps/workflowengine/lib/BackgroundJobs/Rotate.php
index e96af4fd9e1..ee83f4821f1 100644
--- a/apps/workflowengine/lib/BackgroundJobs/Rotate.php
+++ b/apps/workflowengine/lib/BackgroundJobs/Rotate.php
@@ -23,14 +23,16 @@
*/
namespace OCA\WorkflowEngine\BackgroundJobs;
-use OC\BackgroundJob\TimedJob;
+use OCP\AppFramework\Utility\ITimeFactory;
+use OCP\BackgroundJob\TimedJob;
use OCA\WorkflowEngine\AppInfo\Application;
use OCP\Log\RotationTrait;
class Rotate extends TimedJob {
use RotationTrait;
- public function __construct() {
+ public function __construct(ITimeFactory $time) {
+ parent::__construct($time);
$this->setInterval(60 * 60 * 3);
}